Применение FPGA в Украине уходит в прошлое

Вы думаете почему в поисковиках DOU.ua, ua.JOOBLE.org, work.ua нет даже классификации профессии FPGA Designer, HDL Developer? В Европе, США вакансии пестрят предложениями. Явно заметно, что есть кадровый голод на профи в этом ремесле. У нас, в Украине, идет обратный процесс. Еще 5 лет назад с вакансиями была иная картина.

Я не беру в рассмотрение технологическую отсталость производства многослойных печатных плат, монтажа BGA-корпусов и дороговизну. Это решаемо. Общепризнанно главное преимущество FPGA в их врожденной способности подлинно параллельной работы в проблемно-ориентированных системах. Предельная гибкость построения архитектур, способность менять на ходу разные варианты для решения технических задач, а так же вести сквозное проектирование из модели МатЛаб в «железо». В руках опытного математика появилась фантастическая возможность, о которой еще недавно не могли мечтать теоретики. Твори!

Многочисленные в Украине НИИ, в каждом из которых при СССР были опытные производства (ОП), ориентированные на специфику профильного учреждения, теперь, без ОП. И, как следствие,- медленно деградировали без практики. Сама наука в итоге уходит от практического воплощения в область теоретизирования. Наблюдается определенный рост вынужденной изобретательской активности. Понятно, что без практики такой порядок дел долго продлиться не может.

Сам факт того, что рост производительности микроконтроллеров существенно вырос (и это на фоне увядания науки и засилья мелкотемья работ в науке и бизнесе), дало реальный шанс решать задачи не на параллельных FPGA а на более дешевых микроконтроллерах. А что же сами FPGA? Дух захватывает от нынешних возможностей FPGA. Миллиардные размеры по числу ячеек и тактовые частоты в 1ГГц, сверхскоростные порты связи (до 64 Гбит\сек) и многоядерные процессоры в 64 разряда с приличной памятью... Возникает простой вопрос, — какие потребности надо выявить в практической деятельности, чтобы четко выделить необходимость именно FPGA, а не микроконтроллера? Причем тонкость проектирования, сам технологический цикл работы с FPGA имеет более длительный процесс, поскольку теперь акцент переносится с создания архитектуры и её модельной верификации в сторону тотального тестирования на «железе». Как следствие, разрешение неопределённостей при оптимизации архитектуры в диалоге с Fitter и временным анализатором ставит ремесло в ранг искусства. Нет таких дерзких проектов! Где те академики, где бизнесмены, что готовы ждать отдачи от смелых трат ради высокой цели? И есть ли она? И как высока?...

Не сложно заметить милитаристическую или научную направленность технологии FPGA. Далее наблюдаем вариант применения FPGA в прототипировании элементов с дальнейшим выпуском ASIC. Это выгодно при дальнейшем массовом выпуске продуктов.(А в Украине ли?) Бросается в глаза, что специалисты теперь работают с зарубежными заказчиками и этот факт заставлял тревожится коллег которые со временем, кто помоложе, выехали из страны.

Некоторой отдушиной был прорыв применения FPGA в построении нейронных сетей для создания AI. Сразу стало понятно, что реализация нелинейных функций активации в линейной парадигме, довольно затратно. А с другой стороны,- не понимание возможностей математического трюка в построении RNN у стратегов-аналитиков, определяющих ТЗ проекта, недоверие к смелым решениям. Это тоже сделало своё дело. Надежды иссякают быть на гребне прогресса...

В итоге получается простой вывод,- нас, кто имеет опыт работы с ПЛИС, мало. И теперь предстоит делать выбор,- либо ехать для работы за кордон, либо сознательно перепрофилироваться в программисты микроконтроллеров под еще большую примитивизацию текущих задач. Тенденция, однако!..

Инженер-программист Авдеев Александр Николаевич
26.11.2019г

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Коментар порушує правила спільноти і видалений модераторами.

Я раскрываю крылья!... У меня получилось (уже не однократно!) переводить модели Simulink в HDL-реализацию!!! Это открывает колоссальные возможности для работы. И тут мой опыт бесценен, когда на выходе получаю экономную по ресурсам систему благодаря интерактивной возможности "срезать жирок"(экономия больше чем в 2 раза!) на этапе поведения математической модели. Единственно что огорчило. И это я увидел несколько раз. Такой переход имеет ошибку в 1 разряд. Но меня это, естественно, не остановило, ведь я легко могу локализовать место проблемы уже в HDL. Сложности неизбежны для систем с обратными связями (пол-дня дополнительной работы).. И теперь я понимаю, что для меня теперь НЕТ барьера в разговоре с математиком-теоретиком !!!

Коментар порушує правила спільноти і видалений модераторами.

Область FPGA очень ограничена, в основном военной сферой, поэтому плисоводы как правило осваивают смежные области: схемотехнику и проектирование плат \ embedded Linux\ математические алгоритмы и др.

Да я бы не сказал, что ограничена... Полно мест, где их уместно ставить. И не только в милитари. Проблема в непонимании их возможностей! Я в них вошел как раз из цифровой схемотехники и программирования микроконтроллеров. Проектирование п\п вообще сопутствующее... и как отдельная область мной не выделяется. Ремесло. Вот Сквозное проектирование из MatLab действительно требует знаний математики и там стоит задержаться, чтобы укрепиться в профессионализме в FPGA, тем более этот инструментарий бурно развивается.

Сразу говорю, что будет работать быстрее, но энергию будет жрать офигительно (как у всех FPGA). Теперь о языке. ML формализует алгоритм с неким NN(точно параллельная структура!). Язык для описания истинно параллельных архитектур явно ущербен и тут надо будет перевести алгоритм в некий автомат с предельным распараллеливанием, недостижимый привычным вычислителям. Примерно на тактовой частоте 150МГц займет примерно 150нС (половина времени уйдет на обсчет сигмоиды). Точное время можно назвать после оценки полученной действующей модели, например в Матлабе.

Представьте , что только FPGA может решить напряженную задачу. Единственное решение!

Я как раз об этом и писал, что свирепствует мелкотемье. Безденежье лишает фантазии, да и стимула владеть знаниями....

Материальное давлеет над мечтой технаря. Культ карго просто раздражает! Мой возраст дает мне покой убеждать в достижении гармонии в создаваемых системах. Когда убеждаешь примерами реализаций, наглядность обычно вознаграждается, если менеджеры не мешают.

«Жизнь нам диктует свои суровые законы» О.Бендер

Вчера был сильно впечатлен тем, что мне не удалось скачать версию 2019.1 Xilinx Vivado Design Sute. Мне нужен был всего лишь WebPack... Торговая палата США блокирует такую возможность, если ты не связан с крупными проектными организациями. Раньше такого не было!
Это поведение лидера отрасли объяснимо. Слияние Интела с Альтерой отбросила их назад от основного конкурента Xilinx и теперь последняя начинает выжимать с рынка свое явное преимущество. Монополизм это плохо! Когда они были примерно равны,- были более покладисты с разработчиками. Помню ежегодное снижение цены на свой инструментарий перед новым годом. Чем в СНГ и пользовались. Думаю в этом году такого не будет!

Это достаточно давно. Xilinx закрыт для Украины. Ищите посредников не с Украины и будете счастливы.

Купил на aliexpress Lichee Tang FPGA, 20K (LUT4/LUT5), $17. Soft Anlogic TD бесплатно. Рекомендую. Все работает нормально.

Тоже столкнулся с этим на днях. Написал письмо на [email protected], попросили указать что-то внятное в графе «компания» — написал название университета (я студент), после повторного рассмотрения получил доступ на скачивание.

ПЛИСы усложнились. Как пример, Zynq/Cyclone V с ОС на борту. Раньше на ПЛИС делалась «glue logic». Сейчас от ПЛИС инженера уже больше требуется, — интегрировать IP блоки с on-chip ARM процессором и поднять Linux. Все смещается в сторону программирования.

Если имеете хороший опыт, у Вас есть еще один выбор — построить свою компанию.

чіво?
ІР блоки вимагалося інтегрувати ще 12 років тому, коли я вперше зіткнувся з
ФПГА

Excalibur от Альтеры родился в 2001г. То был первый интегрированный ARM на FPGA.. Не все IP получили такое благословение и разработчик по необходимости выбирает любой из палитры (а они не дешевы!). В случае острой экономии денег дизайнер пишет свою IP сам. Это распространено.

Вам в Cisco или Juniper с такими пристрастиями. Или к производителям систем хранения данных на основе больших массивов SSD. Наподобие Violin.

Кстати, в Украине есть Ubiqity, производитель тоже довольно качественных сетевых железок. И есть Samsung R&D. У этих ребят 100500-пудово имеются подобные вакансии.

Ubiqity

Це вони Unifi роблять? Цих людей потрібно розстріляти...

Amazon, Microsoft, IBM пропонують FPGA прискорювачі в хмарних сервісах:

aws.amazon.com/ec2/instance-types/f1
aws.amazon.com/...​marketplace/pp/B06VVYBLZZ
github.com/aws/aws-fpga

docs.microsoft.com/...​o-deploy-fpga-web-service
www.zurich.ibm.com/cci/cloudFPGA
www.intel.com/...​rogrammable/overview.html

— можна реалізувати досвід в таких сервісах. Інфраструктура створена, при потребі — масштабується :)

Раз тут вже скільки шарящих людей зібралось, може мені хтось підскаже. Китайці вже навчились читати прошивку з STM32F4xx мікроконтроллерів з read-out protection level 1?

Як на мене, в країнах Третього Світу власні розробки (зазвичай) мають місце або коли уряд іде «своїм шляхом» або є унікальні природні умови. На щастя, перше не про нас, хоча держава в смартфоні і маячить на горизонті. По другому — хіба що Чорнобиль.

Что же касается нейронных сетей — давно пора признать если не тупиковость этого пути, то по крайней мере ограниченность. В том смысле, что сама попытка заставить железяку думать человеческими алгоритмами упирается в простой факт — железо устроено сильно иначе, и потому не предназначено для нестабильных вычислений. А попытка сделать саморазвивающуюся железяку неизменно приведёт к факту боеспособности этой единицы, и это далеко не фантастика. Фантастикой будет думать, что это будет какой-нить терминатор, а не тупой вирус, согласованно обрушивающий, скажем, финансовые рынки через создание паники.

Могу сказать неизбежный этап: сначала придётся научить железо человеческому языку, английскому например. Вне языковых шаблонов программировать нейронку затратно.

Однако, прежде чем писать «полевую» электронику, логично что сначала нужны программные модели. В частности, доказывающие эффективность именно параллельной полевой электроники. Либо... неограниченный ресурс по доступной вычислительной мощности, когда эти самые полевые модели открыты для экспериментального тестирования, и доступны не только «сертифицированным специалистам».

Программирование нейронок в принципе это искусство. Ему нельзя научить как арифметике, невозможно сказать «иди и учись», потому что львиная доля этого обучения заканчивается ничем. Это сравнимо с одиночным скалолазанием, когда у тебя тупо нет промежуточных этапов, и если не получится — то уже не получится, и никто не подстрахует. А тут ещё и на элементной базе, которая ранее использовалась только для ооочень примитивных по сути задач. ИЧСХ, финансовый успех на этом поприще невозможен, выгоду получат те, кто использует уже развитую технологию. А это наверняка будут копирасты какой-нибудь сильно богатой структуры.

Если кратко — забей. Может это кому-то и нужно, но пусть этим Маск занимается.

Причому тут нейромережі до людських алгоритмів? В класичних нейромережах принципи роботи кардинально відрізняються від людських. Звичайно, існують декілька проектів, які намагаються відтворити процеси в мозку живих організмів, але вони на початковому етапі.

Нейромережі намагаються змусити працювати не стільки на штучних нейронах, скільки надати їм міфічної логічності. А нативні процеси не логічні. Вони конкурентно-асоціативні із досить активними і довгими циклами обслуговування в процесі роботи.

Тому поняття нейромережі вже досить умовне. Мова йде про навчання комп′ютера адоптуватися за умови браку даних, занадто великих даних, чи частково невірних даних.

Люди адаптуватися не можуть, а він тут говорить...

Тем и отличаются технари от обычных людей, что они в вечной адаптации!..

Нет. там тупое перемножение, сложение и вычитание матриц и простейшая нелинейность. Всё.

Ну выделение features — это искусство. У нас препод в универе двоечникам давал писать курсовики на тему исследования статистического влияния лунного света на рост телефонных проводов. Так что неправильно выбранные features могут оказывать влияние как лунный свет.

Для качественного проектирования не стоит пропускать этап контроля непротиворечивости данных для обучения(DataSet). Факторный анализ (выявление наличия фич) может определить и лунный свет как важный! %)

Только результат говно. Потому что энтропия легко становится самоцелью.

Мне больше нравятся рекуррентные! Там есть фактор времени...
Это трюк открывает возможность выйти за рамки ограниченной линейной парадигмы и превзойти традиционные регуляторы, сделав их нейро-регуляторами, для которых задача предшественников становится только как основой создания DataSet, в дальнейшем увеличивая размерность пространства управляющих факторов.

Я технарь и не замахиваюсь на монстров CNN. Размерность задач для нейрорегуляторов вполне впихуемо для RNN. Скажу, что последняя встреча в клубе AI aikharkov.wordpress.com/...​21/ai-kharkov-27/#respond подтверждает вашу мысль, что лидерство RNN (а не CNN!!!) нарушено (к печали докладчика Богдана Колчигина). Жаль, что до сих пор не выложили материалы!

Не стоит процесс обучения (само!) возлагать на FPGA. Это делается на внешних машинах. Единственно, что следует предусмотреть,- обеспечить документирование данных для развития DataSet математиками. Вот полученный результат уже загружается в FPGA!.. И так далее итерационно...

Тю... Ресурса на основное не хватает!

Если вы хотите продолжить общение,-вам не следует так себя вести...
Я не обидчив, поскольку это касается не только нас с вами!
Только что было заявлено, что на FPGA нельзя построить приемлемую сеть(основная задача). А вы убеждаете, что туда влезет и обратная задача(с выхода на вход!) обучения... Блин!.. Что тут не понятного? Я исключаю размещение в архитектуре САМООБУЧЕНИЕ

То, что это можно делать меня убеждать не стоит. Это в природе FPGA. НА ЭТО НЕОБХОДИМ РЕСУРС!!! Он ограничен. Основное применение — принятие решения уже обученной сети

Вы теоретик... В чистом поле НЕТ гугла и дата-центров. Есть объект управления и нейрорегулятор. ВСЕ!

Я о завершенной технически задаче,- проблемно-ориентированной системе искусственного интеллекта например в С\Х, которая УЖЕ обучена и ей нужен только оператор и источник питания %)

Радует, что это видят более образованные коллеги

Понятно. Ниочем.

Наверное, о том, что FPGA имеют преимущество перед графическими акселераторами в алгоритмах тренировки нейросетей и их инференции. Но на практике используются даже не FPGA, а сразу полностью изготовленные промышленностью специализированные чипы. Вот вам выдержка из выступления Andrey Karpathy:

www.youtube.com/...​tch?v=oBklltKXtDE&t=8m42s

Compared to the GPUs we were using before we introduced that chip, this is roughly an order of magnitude improvement with a lower cost...

FPGA ещё имеет смысл применять на этапе прототипирования, но с появлением нормальных инструментов разработки электроники (симуляторов, фиттеров, или как их там называют), их ценность уменьшится. А с появлением нанофабрик, которые смогут дешёво производить электронику хоть по-штучно, хоть большой серией, необходимости в FPGA не будет. Не, ну если не считать настоящие нейроморфные и подобные чипы... 1 кубический сантиметр сделанный с атомарной точностью в нанофабрике может содержать 1 миллиард вычислительных ядер или 10 экзабайт (миллиардов гигабайт) памяти. Тут уже и до mind uploading недалеко.

FPGA не нужны

Как механическая машина Бэбиджа. Мало кто использует механические компьютеры сейчас, но у этой идеи есть и (теоретическое) продолжение в виде молекулярных механических компьютеров.

Вас тоже несет в гигантоманию CNN...
...Я о простых RNN сетях для регулятора. Такие оглушительные возможности редко нужны, да и удорожание будет соответствующим. Оттуда может понадобится 20% ресурса.
Рынок давно предоставляет пользователям такие преблуды.
Но мысль проста,- математику хочется свободы творчества, а NN это частный случай в трюкачестве. Индустрия все равно не покроет рынок ВСЕМИ модными капризами. И это хорошо.

3й доклад на встрече aikharkov.wordpress.com о нейро-бармене вас бы впечатлил. Он как раз базировался на специализированных чипах..

тупейший и простейший алгоритм

Что скажете насчёт обучаемого автомата Мили?

Training data stream запоминается в виде нормальных форм выходной фунции и функции перехода между состояниями автомата. Далее, они оптимизируются (сжимаются с потерями) в некие обобщённые формы, которые и используются в инференции. Главное, хороший оптимизатор придумать.

Преимущества такого алгоритма перед Neural Networks в том, что процесс «забывания» более контролируем. Ну, это наверное. У меня его работающего на компьютере нет : )

Э, блин... Есть тут кто из Калифорнии? Нужно съездить к Илону с предложением. ГАЛАКТИКА В ОПАСНОСТЕ!

Не всё то что с лэйбочкой «нейронка» есть искусство. А люди и не умны. В абсолютном большинстве задач их заменили настолько, что они по сути... лишние.

Проблема ж не в выборе из примитивных алгоритмов, равно как и не самых примитивных. Проблема в мотивации. Не-мотивированной сети ты должен программировать каждый шаг. От мотивированной — ты не знаешь, чего ожидать. Например, она может «хакнуть» мотивацию и положить болт на задачи, по принципу «а что, так можно было?»

Для подобных задач нужна не столь вычислительная мощность, сколько психическое расстройство маниакального пошиба, без лишних осложнений. Потому что чего бы там не говорили экономисты, но прогресс вперёд двигают маньяки, способные идти к цели только потому, что им нравится сам процесс, а не потому, что их кто-то мотивирует. И вот когда полноценная нейросеть (не путать с модельками), черпающая мотив от самого процесса развития, получит свободу — будет задницей. Пока же, как и с людьми, побеждает элементарнейшая лень.

Даже за алгоритмически примитивными алгоритмами ты наверняка замечал, насколько они ленивы. Просто дают результат, какой сами захотят, просто потому что и так сойдёт. И по сути за них разработчик вынужден думать. Так что не стоит верить в их лэйбочку «нейросети», просто ошибочное название. По сути-то обычные шаблонизаторы. Видеть то, чего нет, они пока не умеют.

Усвойте пожалуйста, что к методам AI прибегают в случаях, когда ваша задача ПЛОХО ФОРМАЛИЗУЕТСЯ! По сути это ЕДИНСТВЕННЫЙ способ добиться на ~96% адекватного результата... Критерий выбирать вам (какой %).

Я сторонник рекуррентных, потому как это ближе к системам управления. А вот мысль об использовании NN в классически линейных областях, где есть формализация, отработанная десятилетиями,- не нова. Так уже делают и получают приемлемый результат за меньшее время. Пугает только 2% ошибок

Да, я в курсе идеи... Возни много. Слава Богу в новых версиях MatLab (с 18.2) уже есть библиотеки на LSTM. Это еще более крутой(глубокий, а не простых Элмана или Хопфилда) уровень

Если задача плохо формализуется, ей никакой AI не поможет. Только карты Таро.

Гигант!.. Может когда и осознаете свою глупость. Или кто сможет объяснить. Я иссяк!

Львиная доля задачи формализации сводится к предсказанию или жёсткой формулировке: а что вообще является информацией, а что фильтровать. Ну не умеют пока железки читать реальный мир самостоятельно. Даже текстовую информацию, хотя казалось бы, куда уж статистически предсказуемей.

Чтобы отделять мёд от дёгтя, нужно таки немало попотеть над критериями отбора и забраковки, и всё равно система сдохнет как только ей нальют ослиной мочи.

Я понял, как вам объяснить!.. Представьте карты Карно ru.wikipedia.org/wiki/Карта_Карно , но в N-мерном не линейном пространстве! Есть тут аналогия! Собственно само обучение и есть поиск оптимальной поверхности (N-й размерности) для сжатия информации о ВСЕХ возможных комбинациях на входах и их соответствия выходам. Это математический трюк. Ву-аля! И тупика нет!

Если бы всё было так просто, я был бы Рокфеллером.
Но как вы сами заметили, НЕТ таких задач, по крайней мере нет тех, кто готов инвестировать в изучение экономических перспектив подобных проектов через вложение своих кровных в аппаратные средства.

Тупик именно здесь — в упрощении проекта аж настолько, чтобы инвестор мог оценить его ожидания и риски. И столько раз нужно проводить деградацию, аж пока риск-модель не покажет перспективность подхода.

IMHO пока пика ещё нет, и даже не наметился. Есть небольшой хайп, а он известно чем заканчивается. Без долгосрочных инвестиций ничего не взлетит, даже надежды нет. Глупо рассчитывать получить отдачу от ИИ проекта через полгода после вложений. И даже через год. И даже через 5 лет нет шанса вернуть вложенное — только путём исключения краткосрочных ROI-моделей можно чего-то добиться в плане. А для этого нужно понимать, ЧТО останется в итоге, когда закончатся все деньги.

Посему ИИ, как и львиная доля научной деятельности — удел энтузиастов. Они вкладывают не деньги, но ВРЕМЯ, понимая что этот ресурс безвозвратен по своей природе. И рассчитывая получить конкретный результат, а не деньги, и только получив — уже решают за сколько продать, кому продать, сколько инвестировать в ЗАЩИТУ актива...

Хм.. Это вы называете просто?.. Вы хоть знаете объёмы DataSet? Обучение — самая рутинная часть работы(к тому же с итерационным подбором самой архитектуры)! Это и есть то самое мелкотемье, что сдерживает прогресс.Согласен с вами, что финансисты не любят риски и особенно ЖДАТЬ.

Что же касается нейронных сетей — давно пора признать если не тупиковость этого пути, то по крайней мере ограниченность.

Ограниченность нейросетей в ограниченности окна решения. Нейросеть архитектурно нельзя научить принимать решения по данным разной размерности. Но можно обойти проблему через такую штуку как локус внимания (точнее она так и обходится). Это когда у нас несколько сетей, которые принимают частичные решения, а далее в самых значимых областях (локус внимания) уже работают другие сети с другой размерностью. Тоесть пирамидальная структура распознавания как в CNN.

Проще говоря, заставить воевать друг с другом. А потом удивляться, когда ситуёвина выйдет из-под контроля.

Нет, я про Convolutional neural network

И пирамидка
en.wikipedia.org/...​edia/File:Typical_cnn.png

Ну и каскад из нескольких нейронок, где результат перепроверяется и кластиризируется
users.eecs.northwestern.edu/...​ssets/cvpr2015_cascnn.pdf

Открою вам тайну. Строгой теории NN пока не существует. Архитектурные изыски идут на интуитивном уровне. +\ - лапоть! Эмпирический перебор!

Если же строгая теория возникнет — всё ценное сдохнет ровно на этапе требований соответствовать энтой теории. Зато сколько будет публикаций, сколько хайпа...

Это ещё и не полпроцента настоящего бума

Бум начался 10 лет назад, когда система распознавания дефектов легких по рентгенограммам дала меньше ошибок чем человек. А второе, глубокие рекуррентные сети научились обучать. Вы прозевали, как, впрочем, и я

система распознавания дефектов легких по рентгенограммам дала меньше ошибок чем человек

Но это не точно. Это как оценивать антивирус по количеству найденных — DrWeb однозначно побьёт всех. Подумаешь, каких-то 20% ложных срабатываний.

А по поводу глубоких рекуррентных — вы точно никогда не пропустите бум фейкомётства и за уши притянутых показаний. Потому что «рынок лимонов» никогда не сможет работать по-другому. Он не просто гадит общую картину, он принципиально и безотказно истребляет в этой общей картине настоящие научные работы, делая их инвестиционно непривлекательными и вообще «не соответствующими принятым стандартам».

Есть у FPGA огромнейшее «преимущество» для производителя, и соответственно жопа для потребителя — эти устройства элементарно делаются запланированно устареваемыми. Их прошивка мало того что не считывается, так ещё и стирается со временем. А если и этого недостаточно, можно и самим стирать, запрограммировав рандомный выход из строя замыканием цепи или эффект домино в случае сбоя.

Устройство мало того что безболезненно умирает, так ещё и не ремонтопригодно. То есть выкинь и купи новое. Замену соответственно купить невозможно, хотя бы по причине что прошивок нет, они остались на стороне производителя.

Можно добить сопротивление рынка, применив финт ушами — самим впоследствие продать выходящую из строя деталь, разумеется за половину цены нового устройства.

Однако есть риск, что кто-то таки вытреплет секрет фирмы. Но вот «бида-бида», доказать-то это невозможно.

Как по мне, в принципе у этой дряни весьма ограниченное применение. Однако ключевой недостаток — её НЕВОЗМОЖНО сделать надёжной, если только не поставить такую задачу на уровне химического травления. Но покажи мне того китайца, который не срежет острые углы ради экономии пары центов? Всё равно, как ни старайся, те параметры которые невозможно проверить — будут реализованы на краю грани надёжности, а то и за гранью.

С военными целями и вовсе неинтересно: слишком мало людей на самом деле имеют одновременно и высокий уровень образования, и маниакальное желание убивать. Настолько сильное, чтобы работать вопреки царящему в отрасли дебилизму и самодурству.

Ну а к научным целям граждан государств третьего мира попросту не допустят. Там своя мафия, свои социальные лифты. И честно сказать, своя бюрократическая гниль, которая сильно не заинтересована в конкуренции.

Могу сказать короче: рынок лимонов. Вне юридических рабочих механизмов наукоёмкое производство не жизнеспособно. Просто уже потому, что оно требует правил игры, отличных от общепринятых.

Их прошивка мало того что не считывается, так ещё и стирается со временем.

что мешает при желании прошивку периодически обновлять

То что при этом придётся сделать удорожание. Формально, конечно, ничего. Но факт что программный код при этом улетает в общедоступность.

Кроме того, сама микруха должна будет иметь защитные каскады, не позволяющие сжечь оборудование и саму себя до того как она собственно прошилась. А это опять же удорожание. Куда проще поставлять уже прошитую, и пущай она свои 2-5 лет пашет.

Можно отдельный контроллер поставить и писать с зашифрованной флешки %) с ключами расшифровки в хардварных какбызащищённых регистрах. На фоне стоимости FPGA будет копейки

Зачем? Кому это станет надо, когда можно тупо зашить саму микруху — дешевле же.

Видел страдальца из ФЕДа, который долго искал прошивку на ЧПУ Olivetty в 2000хх. Память имеет свойство терять заряд со временем....Ну так это все относится и не только к FPGA! И микроконтроллеры не исключение... Помните об этом!
От себя скажу, что для ответственных применений создают ASIC и тут уже не будет никаких аргументов. Вы спросите,-а причем тут FPGA? Так начальным этапом в проектировании есть прототипирование как раз на них самых. Если идея пошла и работает, то в ASIC гарантированно будет работать, да и при тираже многократно дешевле.

Посмотрите на MAX 10 или Lattice(не помню семейства)! Эти FPGA флешовые.. Наружу нет шнурков для взлома! 60000 вентилей хватит?

Что-то мне подсказывает, был бы финансовый стимул, прошивку с них снимут. Дурное-то дело не хитрое, тупо написать логический тест.
Но в том-то и фокус, что как только у покупателя стимул выше, чем у продавца — ему нахер не нужен такой продавец, как и то что он продаёт.

Не любит экономика науки человеческий фактор, ой, не любит.

Содержимое заливки не есть код. Для FPGA не существует дизассемблера, чтобы понять архитектуру системы. Максимум повтор! Фанатам удалось взломать, если мне память не изменяет, какую-то мелочь (было сообщение в этом году), но уверяю вас,-это не грозит лидерам отрасли..

Дизасемблера может и нет. А тест найтись сможет. Опять же, если не ставилась задача сокрытия алгоритма, а на это забивают по чисто человеческим понятиям — шифрованный софт крайне сложно тестировать.

...бедняга. Такое ощущение, что я в 80хх!

Их прошивка мало того что не считывается, так ещё и стирается со временем.

Открой для себя SRAM-Based ПЛИСы, которые грузят прошивку с внешней памяти.

так ещё и стирается со временем.

И через сколько умирает такая прошивка? Можешь в днях. Ну или месяцах. Срок годности какой?

Разумеется, такие цацки есть. И даже массовые серийные устройства на них. Но в погоне за удешевлением даже их меняют на уже прошитые. Пример — те же мультиконтроллеры в ноутбуках, которые по сути именно те самые площадки мультиплексоров с небольшими буферами. Так вот, их шьют. Но шить их дорого и геморно. Это при том что имеется полноценный БИОС с уже приличным объёмом данных — но хрен вам, всё равно прошить с завода дешевле выходит.

Так вот, их шьют.

И что? Я где-то писал что таких решений нет?
Все же, как насчет уточнения по твоему утверждению

так ещё и стирается со временем.

Через сколько дней/недель/месяцев/лет она в мультиконтроллере сотрется? Желательно с ссылкой на какую-то статистику. Раз уж ты это утверждаешь.

То есть выкинь и купи новое.

Чем больше ресурсов и средств производства противника мы извели, тем меньше у него останется на развитие нанофабрик, сракет и термоядерных реакторов... Э-э, а что уже опять пятница? Во скока времени извёл!

Вне юридических рабочих механизмов наукоёмкое производство не жизнеспособно.

Ну, Elon Musk же дарит миру некоторые разработки своих инженеров. Там Hyperloop alpha, патенты по электрокарам и т.п. И Jeff Bezos тоже не скупится на прогресс. Но в целом, да, согласен, это всё мелочи по сравнению с тем, что они зарабатывают в США.

А в чем преимущество FPGA для тяжелых вычислений кроме realtime?

Если достаточно soft realtime (задержка не выше 100 мс) то берете нечто типа Nvidia Titan и получаете отличный ускоритель, которого хватит для довольно смелых задач. Во всяком случае в Украине нет таких задач где бы этого не хватило.

Дело в том, что FPGA не случайно состоит из набора отдельных блоков DSP, Memory, Logic Array, потому как на практике задача далека от систолического построения, как в Nvidia, и нужно готовить данные, события, синхронизировать причастные к процессу участки прежде чем непосредственно вычислять. Часть ресурса уходит на обвязку вычислителей(FPGA DSP) , а это тот процесс, который ведется внешними по отношению к видеокарте с CUDA системами PC. Согласен, что для полноценного использования ресурсов FPGA, специалистов-проектировщиков — нужна ЗАДАЧА. А для этого нужна как минимум МЕЧТА. Разучились сейчас созидательно и страстно мечтать... С кругозором туго или технических знаний маловато? Я всегда стараюсь расслабить и раскрыть заказчика, чтобы понять его стремления. Фраза — «нет не выполнимых задач!» повергает в растерянность, если туго с образованием или наоборот глазки загораются, если живет в академике (так назовем) давняя мечта.

Разучились сейчас созидательно и страстно мечтать...

Ну, это всё венчуры. Нужны свободные деньги, которыми кто-то таки должен рискнуть. Согласись, странно было бы что эти деньги пойдут в Украину — где никакой юридической защиты венчуров нет в принципе, где мошенничество есть государственный строй.

А насчёт созидательно мечтать — могу расстроить, мечтать можно и не созидательно, а разрушительно. Железяке пофигу, что она выпилит сколько-нить миллиардов обезьянок. И поверь, таких мечтателей хватает. Другой вопрос, кто захочет РАБОТАТЬ на подобных маньяков... пока, как видишь, мало кто. Опять же, в силу отсутствия юридических механизмов, без которых в авантюры не лезут даже маньяки.

Вот почему я и кинул камень в огород НАНУ, которая загибается... (С 101 летием пан Патон!)
Это был когда-то путь для мечтаний. Уж какие-то мозги там водились!
...Вы конечно правы. И я с такими маньяками встречался и не желаю участвовать в РАЗРУШЕНИИ.

Давайте угадаю, что ценно в этой кухне программисту HDL?
1. Архитектура NN
2. Тип функций активации
3. Весовые коэффициенты нейронов
4. Входы\выходы.

Спец из Пайтона, как правило, не может назвать и половины, где все это брать? Все спрятано в недрах библиотек. Обычный ответ

Вы далеки от FPGA. Обычное дело...

Смотря чему учить, насколько ценно знание на выходе.

Пока обсуждаем соответствие новых задач(сколько их?) технологическому уровню новых FPGA

FPGA активно используется в High Frequency Trading

Наслышан.. Если понятна постановка задачи, то вполне. И скорее всего даже не требует мощных FPGA. Не думаю, что там сложно...

Не думаю, что там сложно...

Деталей я конечно же не знаю, но предполагаю, что там фпга уже конкурирует с другими фпга, а это сложнее, чем конкурировать со скальпером.

...неизбежно! Теперь дело за скоростным Ethernet... И по приоритетности этот фактор будет выше, чем быстродействие в FPGA (напомню, что тут работает внешняя физика, а ПЛИС только на обслуживании)

Диалектика... Борьба противоположностей еще работает.

є фазова швидкість, можу бути більша

Это уже другая физика.. И FPGA тут не причем

Там 400Г уже есть кажется. Вообще если что-либо самое быстрое и каттин-эдж появляется, то оно сразу используется в финансах.

Да, но там сложно сунуться с венчурами в силу и без того рискованности этих рынков, а значит и засилия монополистов.

Да, но там сложно сунуться с венчурами в силу и без того рискованности этих рынков, а значит и засилия монополистов.

Не понял ни единого слова.
Никто и не предлагает с шашкой наголо против танка идти, можно устроиться в экипаж такого танка

Но экипажу танка и не заплатят. Разве что похоронят вместе с танком, благо у владельца этих танков...

Платят исправно, вроде никто не пропадал за последние годы...

К себе игрока на рынке не примеряю...

Для какой именно цели?

Трейдинг (для простых моделей) самый быстрый именно на FPGA потому что нет задержек NIC-PCI-CPU/RAM-PCI-NIC, все делается внутри FPGA (оно же и NIC)

потому что нет задержек NIC-PCI-CPU/RAM-PCI-NIC, все делается внутри FPGA (оно же и NIC)

Если NIC на FPGA, то всё ровно ведь тоже: CPU->PCI->NIC / NIC->PCI->RAM.

Если NIC на FPGA, то всё ровно ведь тоже: CPU->PCI->NIC / NIC->PCI->RAM.

Нет, фпга является одновременно всем, в том числе и сетевой карточкой, т.е. всё происходит внутри фпга (в железе)

А где-то есть цифры для сравнения? На PC столько-то, в FPGA столько то. Просто совсем недавно было несколько похожих случаев, продавливали подобную конфигурацию для распознавания образов на FPGA за дохеразиллион бабок, тоже объясняли всё задержками. А по факту внутренняя частота работы памяти и самого устройства в FPGA раз в 8 медленее интерфейсов в PC, ну да, задержек нет, потому что оно и так медленное.

Или например, декодирование 4K JPEG в реальном времени показывали на nVidia порядка 16 мс на фото c использованием developer.nvidia.com/nvjpeg , в FPGA порядка 8 мс. Я за неделю реализовал на полудохлом Intel ApolloLake (SkyLake GPU + 4x core Intel Atom) с пиком потребления 22Вт, декодирование за 2-4 мс на кадр. Думал, закажут киллера, но всё обошлось %) Моё решение купили менее чем за 2 часа %)

Для HFT цифры есть и они отличаются на порядок (даже без учета времени на доставку до CPU и назад), сказать больше не могу из-за NDA.
Для обработки фото/видео картина может быть совсем другая

Для обработки видео картина может быть совсем другая

Там основная проблема в том, что нужно перемещать большие массивы данных и моё решение не серебряная пуля, просто продумал как сделать zero-copy при обработке, чтобы использование одних и тех же данных было возможно без пенальтей. Я к тому, что FPGA может быть оправданным, но очень часто является следствием того, что просто что-то недоработали со старым решением.

в HFT задачах не надо «перемещать большие массивы данных» поэтому в этой области CPU не может тягаться с FPGA. В данном случае можно провести аналогию с тем как GPU/FPGA сливается ASIC-у для биткоин майнинга.

в HFT задачах

Всё равно непонятно, что в HFT задачах. Мало данных и много математики? Мало данных и мало математики, важно только время реакции?

В данном случае можно провести аналогию с тем как GPU/FPGA сливается ASIC-у для биткоин майнинга.

Это не совсем правда. Часто получается так, что имплементация на GPU делается не теми, кто знает что надо делать, а обычными людьми с обычными знаниями и подходами, в то время как имплементация на ASIC делается теми, кто знает что он делает и как он это делает.

Мало данных и мало математики, важно только время реакции?

да

Понятно. NIC’и тоже разные бывают, например, некоторые могут работать с любыми невыравненными данными в scatter-gather DMA операциях и ложить данные напрямую в буфера клиента. Под виндой такое утилизировать реально тяжело, но в Linux и QNX вполне можно, обеспечив практически нулевое латэнси (сейчас прибежит Left Outer Join и скажет что заслуги в этом никакой нет, всё и так было в железе). Ну а так хозяин-барин, конечно, можно оптимизировать работу PC, можно в FPGA.

В случае HFT (не для всех моделей торговли) даже только время затраченное на передачу данных из NIC в CPU и обратно (без времени самого CPU) больше чем сделать все в FPGA.
Как ни крути а у NIC-PCI-RAM/CPU есть свои чисто свои аппаратные задержки от которых не избавится

А они крутят!.. А ведь хорошее техническое решение!.. Ломовое. ...Тут скорее придется работать через спутник на прямую, чтобы конкурентов обойти!(Вот где собака еще не рылась!)

Спутник?? )) У спутника неприлично большие задержки даже для сетевых пострелушек. Просто в силу скорости света и расстояния туда-обратно. Нет, в HFT, я подозреваю, всё гораздо проще, тупее, и одноверменно дороже. Аренда серверных стоек, условно, «через стенку» от NYSE.

Это у геостационарного спутника задержки большие, за счёт расстояния. У низкоорбитальных наоборот, в вакууме электромагнитные волны распространяются быстрее, чем в оптоволокне, и за счёт этого задержки меньше получаются, даже с учётом чуть большего расстояния. Можешь сам посчитать

Взял и посчитал. В наиидеальнейшем случае (спутник в 550 км от абонента, скорость света равна таковой в вакууме, сам спутник не вносит задержек, потерь нет, два абонента подключены к одному спутнику и межспутниковые задержки отсутствуют) получаем задержку: (2 * 550 км) / 300000 км/с = 0.003(6) с. Для пострелушек да, хватит, а для HFT все равно надо раз эдак в 10000 меньше.

Да, но биржи Нью-Йорка, Лондона и Токио ради HFT-шников в одно здание не перенесут же. Подразумевались чуть бОльшие расстояния, чем два абонента к одному спутнику. А так на коротких дистанциях радиорелейные линии ставят для HFT, из тех же соображений

Отсюда простое решение,- размещать HFT рядом с биржей, а вот настройки критериев торговли вести удаленно по Интернет!

Отсюда простое решение

Купить новости в зомбоящике и поливать инвесторов лохов полезной информацией испражнениями экспердов.

Ну да. Только в этом случае торговые стратегии можно обновлять через что угодно, не только через спутник. И бороться за сотни наносекунд на канале с задержками в миллисекунды-десятки-сотни (в межконтинентальном раскладе) будет очень смешно.

Зачем, когда это делается один раз в час(например)? Не смешите!

Только не забывайте, что радиорелейку под эти цели можно поставить выделенную и на своей уникальной частотной полосе, из разрешенных к гражданскому применению, а в случае со спутником общего пользования получим разделяемую среду передачи данных с неизбежным collision avoidance. Что там говорить: два хоста в одной хорошей 5GHz WiFi AC—сети будут общаться с ужасающими пиковыми задержками, непригодными даже для игр и realtime audio, при том, что минимальные и средние будут более/менее приемлемые. И тот факт, что у спутника будет множество субполос, тоже ситуацию не спасет. Клиентов будет еще больше :)

Это только гипотеза.. Я не утверждал.

Как ни крути а у NIC-PCI-RAM/CPU есть свои чисто свои аппаратные задержки от которых не избавится

Просто ради интереса, о каком порядке таймингов мы говорим от момента получения IP пакета до его отсылки внутри FPGA? 1 мкс?

А вдруг унутре такой умной NIC FPGA имеется :)

И это тоже пробовали! Другое решение заранее медленнее.. Или быстрее? А?

На самом деле все интелловские ники умеют такое. Вот только часто драйвера не используют это, ибо это кошмар-кошмар, можно ошибиться и передать всё содержимое памяти компа по сети.

А если взять за основу ускоренный подход работы с сетью a—ля Intel DPDK или BSD netmap? Выкинуть нафиг сетевой стек операционки, с неуместными на таких задержках абстракциями наподобие сокетов и системных вызовов на каждый чих. Поднять быструю качественную сетевуху в режиме bus-master с двумя ринг-буферами, так чтобы она складировала входящий L2 — поток в один кольцевой буфер, и брала исходящий из другого. Далее в прикладном процессе скармливать принятые eth-фреймы оптимально скомпилированной state—машине с частично реализованным TCP/IP стеком (полное соответствие стандартам в таких задачах как правило излишне) и прикладным кодом? Получим же ж возможность пулять ответами еще до полного прочтения ethernet фрейма. Будет сильно медленнее?

Понятно, что будут задержки туда и обратно по PCIE, от которых никак не избавишься. Интересно, как раз, насколько критичные.

PS. Насколько я понимаю, субмикросекундные задержки в такой схеме достижимы. Но да, когда срезаешь последние наносекунды, то лучше путь покороче.

Ну вот на ФПГА все это как раз и делается, как раз без задержек PCI и прикладного процесса

Мотивация-то понятна. Интересует насколько большие задержки вносит шина. Не получится ли так, что современный быстрый проц на 5+ ГГц, подключенный к последнему PCIE4, сравняется с FPGA (с прямым доступом к железу, но с более медленной частотой)?

PS. Открыл тех. характеристики PCIE4, и уже вижу, что нет, не сравняется. Throughput гигантский, до 5GByte/s, но IOPS всего 750k. Уже вылезаем за микросекунду.

Сравнивать мегагерцы проца и ФПГА как 1:1 не корректно

На параллельных расчетах — бесспорно. Та же крипта, DSP и т.д. В случае stream—процессинга как-то в голове такого очевиднейшего преимущества не вырисовывается. Впрочем, как неспециалист в этих делах, поверю Вам, что тоже не корректно :)

Некорректно потому что это абсолютно разные архитектуры ;)

Браво!.. Тягаться в производительности с FPGA бесполезно.

Тягаться в производительности с FPGA бесполезно.

Полезно, но depends...

PS. Открыл тех. характеристики PCIE4, и уже вижу, что нет, не сравняется. Throughput гигантский, до 5GByte/s, но IOPS всего 750k. Уже вылезаем за микросекунду.

Когда-то не так давно я делал супер точные измерения задержек, у меня получалось, что на PCI-E, когда прерывания в режиме MSI/MSI-X, то задержка порядка 4мкс от события до доставки прерывания. В тоже время на Gigabit Ethernet задержка на порядок больше, около 38мкс! Передача по физике не бесплатна, каждый свитч увеличивает задержку на 100 мкс. Вот поэтому мне и интересно дизайнерское решение NIC в FPGA — на чём экономим?

На отсутствии процессора... Как и самого PCIe

Когда-то не так давно я делал супер точные измерения задержек, у меня получалось, что на PCI-E, когда прерывания в режиме MSI/MSI-X, то задержка порядка 4мкс от события до доставки прерывания. В тоже время на Gigabit Ethernet задержка на порядок больше, около 38мкс! Передача по физике не бесплатна, каждый свитч увеличивает задержку на 100 мкс.

Какие-то стремные цифры.

На одной моей прошлой работы мы тестировали сеть одного облачного провайдера. 100 микросекунд с запасом хватало на полный раундтрип пакета между двумя виртуалками (из user mode в user mode, правда использовали UIO). По нашим подсчетам, исходя из инфы, доступной в паблике, между вирталками было как минимум 5 свичей в одну сторону и неизвестно сколько оптики.

Exchange, где проходят транзакции, будет использовать state of the art оборудование, более серьезное, чем у облачных провайдеров (ибо они не котиков хостят, а оперируют большими $$$$$$$$$).

Вот поэтому мне и интересно дизайнерское решение NIC в FPGA — на чём экономим?

Инфа от чувака, который занимался HFT и потом спился:

Топология сети в exchange построена таким образом, чтоб все клиенты имели максимально одинаковую латентность передачи данных (т.е. одинакове кол-во хопов, одинаковая длинна кабелей и т.п.).

Апдейты с серверов биржи отправляются всем клиентам через UDP бродкаст. Теоритически все клиенты получают апдейты одновременно. Транзакции выполняются по TCP. Чья транзакция первая попала в очередь сервера, та и будет обработана.

Далее трейдеры пилят программу, которая обрабатывает большой объем данных, и, допустим, выдает банальный алгоритм типа

if (price(MSFT) > 160.30) {
    sell(MSFT)
}

Этот алгоритм может обновляться продвинутым «мозгом» часто (несколько раз в минуту), но суть такова, что на небольшом промежутке времени он тупой до безобразия.

Допустим, все, кто сидит в exchange, собираются продавать по этой цене. Как только цена достигает этого уровня, все начинают продавать и цена сразу падает. Получается, несколько первых транзакций успеет пройти, все остальные сосут лапу и ждут новой «волны».

Все это отдают технарям, которым доступно объясняют: если твоя транзакция по этому правилу пройдет первой, фирма заработает кучу бабла и ты получишь офигенный бонус в конце года. Если не пройдет — то будешь сидеть на своей базе $25K в год.

Появляется много мотивации оптимизировать латентность, потому что здесь в буквальном смысле этого слова, время — деньги.

Сначала в Exchange colocation ставят самое топовое железо, которое могут найти.
Далее начинают выпиливать наиболее тривиальные тормоза в софте (скриптовые языки, сборщики мусора, аллокации памяти), потом берутся за более сложные вещи типа перехода на PMD UIO networking. Проблема, что в итоге все, кто сидит в exchange, проделывают эту работу, и надо еще больше преимуществ. Продолжают оптимизировать, и в итоге сводится к тому что

* TCP подключение открывают зараннее (еще до того как пришла инфа по ценам)
* Транзакцию начинают заранее (отправляют заголовки и т.п.)
* Пакет, который триггернет транзакцию, уже создан, лежит в буфере eth, его дескриптор уже лежит в кольце TX, но указатель кольца еще не смещен на единицу.

Т.е. все, что нужно, чтоб отдать команду на выполнение транзакции — это заинкрементить одно значение в кольце.

Далее все входящие UDP пакеты идут через FPGA, в котором находится схема, которая имеет несколько простейших компараторов по определенным смещениям(проверяет, что пакет UDP, смотрит название символа, смотрит на цену и сравнивает его с целевой ценой. Как только условие проходит, схема инкрементит указатель в кольце, запрос на выполнение транзакции уходит. Все это происходит на сетевой карте.

На FPGA отдается именно последний шаг («нажать на курок»). Все остальные предварительные шаги выполняются в user mode, потому что они не критичны к времени и более сложны, их проще запилить на C, чем на FPGA.

Все это позволяет получить определенное преимущество по сравнению с теми, кто использует «классический» сетевой стек (даже с PMD UIO). В итоге все, кто делает что-то серьезное в exchange, перешли на карты с FPGA, иначе прийдется или сосать лапу, или уходить на менее популярные акции типа бабруйского мусороперабатывающего завода.

А я о чем? И процессора не надо! Внутри логики FPGA и принимается решение... От внешнего проца ТОЛЬКО настройки! И это редкое явление- активность проца..

И ради чего это всё

Чтоб зарабатывать несколько миллионов долларов в день.

Я считаю, давно пора было бы прикрыть эту лавочку, либо ограничить количество перепродаж акций в день, либо ввести комиссию за каждую транзакцию. Чтоб отделить настоящих инвесторов от HFT-трейдеров

либо ввести комиссию за каждую транзакцию

Этим чувакам exchange доплачивает за выполненные транзакции.

вы нарушаете свободу... Не останавливайте безумие!

Я считаю, давно пора было бы прикрыть эту лавочку, либо ограничить количество перепродаж акций в день, либо ввести комиссию за каждую транзакцию.

это нереально по многим причинам. Считайте что это side effect существования бирж

В тоже время на Gigabit Ethernet задержка на порядок больше, около 38мкс!

Вот из другой области:

aws.amazon.com/...​ly-coupled-hpc-workloads

When used in this way, EFA can provide one-way MPI latency of 15.5 microseconds

15.5 usec на не гигибит PHY вполне верю.

А если взять за основу ускоренный подход работы с сетью a—ля Intel DPDK или BSD netmap? Выкинуть нафиг сетевой стек операционки, с неуместными на таких задержках абстракциями наподобие сокетов и системных вызовов на каждый чих. Поднять быструю качественную сетевуху в режиме bus-master с двумя ринг-буферами, так чтобы она складировала входящий L2 — поток в один кольцевой буфер, и брала исходящий из другого. Далее в прикладном процессе скармливать принятые eth-фреймы оптимально скомпилированной state—машине с частично реализованным TCP/IP стеком (полное соответствие стандартам в таких задачах как правило излишне) и прикладным кодом? Получим же ж возможность пулять ответами еще до полного прочтения ethernet фрейма. Будет сильно медленнее?

Это будет охуенно, но ваша транзакция попадет в очередь позже транзакции того, кто не занимается этой ерундой, а отправляет пакет напрямую с сетевой карты.

А если взять за основу ускоренный подход работы с сетью a—ля Intel DPDK или BSD netmap? Выкинуть нафиг сетевой стек операционки, с неуместными на таких задержках абстракциями наподобие сокетов и системных вызовов на каждый чих. Поднять быструю качественную сетевуху в режиме bus-master с двумя ринг-буферами, так чтобы она складировала входящий L2 — поток в один кольцевой буфер, и брала исходящий из другого. Далее в прикладном процессе скармливать принятые eth-фреймы оптимально скомпилированной state—машине с частично реализованным TCP/IP стеком (полное соответствие стандартам в таких задачах как правило излишне) и прикладным кодом? Получим же ж возможность пулять ответами еще до полного прочтения ethernet фрейма. Будет сильно медленнее?

Например, Ethernet frame должен полностью записаться в core memory через DMA до того, как его дескриптор попадет в кольцо RX. Если вас интересуют только первые 64 байт фрейма, то вы можете сэкономить время, если не ждете пока весь фрейм запишется.

Ответ на запрос точно так же будет лежать в core memory до тех пор, пока вы не положите дескриптор в кольцо TX. Как только положили — сетевая карта продуплится и начнет считывать пакет через DMA, и отправлять его. При том, что в идеале этот пакет уже должен лежать в сетевой карте, так как вы его приготовили заранее.

Драйверы хоть и оптимизированы, но тоже имеют мусор. Например, при считывании пакета будут инкрементиться счетчики байтов/пакетов. После считывания пакета указатель в кольце RX будет смещен вперед на единицу (это требуется только для получения будущих пакетов, но делается это синхронно до того как вам будет возвращен текущий пакет). Будет проинициализировано несколько полей в mbuf вещами типа "вот какие offloads были включены, или вот какой ID порта — вещи, которые не нужны для данной задачи). Если вы используете DPDK, то обращения к драйверам не инлайнятся и идут через indirect function call. Это все занимает время. Посмотрите исходники драйверов в DPKD.

Все это хоть и немного, но ваш сосед может легко намутить десятки наносекунд просто выпиливая весь этот мусор из драйвера и оптимизируя логику/тайминги в драйвере.

По той информации что сейчас есть у меня (с пылу-жару) — там далеко не единичные трейды а порой сотни тысяч трейдов и FPGA там нервно курит, по крайней мере инсайдер говорит что отказались от этой идеи, т.к. надо генерить флуд, где FPGA на плотном потоке сдувается. Показали кастомные NIC для PCI-E, которые имеют набортную память и там как ты говоришь, пакеты помещаются заранее в память NIC, а дальше всё по твоей схеме, но руководит всем «обычный» Xeon’чик, стоит Linux с кастомными драйверами, который видят этот NIC не как сетевую карту, а как спец-устройство, чтобы исключить сетевой мусор и т.п. Стек TCP/IP самописный под этот NIC.

Я думаю, чувак застрял на волне FPGA и не заметил новую волну этих умных NICов, поэтому в итоге и спился.

там все равно используют FPGA — но в меньшей степени (логика частично переежает на CPU, в т.ч. потому что в RAM влезет любая логика не влазящая в онбоард память FPGA). Полностью отказавшись от FPGA вы все равно проиграете тем кто не отказался (по описанным выше причинам)

может легко намутить десятки наносекунд просто выпиливая весь этот мусор из драйвера и оптимизируя логику/тайминги
в драйвере

и это как раз по плечу FPGA %)

Моё решение купили менее чем за 2 часа

Товарищи из Китая? Или РФ? Не представлялись?

Сейчас по-настоящему хороший (супер-)оптимизирующий компилятор для многих бизнесменов промышленников дорогого бы стоил. Вон тот же Elon Musk мог бы алгоритм полного перебора всех возможных автопилотов оптимизировать до пары часов работы на AWS %) Не, в прошлые годы писали, что супероптимизация возможна для подпрограмм не более, чем в сто машинных инструкций... Но как-то не верится.

Коммунисты из Китая? Или РФ? Не представлялись?

Южная Корея.

Следует учесть, что в Intel-овских GPU встроен аппаратный декодер JPEG и не только, так что на что там было неделю тратить, когда можно было дёрнуть ffmpeg из консолечки с похожим результатом %)

О да, это делали, получалось 19мс на фрейм с отображением. Что-то видать пошло не так...

Главное, что купили!.. Сами не догадались собрать доминошку IP %)

Продают не идею, а готовую реализацию.

Ну так я о чем? Мастерство не пропьешь!.. Наблюдал страдания коллеги при подключении DDR3,- пришлось опускаться на режим HALF. Не фурычило никак!

скорее всего согласование волнового сопротивления по шине данных

достаточно ответственное место. Оно отсутствовало вообще!

память не всегда планками в слоты втыкается, иногда её НАПАИВАЮТ! :) И вот правильно завести память на плате это тоже почти искусство

Блин, не на ДОУ у меня постоянно впечатление что я в дурдоме тут.

Ну дак все свои, что не так. А волновое сопротивление действительно важно учитывать.

понятно, алкогольная интоксикация, поциент член к пальцу рвётся припаивать зачем-то...

А зачем DDR3 на разводку DDR2 припаивать?

Это исключительно твоё неправильное предположение, в исходном сообщении такого не было

Я за неделю реализовал

вы реализовали, или таки Интел реализовал? :P

Кто программу написал — ты или таки компилятор_нейм?

Дёрнуть API аппаратного декодера — это не совсем «я реализовал декодирование»

Круто, ну иди получи 2-4мс на 4K JPEG с декодированием и отображением. Если ты такой умный то должен знать что выходной буфер у аппаратного декодера JPEG может быть в одном из чётырёх форматов, причём все четыре не поддерживаются сэмплерами и не могут быть использованы напрямую в OpenGL.

Эти 2-4мс в данном случае заслуга железа, а не программиста, у интеловских встроек производительность как раз такого порядка. А то, что на NVidia получается дольше, тоже ничего удивительного, это из-за того, что фреймы между оперативной и видеопамятью туда-сюда гоняются, а у Intel GPU отдельной видеопамяти нет, соотв. накладные расходы меньше.

Эти 2-4мс в данном случае заслуга железа, а не программиста,

Забавно это слышать. Когда какую-то игрушку оптимизируют и повышают производительность на 30% на том же железе — это заслуга железки или программиста?

А то, что на NVidia получается дольше, тоже ничего удивительного, это из-за того, что фреймы между оперативной и видеопамятью туда-сюда гоняются

Извини, но это дичайший бред. Все nVidia чипы ещё со времён AGP могут читать и записывать данные из/в системной памяти Это раз. Во-вторых что мешало nVidia сделать zero-copy, чтобы не гонять данные туда-сюда?

а у Intel GPU отдельной видеопамяти нет, соотв. накладные расходы меньше.

О, как, оказывается отсутствие своей быстрой набортной видеопамяти — это уже плюс.

Ты кто по образованию?

Это не только программист! Это архитектор..
Помню генералов, которые глядя на цифровые системы , собранные на жесткой логике 500 серии говорили,- а что там за проблемы,- собрать костяшки домино? Военпреды смотрели на схемы из квадратиков и видели аналогию с корпусами микросхем, но вот когда пошел HDLкод,- дико протестовали, потому как это соответствие терялось и ЧТО там происходит внутри PLM они не понимали. Запретить!!!!

Это не только программист! Это архитектор..

Именно так, всё лежит на поверхности и документировано, просто нужно знать как работает каждая из доминошек, чтобы использовать их по максимуму. В идее не было никаких тайн, нужно было просто взять и сделать %) Именно это как раз самое сложное, т.к. в современном мире программист затачивается на одну доминошку — не пытаясь разобраться как оно будет работать в стеке, когда все стоят друг на друге, мол не его зона ответственности.

Извини, но это дичайший бред. Все nVidia чипы ещё со времён AGP могут читать и записывать данные из/в системной памяти Это раз. Во-вторых что мешало nVidia сделать zero-copy, чтобы не гонять данные туда-сюда?

Но факт, что NVidia на этой задаче медленнее.

О, как, оказывается отсутствие своей быстрой набортной видеопамяти — это уже плюс.

Смотря где нам нужно получить конечный результат — в оперативной или видеопамяти.

Но факт, что NVidia на этой задаче медленнее.

Да, потому что сделано на отъебись, а не потому что железо плохой. Не для реальной задачи. Достаточно просто включить мозг, зачем юзеру нужен расжатый JPEG? В 99.999% случаев, чтобы отобразить или подать на вход GPU в качестве текстуры или просто буфера.

Смотря где нам нужно получить конечный результат — в оперативной или видеопамяти.

Вот тут ты опять неправ. Несмотря на то что у встроенных Intel GPU нет выделенной памяти — по факту она есть. У них есть GTT (аналог IOMMU), когда ты отдаёшь системную память по страницам и в GTT она собирается как линейная память GPU к которой у GPU доступ в 2.5-5 раз быстрее чем к системной, несмотря на то, что это и есть системная память. Доступ процессора к GTT памяти через GTT апертуру в среднем в 3-5 раз мендленнее чем доступ к этой же системной памяти через апертуру процессора. При определенных умениях тебе вообще не нужно обращаться процессором к памяти. После того, как JPEG загружен в системную память, ты эту память памишь в GTT и таким же образом мапишь выходной буфер, в результате GPU думает что работает со своей памятью, процессор думает, что со своей и оба правы, т.к. память расшарена. Ну и по ходу нужно разобраться с кешами процессора и кешами GPU, тайловой организацией текстур и буферов и пр. Всё тоже самое можно делать и на nVidia, только никому видать не надо. Как ты видишь доля аппаратного декодера в этой таске от силы процентов 10%.

Если ты такой умный то должен знать что выходной буфер у аппаратного декодера JPEG может быть в одном из чётырёх форматов, причём все четыре не поддерживаются сэмплерами и не могут быть использованы напрямую в OpenGL.

аппаратное преобразрование форматов (а также масштабирование) тоже имеется в наличии, так что в чём проблема

аппаратное преобразрование форматов (а также масштабирование) тоже имеется в наличии

В каком наличии имеется поддержка IMC1 и IMC3 форматов? Масштабирование — это фишка сэмплера, если он не поддерживает входной формат, то куришь бамбук.

Мужики! IP не идеальны и тоже обновляются создателями инструментария.. Первый вопрос при появлении новой версии ПО,- на сколько стабильна и адекватна? Что исправлено?
Вы не допускаете, что на момент тех событий просто был изъян в IP?
А по прошествии времени...

Вы не допускаете, что на момент тех событий просто был изъян в IP?

Видя на сколько аппаратный декодер отличается от всего остального GPU, там только виден изъян в ДНК разработчиков. Просто скорее всего делала другая команда, потом просто собрали всё на одном кристалле.

В каком формате JPEG закодировали, в таком он и раскодируется, ничего декодер с этим поделать не может, преобразовывать в цветовое пространство RGB всё равно неизбежно придётся

Более приоритетен вопрос архитектуры IP-ядра! Даже идеальная алгоритмическая реализация тупо может упереться в некий триггер(как вариант), который уязвим по температуре

в цветовое пространство RGB всё равно неизбежно придётся

Вопрос только кому. Сэмплеру, который это сделает «бесплатно» или дисплей контроллеру, который это сделает за ту же сумму.

Frequency Trading — из области быстрого принятия решения на бирже

Даже не примеряйтесь!... Тут HDL главенствует... У Вас никаких шансов!

я не про мову конфігурування заліза, а про софт для трейдингу,
але то таке, тонка іронія настільки тонка, що дехто не замітив

У вас превратное представление о технологии. Принятие решения идет на аппаратном уровне (это ответственное место). А ваш софт трейдинга нужен на этапе настроек критериев. И это уже не в реальном времени...

www.pracuj.pl/praca/fpga developer;kw

В Польщі теж таких вакансій немає )

Можливо вам буде цікаво глянути на сайт події Embedded Fest, яка пройде наприкінці листопада у Києві

www.embeddedfest.com

Их аж две: www.pracuj.pl/praca/fpga;kw
Но в АВВ должно быть не плохо

Александр, здравствуйте.
Вот сегодня наткнулся, что к нам в Украину заходит компания Cosylab

Они сейчас набирают C++ разработчиков

Хоть вакансия и не относится к subj, но почитав про них, выяснилось что они очень тесно сотрудничают со science related организациями, такими как CERN и ITER.
Я думаю в таких компаниях наверняка будет востребованы Ваши знания...
Я про них особо ничего не слышал, но возможно Вам будет интересно с ними по сотрудничать.

И теперь вопрос. Последние пару лет изучаю эллектротехнику/эллектронику, хотя сам по образованию больше, механик-математик-программист.
И вот как раз пару месяцев назад ковырялся с FPGA и вдохновился крутизной сих устройств. Я собрал небольшое устройство (~30 микрух на К155XXX/SN74XXX логике) и прямо вижу, как оно может легко «лечь» в одну FPGA микруху ) И это вдохнавляет. Да, можно эту схему переделать на МК, но в случае FPGA оно «ляжет» 1-в-1 в микруху, а вот под МК придётся всё проектировать с нуля. Я думаю FPGA незаменимый помощник для тех кто учится электронике. Не нужно возиться с макетными платами и т.д. Сел, спроектировал, зашил и порядок — Profit.
Собственно вопрос. Что посоветуете почитать из серии:
1. Для начинающих
2. Классические, фудаментальные книги в этой области

Здравствуйте, Ростислав. CERN мне известен, поскольку там работает коллега. Знаю, что там применяют VHDL и более того, они реализовали свою операционную систему OBERON на этом же паскале подобном языке Никлауса Вирта со строгой типизацией на FPGA. И что интересно, проектируют проекты для FPGA на этой платформе при помощи Lola. Там хранят академические подходы в построении систем в противовес нынешней гигантомании и уязвимости. Мне, поскольку я с 1980г стал цифровиком и стал сразу работать с микропроцессорными системами и переход, сначала на ПЛМ, затем на CPLD и далее органично к FPGA был естественен. Пробовал как Altera c Xilinx, так и Lattice c Actel. Конечно переход в HDL был не простым, но тут мне очень помогла симуляция событий, пока я не научился в строках кода видеть цифровые элементы в которые он превращался. Хоть я и начинал с Aldec, вам я рекомендую Altera, поскольку там в тендеме идет бесплатный ModrlSim-Altera и, что не маловажно, там доступнее SignalTab, который позволяет наблюдать события уже на железе. В VIVADO это немного сложнее проходит. В голове надо больше держать нюансов сборки JTAG компонентов. Но это решаемо, поскольку Xilinx симпатичнее по предсказуемости на железе. Мне нравится микроячейка с синхронным сбросом. Асинхронный более уязвим. Касательно литературы могу посоветовать silicon-russia.com/...​design_rus-25.10.2017.pdf , а от себя скажу, для меня событием была книга Сергиенко А.М «VHDL для программирования вычислительных устройств ». Вот после неё все стало на место! Начинающим советую просто писать дизайны и гонять на модели. Особый акцент на примитивах и их использовании. Основные IP следует понимать как применять и настраивать.
Потом настанет момент, когда проекты станут большими, придется прочувствовать нюансы междоменных переходов, метастабильных состояний триггеров, многочастотных решений (не рекомендую в начальных условиях изучения). В общем много всего впереди! TimeQuest вас заставит заниматься трудоёмким процессом оптимизации дизайна, чтобы поднять тактовую частоту (для запаса по времени). Это гарантия надежной работы. А описание констрейнов,- способ информировать фиттер (разводчик синтезируемого нет листа) о особо ответственных местах дизайна. Часто приходится перелопачивать текст, для достижения предельного быстродействия, меняя сам принцип построения элементов. Например счетчик с быстродействием 300МГц трансформируется в сдвиговый регистр, потому как перенос знака в разрядности более чем... дает только 100Мгц (CYCLONE III). В обще скучно не будет.!Программирование микроконтроллеров более детерминированный процесс и там не имеешь дело со сменой архитектуры (она фиксирована). Нет там никаких оптимизаций и увязывания времянок, расположения составляющих в самом поле макроячеек... Считаю эту работу сложнее и кропотливей. Знаю друзей, которые зареклись работать с ПЛИС, потому как результат получается не так быстро (десятки минут). Тут надо подбирать более мощный компьютер для работы. И еще, не маловажно. Я не работаю с одним монитором, поскольку приходится смотреть более чем на одну среду проектирования, а также документация и пр... И еще,- будьте готовы к тому, что проект может сразу не работать на железе. Это обычное дело для сложных проектов. Держите в голове, что МоделСим — необходимое, но не достаточное условие для хорошей работы. Уж если он не работает в симуляции, то ТОЧНО не будет работать на железе. Потому верификация и занимает львиную долю работы с ПЛИС. Войти во ВСЕ закоулки помогают новые методы и библиотеки UVM. Отследить покрытие рекомендую кусочками, потому как сильно сжирается компьютерное время. В общем, обдумывать стратегии приходится постоянно...

Блин, кайф. Спасибо за инфо и респект!

Заказал пару недель на eBay несколько простецких dev boards с CPLD на базе: Xilinx XC2C128 (CoolRunner II), XC9536XL и Altera EP2C5T144. Там они на 128/64 макроячейки вроде бы. По сравнению с FPGA кажутся очень урезанными, но тем не менее для того что бы получить минимальный опыт, говорят вполне годны.
И специально брал и Altera и Xilinx, что бы пощупать и то и то.
Уже руки чешутся с ними поработать)

Кстати, я вижу что сейчас активно развиваеются реализации RISC-V. Многие публикуют совместимые ядра специально заточенный под FPGA. И удобно что можно рядом с этим ядром зашить какую-то узкоспециализированную логику, которая как раз использует приемущества FPGA и заточена под параллельные вычисления. Такой себе гибрид из МК и ПЛИС, который берёт лучшее от обоих архитектур. Поэтому да, странно что у нас как то эта тема мало популярна. Весь запад во уже всю разрабатывет RISC-V ядра, портируют под них Linux. Думаю у RISС-V + FPGA большое будущее.
И рано или поздно эта волна дойдёт и к нам, всё таки RISC-V стартовал в 2011, и ещё не набрал полные обороты. Но у нас увы, мало кто занимается железом, поэтому если и будет что-то спускаться то ИМХО еденичные проекты.
Вам надо ИМХО смотреть в сторону релокации, что бы не потерять квалификацию или возможно ремоут. Или свой стратап замутить, если есть стоящие идеи, которые можно реализовать самому или небольшой коммадой единомышленников.

Ростислав! Сразу обращаю внимание, что стратегия работы с CPLD XC9000 отличается от FPGA., потому как в тех малышах нет ресурса для JTAG(SignalTab)-контроля, а потому у вас будет только одна возможность,- осциллограф. Я постоянно ругался с разводчиками п\п, которые формально строили системы и не предусматривали простой ход,-резервировать тестовые пины и петельку для земельного щупа осциллографа. Вот что стоит поставить SMD-светодиодики с резисторами? Это как раз те тестовые пятачки для контроля! Не раз это была единственная возможность спасти проект, когда выяснялось, что нужно бросать новые провода через всю плату... И потом, после демонтажа LED это могут быть и ВХОДЫ! А? Блин,- ног море, а ощущение, что тебе закрыли один глаз для просмотра! Да, собственно, для FPGA это тоже полезно... Altera Excalibur была первой в 2001г ARM HW SoC системой. Так что тема не нова... Потом научились красиво делать софтовые системы от 8-ми разрядных до 32... Многоядерные
CYCLONE- V c двумя масочными HW Cortex -A9(почти 1ГГц) с кэшем или SW NIOS II каждый решал сам... Во всей этой истории красота для меня была в том, что теперь можно было на железе иметь гибкий способ имитации либо внешнего мира проца, либо наоборот,- проц становился генератором событий при отладке для создаваемой логики. Обычно все это в тестбенчах симулятора делалось, а тут еще и на железе! Класс!... Вспоминается из книги «Физики шутят» подпись к рисунку, — но вот мы и на Луне... Ну и что?... В моей конторе(бывшей) быстро распорядились обоими ядрами (одного уже не хватало), разделив задачи по уровням ответственности... Не обязательно ставить ОС на обоих процах... В общем- дело в ТЗ!

CPLD XC9000 отличается от FPGA., потому как в тех малышах нет ресурса для JTAG(SignalTab)-контроля,

Смотрю что есть JTAG разъём на плате, но возможно не используются его отладочные возможности, только для прошивки.

Вот что стоит поставить SMD-светодиодики с резисторами?

Я Вам скажу, что на многих dev платах, которые я видел, есть светодиоды с резисторами. Но их обычно не много — пару штук.

Именно так. Только пршивка.. Обычно на бордах выводят много пинов и там стратегия проще. Я говорил об уже фиксированном дизайне под некую задачу и там ВСЕГДА забывают резервировать несколько пинов, которые могут ОЧЕНЬ много стоить в острые моменты!

Думаю у ... FPGA большое будущее

Чёт я сумниваюсь. Больше похоже на увод в сторону, на технологии, для которых ещё нет толкового инструментария. Слишком быстро робототехника развивается на «загнивающем Западе». Я тут уже пытался пояснить Artyom Krivokrisenko... Кстати, Andreas Olofsson из Adapteva занимается таким инструментарием.

Для IT инвесторов больше имеет смысл развивать вот эту технологию, мне кажется. Там под видео есть и некоторые мысли о реформе интеллектуальной собственности. Я об этом в общем уже писал в своём последнем топике.

Впервые слышу о такой технологии. Надо ознакомиться. Спасибо за инфо.

Посмотрел. Выглядет внушающе и вдохновляюще, но...
Вы хотите сказать, что вот это синтезированный чип проще отлаживать чем ПЛИС + МК?
Т.е. чем проще работать с таким чипом, чем с FPGA? FPGA, насколько я знаю имеют не плохие средства отладки, а микро контроллеры так темболее...

Да, смешно, согласен. Прежде чем его отлаживать, его ещё надо построить : ) Тут работы только для программистов на годы.

Т.е. чем проще работать с таким чипом, чем с FPGA?

Отлаживать цифровую электронику лучше всего в нормальном симуляторе, разве нет? Я не спец в этих делах...

Я разочарую. Проект идеально работающий на симуляторе в большинстве случаев не работает на железе. Это всего лишь промежуточный этап! Самое главное отладиться на реальном железе. Это целая стратегия, которая предусматривает сбор информации об аномалии через JTAG (каждый вход занимает в подготовке по ~15 минут + новый прогон всей сборки). Бывает разное. От недельных мучений, до парадоксов типа ставишь закладку(JTAG) и все работает, а вынимаешь-фиг! Знаю, что от отчаяния в проекте из-за нехватки времени оставляют закладку, если ресурс позволяет...

А как тогда микросхемы выпускают если сначала нужно «подебажить в железе»?

Нынешние FPGA внутри делятся на независимые блоки(каждый со своим питанием и веткой тактирования) и получается, что на границе этих блоков есть расхождение в синхронности. Ои еще имеют название «клоковые домены». Чтобы обеспечить гарантию надежности следует применять меры по переходу события с одной шкалы тактирования в другую. Для данных применяют FIFO с двумя независимыми входами тактирования (отдельно по записи и в другом домене по чтению). Для сигналов это 2 триггера,- Т-триггер и на втором одноклоковый формирователь импульса при смене состояния Т-триггера. Все это бессмысленно без жесткой привязки (Partition) к месту в домене. Либо локально не сгруппировать их под свой домен в констрейнах.

Я вас про симуляцию спрашиваю а не о том как работает fpga. Когда чип физически приезжает с фабрики, в него никто осциллографом тыцать не будет и не станет разбираться почему там синхронизация разошлась. До момента когда чип физически произведен, обычно все уже отлажено, начиная от отдельных аппаратных модулей, заканчивая драйверами для ОС. Если же у вас железяка отличается от симуляции, то либо вы плохо сделали железяку, либо у вас хреновый симулятор.

наверняка же бывает, когда чип не с первой итерации заводится, а так-то конечно да, весьма желательно чтоб работал с первой версии, бо дорого

Скупой платит дважды...
Решили сэкономить на speed grade,- лишний месяц работы дорогостоящего спеца. Если дальше будет большой поток тиражирования, то может это и будет оправдано...

Если же у вас железяка отличается от...

www.bleepingcomputer.com/...​-and-debugging-interface

О сколько нам открытий чудных...

Странно, что вы не «въехали»... До момента заливки дизайна в ПЛИС он подготовлен для идеального случая. Кстати, вы правильно заметили, что может быть обвязка хреновая (например пропустили дроссель на питание PLL или мало керамики по питанию или импеданс велик по GND, «не пропай» вывода). Суть в том, что «на железе» по всей площади синхронизация разная. Если есть запас быстродействия, может и нормально будет работать, а это параметр speed grade (SG), который отличается сильно по цене. Желая сэкономить на комплектации покупают самую дешевую из 3х обычно вариантов (кстати у Альтеры и Хилого направление оценки прямо противоположные и я потому путаюсь) и не удивляйтесь, если один и тот же дизайн при заливке на одну FPGA с одним SG будет работать, а с другим SG работать не станет....
Есть еще один вид симуляции (постфит), где отрабатываются поведение с учетом примерно реальных задержек. К ней обычно не прибегают, потому как время симуляции многократно возрастает, поскольку мощности компьютера гарантированно не хватает и ждать приходится часами. К этому моменту обычно появляется ясность при сборе данных по JTAG применяя SignalTab

МоделСим — необходимое, но не достаточное условие для хорошей работы. Уж если он не работает в симуляции, то ТОЧНО не будет работать на железе.

Могу сказать по своему опыту, но он у меня не большой в эллектронике — симулятор это одно, т.е. в нём хорошо общую концепцию проектировать. Но вот потом, когда собираешь готовую схему, вылазит не мало неожиданных штук) Где-то две длинные дорожки, одна подключена к микрику и при нажатии возникает дребезг, который наводит индуктивность на параллельной дорожке и проскакивает несколько наносекундный сигнал, который даже не видно на осцилографе. Я смог его поймать только логическим анализатором и т.д. Т.е. симуляторы (которые я знаю) такое не симулируют. И получается что в симуляторе всё ок, а реальная схема работает по другому. Вот тут ооочень важно иметь хорошие инструменты для отладки, иначе будешь как слепой котёнок тыкаться, пытаться империческим путём выявить проблему.

Вам никто не говорил, что проектирование на FPGA должно быть СТРОГО синхронным? А это значит, что дизайн гигантский конвейер!!! Только надо соблюдать принципы, которые гласят, что ВСЕ процессы должны быть гарантированно завершены к приходу следующего импульса тактирования... Никогда не забывайте об этом!

Вам никто не говорил, что проектирование на FPGA должно быть СТРОГО синхронным?

Говорили конечно, так и делаю когда действительно это нужно.

Но тут речь шла не о FPGA, а о схеме, на обычной плате.
Но тем не менее, когда приходит внешний сингал с дребезгом, даже на конвеерную схему, если дребезг попадёт на синхроимпульс, и в начало конвейра зайдёт шум.
Т.е. конвейерные схемы не спасают от таких проблемм.

Я это решил триггером Шмидта и конденсатором на входе. А дальше уже на конвейер и т.д.

Хм.. В ресурсе ввода вывода можно заказать триггер Шмидта. Можно и таймер запузырить, чтобы исключить дребезг(типовое решение). RC-цепочки в жесткой логике 155 серии не возбранялись (не везде), но для FPGA это моветон. Правда видел подключение шумового диода к ножке, но тут метастабильное состояние разрешается двумя триггерами...

Хм.. В ресурсе ввода вывода можно заказать триггер Шмидта. Можно и таймер запузырить, чтобы исключить дребезг(типовое решение)

Интересно. А как таймером можно побороть дребезг? Скажем у меня есть какой-то абстрактныйх вход. На него иногда приходит какой-то шум. Как таймер в этом может помочь?
Или Вы имеете ввиду, что-то типа одновибратора с ёмкостью. Что бы он генерировал импульс, только при заряде конденсатора, ёмкость которого достаточна для подваления шумов?

Правда видел подключение шумового диода к ножке

Тоже не совсем понял. Насколько я знаю, шумовой диод, иногда используют при генерации шума. А как им можно подавить шум? Поясните пожалуйста.

Спасибо.

В интернете полно объяснений. Суть-первый же фронт запускает таймер, на время которого события на входе не воспринимаются....
Шумовой диод помогает генерировать истинно случайные коды. Он нужен как раз! Я о входах ПЛИС говорил, а не подавлении шума

Суть-первый же фронт запускает таймер, на время которого события на входе не воспринимаются....

Ага, спасибо за информацию.

Он нужен как раз! Я о входах ПЛИС говорил, а не подавлении шума

А зачем на вход ПЛИС случайные коды подавать в контектсе дребезга контактов? Опять же спасибо за инфо, это действительно полезно и расширяет мой кругозор. Но не совсем понял, зачем при дребегзе контактов случайный шум заводить в ПЛИС.

Это я про RC-цепочки затронул. Связи прямой с темой нет. Это утрирование дребезга.. )))

А я вижу уход от возможностей ручного редактирования, как это было в первых инструментах. Все через явные команды на птичьем языке. ПЛИС — это прежде всего схемотехника архитектур! Утомляет «спагетизация» связей в иерархии составляющих. Продернуть шнурок через все порты — собачья гимнастика. Все мечтают об ООП. Понимаю...Но лично я вижу перспективу в создании инструмента с AI, где в диалоге с системой идет конкретизация хотелок разработчика по типовым решениям и увязке «шнурков». Была бы огромная помощь! И совсем круто — сразу видеть временные диаграммы последних архитектурных решений (в соотношении с соседними событиями, относительно которых идет построение).

И удобно что можно рядом с этим ядром зашить какую-то узкоспециализированную логику, которая как раз использует приемущества FPGA и заточена под параллельные вычисления. Такой себе гибрид из МК и ПЛИС, который берёт лучшее от обоих архитектур. Поэтому да, странно что у нас как то эта тема мало популярна. Весь запад во уже всю разрабатывет RISC-V ядра, портируют под них Linux. Думаю у RISС-V + FPGA большое будущее.

Интел уже запилил x86 гибридные процессоры с FPGA на борту.

Это деградация после того как Intel купил Altera (монополизация на лицо!!!) и в итоге дурацкий уход от ARM в 64 разряда к их монстру х86(Это не RISС!). Неужели лицензия ARM так дорого стоит?

Интел уже запилил x86 гибридные процессоры с FPGA на борту.

Прикольно. Быстрый путь, софта написано много под x86, допиливай любыве фичи которые хочешь на FPGA.

Но мне всё же ближе RISC-V. Объясню почему:
— Открытый стандарт. Это важно для других компаний и независимых разработчиков, т.к. они не зависят от воли Intel, не нужно платить никому никакие лицензилнные отчисления, и т.д. одним словом больше свободы
— Построенный с учётом ошибок в области предыдущих ISA процессоров, как ARM, так и x86. Т.е. вобрал в себя весь предыдущий опыт, и как следствие хорошо струкруирован и продуман. Уже заранее заложена возможность расширения и т.д. В общкм кайф.
Под него уже выходят открытые ядра, в которые можно заглянуть под капот, модифицировать, если нужно. Есть симуляторы и тут же можно заказать партию в кремнии.

Не путайте RISC и CISC !!! x86 в FPGA — извращение... (место на чипе, потребление) Вам НИКТО не даст посмотреть в x86.
Воспринимайте старину x86 как ошибку, которую преодолели. Единственно что есть в оправдание,- тот задел, что был сделан за 40 лет его существования

Не путайте RISC и CISC !!! x86 в FPGA — извращение... (место на чипе, потребление) Вам НИКТО не даст посмотреть в x86.

Я так понял, они и на дают исходники x86 ядер и не шьют его в FPGA. Проц отдельно, но к нему подведён просто FPGA...
Да, и насколько мне известно x86 внутри тоже RISC, начиная с каких-то поколений. На каком-то этапе процессор CISС комманды транслируют в RISC микрокод, который уже выполняется. Иля я что-то путаю?

он масочный... То что вы упомянули — вариации AMD, но не Intel. Это результат войны между этими гигантами, чтобы не платить санкции за нарушения лицензии. Главное, что х86 избыточен. Для себя я отмечаю как достоинство, которого по-моему нет у АРМ,-авантюрные вычисления, когда есть забегание вперед по 3м направлениям с дальнейшим разрешением по ожидаемому событию..

То что вы упомянули — вариации AMD, но не Intel.

С какого перепуга? у Intel’а вполне себе микрокод, даже документирован и открыт для получения общего представления как работает процессор.

Может я и не прав... НО... Сравните таблицу команд х86. Сокращенная??? А ВСЕ это конкретная логика в дешифрации системы команд. Это итогово тормозит (несколько тактов на исполнение уже RISC) ценой разрастания архитектуры (см. площадь «кремния»). И ради чего?

Это итогово тормозит (несколько тактов на исполнение уже RISC)

Интел уже лет 20 последние — суперскалярный процессор, умеющий выполнять несколько CISC команд за такт.

А ВСЕ это конкретная логика в дешифрации системы команд.

Там простая декомпозиция составных команд в микрокод. Сложности реально нет никакой.

(см. площадь «кремния»). И ради чего?

Площадь кремния как раз из-за суперскалярности, множественных конвееров и кешей, котроллеров PCI, памяти, GPU на борту. ARMу по производительности именно как готовой системы ещё далеко до x86 архитектуры, но если они сделают всё тоже, то и по размеру будут такие же как x86. Тут нет никакой магии.

Спасибо. Учту. Я слишком агрессивен

А! Пропустил... Рекомендую заглядывать в RTL-Viewer. Там вы увидите весь функционал дизайна в подробностях. Часто решения приходят, глядя на те построения. И более того,- Снятие целых слоёв логики, чтобы ускорить события, можно отслеживать там (естественно как следствие ваших действий в коде и нового синтеза)

Прелесть FPGA еще и в том, что проект можно вести в полном отсутствии платы. Более того,-так рекомендуется делать синхронно с проектированием п\п, поскольку бывают экзотические случаи, когда вдруг нельзя развести какой-то пин и система подсказывает, куда она может его вывести. (Посудите сами,- всегда ли вы можете развести сложную плату в 2 слоя?) А ведь тут есть аналогия, когда перекрёстные связи могут перекрыть прохождение сигналов внутри микросхемы. Я с этим встречался в 90хх. А на прошлой неделе вдруг, читая по теме инфу,-увидел тот же ход! Я считал, что это уже в прошлом... Ан нет! плотность связей бешенная..

Понял Вас! Большое спасибо за ценную информацию.
Интересно было бы почитать как проходила инженерия в 80-ых, 90-ых. Не хотите написать какую-то интересную статью, о том как это было и к чему мы пришли сейчас, так сказать эволюция электроники? Люблю читать подобные истории от людей, которые непостредственно принимали в этом участие. С удовольствием почитал бы Вашу историю. Или может видео блог запилить на YouTube, с описанием того времени, НИИ, процессах разработки, технологиях в общем думаю Вы поняли, что я имею ввиду — описать ту эпоху, конец 20-ого века в разрезе электроники. Думаю многим было бы тоже интересно Вас послушать.

Спасибо. Пока некогда... Скажу только, что мы как подводники сидели с резиновыми блендами (от бокового освещения) на экранах осциллографов, чтобы увидеть разовые события "просечек"(сейчас это называют глитчем).

Ахах. Сергиенко. Когда писал курсовую не вылазил из этой книги.

Будьте проще, учите английский. Вакансии верификаторов периодически проскакивают, их исчезающе мало, но и людей исчезающе мало. Будет больше людей, будет больше заказов, больше заказов — выше рейт. Это конечно долгий пути и намного проще сменить страну, но например компания где я сейчас работаю, некоторое время искала чип дизайнеров, не очень успешно и в итоге затею эту похоронили, нет людей.

Спасибо, дорогой! Я так и делаю... Я уверен, что это важно и нужно. Не побоюсь слова ОСТРО...

Если что, то на апворке пару раз FPGA-шники требовались, сам видел

FPGA может найти себя в нише квантовых вычислений, в алгоритмах, что обединяют в себе квантовую и XOR-NAND цепи. Канадская D-Wave построила итеративную цепь с CPU и ускорителем для MCMC. Есть ряд гибридных алгоритмов, где FPGA может пригодиться. Будет ли это новая инкарнация технологии? Время покажет.

Совершенно верно!.. Это маркер принадлежности страны к высокой технологии.

Не ясна суть баттхерта. Какой-то инженер веслал во имя величия родины в каком-то НИИ на какой-то фриковской технологии, а потом вылез из под обломков совка спустя 28 лет и обнаружил, что все эти ПЛИС в ВПК нормально юзают только американцы, а постсовок жалуется на кривизну земли. Разработки этого инженера имеющие ценность исключительно в сферическом вакууме оказались никому и даром не нужны, ну вернее не даром, а за квинтиллион денег. Разрушился миф, о том, что американцы тупые и паразитируют при поддержке массонов, а мы то умные и технологии вперед двигаем, оказалось что телефон и интернет изобрели таки на западе, а не в глубинах наших ИИ. Журба українських інженерів тепер немає меж...

оказалось что телефон и интернет изобрели таки на западе

Порождение FPGA: uateka.com/...​u/article/years/2004/1077

Эк какой борзой!.. Вы хоть в теме? Не надо тут воду мутить! Проекты реально работают, а суть спича в том, что далее пути нет. Нет задач и денег. А американцы нормальные мужики, только жируют в избыточных ресурсах новой элементной базы. А в Украине нормальные фирмы вытаптываются налоговыми службами. Это констатация фактов. Ничего личного.. Сам вертел в руках сотовый телефон украинского производства в середине 2000ных. Сделан был для дип.служб с шифрованием голоса. Выпущено было 200шт.

А вам что мешает новую элементную базу использовать, экспортные ограничения?

Сам вертел в руках сотовый телефон украинского производства в середине 2000ных.

Какой сильный разработчик, вертеть в руках 20-ти килограмовую гантельку %)

Сейчас, кстати, Илону Маску можно продать, он любит всё большое, угловатое с толстой сталью.

Уже не смешно. Обычный телефон. Легче нынешних раз в 10..

itnews.com.ua/analitics/152.html
Тут пишут что 250 грамм первый прототип был.

после описываемой выше неформальной презентации появились слухи о том, что готов первый прототип так называемого видеотелефона или же телефона с поддержкой сетей третьего поколения. Правда, габариты первой модели, по словам очевидцев, были просто катастрофически велики, но порадовал уже сам факт — оказывается, умеем же, если захотим!

Даже обидно... А где Альтрон? Ааааа. Это же спец-связь!!! Дипломатическая...

Тут пишут что 250 грамм первый прототип был.

И 10-ти килограммовая батарея в ранце за плечами %)

Аааа так он еще и с батареей был? Я думал он просто от розетки работал :-)

Я думал он просто от розетки работал :-)

Причём от той, что 380В %) Там просто трёхфазный фэн для охлаждения внутрях %)

Чего-то вспомнилась фраза, ходившая на полупроводниковом заводе в Херсоне в 80-е. Наши микросхемы имеют 14 ножек для пайки и 2 ручки для переноски (К155ЛА3).

да здравствуют советские интегральные микросхемы — самые большие микросхемы в мире

Тем не менее Союз-Апполон дал кучу периферийных контроллеров и разнообразие памяти (работал даже с 3мя питаниями!), шинных формирователей с 3мя состояниями. Творить можно было! Жаль, что на Украине ВСЕ предприятия умерли и не стали развиваться как в Белоруссии и России. А ведь было МНОГО. Хотя бы в Киеве.

К155ЛА3

вообще-то эта микросхема вполне стандартного размера без всяких ручек

Легче нынешних раз в 10..

На антигравах %)

Ну так не мути воду своим плисом. Я за тебя заказы искать не буду и деньги тебе давать тоже не буду. Если ты хочешь развивать (очевидно нафиг никому ненужную технологию) то иди зарегистрируй фирму и начни предоставлять услуги по разработке.

очевидно нафиг никому ненужную технологию

...Как далек ОН от научно-технической революции!!!

главное что бы кто-то был близок к ней, когда она произойдет и люди перестанут решать с помощью плиса задачи «как», а начнут ставить задачу «что». И вот тогда я поверю в научно-техническую революцию, до этого момента — все вскукареки, это лишь треп о жестоких реалиях

Банальный вопрос цели...

....Где те академики, где бизнесмены, что готовы ждать отдачи от смелых трат ради высокой цели?

И тут он возникает, зачем мне нужен ты в Украине, если в америке есть люди с финансами, знаниями, технологиями,опытом и возможностью быстро наладить производственные процессы? Какова цель развития плисостроения и плисоприменения в Украине? Платить тебе зарплату? Кичиться мнимыми достижениями в сфере не слишком высоких технологий?

Обязательно найдет!!! Слово может не подходит

Тема вкусного пломбіру та ковбаси по 2.20 не розкрита. НізачОт :-D

Статья больше похожа на лут для O1 визы. По информативности примерно соответствует Packt.

нас, кто имеет опыт работы с ПЛИС, мало

Добавлю еще- что любой опыт устаревает очень быстро. И поддерживать опыт релевантным в Украине- ну такое, мазохизм

Может излишне эмоционально... Я не совершенен.
Да, мы как музыканты. Должны жить в этом котле проблем. Сумма накопленных ошибок...
Услышать фальшь смогут профессионалы-музыканты, если не играл неделю...

Все закончилось еще в 90-ых, смирись и забудь.

Тогда советую учить PHP и Wordpress. Эта штука все еще актуальна и позволит заработать на хлеб без масла.

Удачи

жаббоскрипт жеж

почему мне стало стыдно от того, что я лайкнул этот комментарий?

У нас было 2 процессорные архитектуры, 75 фреймворков, 5 компиляторов, полрепозитория тестов и целое множество сборочных систем всех сортов и расцветок, мейкфайлы, а также голанг, пайтон, дотнет, руби и 2 дюжины гемов для него. Не то чтобы это был необходимый запас для написания стартапа, но если начал собирать тулчейн, становится трудно остановиться. Единственное, что вызывало у меня опасение — это пыха. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем код на пыхе. Я знал, что рано или поздно мы перейдем и на эту дрянь.

С ДНК тоже всё казалось бы закончилось миллионы лет назад, смирись и размножайся. Но нет же...

А что с ДНК? Ничего нового вроде как не открыли.

Третья цепочка уже появилась?

Он имел ввиду набор аминокислот, комбинация которых меняется

Это допустимые комбинации.

скажите, что нужен теперь еще 3й пол!.. %)

А он есть уже на основе существующих конструкций (сюрприз, сюрприз)

М, Ж, М+Ж

Вы меня натолкнули на мысль, что в линейном мире интеллект не родился бы! Из-за того, что наш мир не линеен феномен массива нейронов и образовался. Неизбежно...

Так точно, в линейном мире прекрасно чувствовали себя бактерии, жрали друг друга, и миллиарды лет ничего не менялось. Так же наивно людям считать себя венцом природы. Чёрное зеркало никто не отменял.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

капитан очевидность... А из топика это не видно?

Нет таких дерзких проектов! Где те академики, где бизнесмены, что готовы ждать отдачи от смелых трат ради высокой цели? И есть ли она? И как высока?...

Власть далека от нюансов. Да и заокеанские советчики помогли.. А теперь либертарианство снимает ВСЕ обязательства перед своим народом.

Товарищ — вам в Россию, там тоже либеральные ценности не в почете.

Розумне рішення.

Я изучал Маркса. Чтоб вы знали,- его изучают на Западе в элитных школах.

Делаешь просто. Выходишь из разговора и пишешь своё личное построение.
Касательно Маркса,- тенденция деградации в развитии вообще имеет свой базис. Мировое загнивание касается и нас с вами. Увы.

Давай с другой стороны!.. Речь об Украине. Так?.. Объясни происходящее, чтобы тебя понимали! Почему не состоялся Малазийский сценарий? В 90х все уши прожужжали

Вам этого достаточно, чтобы успокоиться?.. Вот Спасибо за только легкую форму! Народ ликует и скандирует «Слава Украине!»...

Чтоб вы знали,- его изучают на Западе в элитных школах.

В качестве средства для запудривания мозгов мамкиным сынкам, которые претендуют на крутых леваков. Всё образование в «элитных школах» нацелено на развитие способности подчинять и манипулировать, и Маркс — обязательный кирпичик в здание. Ещё обязательно иметь майку с Че Геварой и знать, когда её надевать.

А кто сказал, что марксисты леваки?.. Леваки пошли от идеализма(желания скорее достичь светлого будущего) Социал-демократы тоже Марксу следуют. Маркс мне интересен как специалист по капитализму. Его коммунистические воззрения (по влиянием Энгельса) мне не интересны. ВАЖНО понимать внутреннюю динамику КАПИТАЛИЗМА. Вот это ценят элитарники. Кстати, КАПИТАЛ внимательнее всех читают капиталисты, а не рабочие. А антимонопольные законы рождены как необходимость сохранения существующей системы. Все, хватит политики!

Маркс НЕ спеціаліст по капіталізму. Зокрема його теорія доданої вартості — це треш і угар.

Ні, це факт. Просто в його час не було уявлення про високий рівень автоматизації виробництва, і засоби виробництва розглядалися виключно, як підсилювачі праці, а не як зовсім окремі виробничі сили. Власне, вся економічна теорія Маркса зводиться до того, що єдиним джерелом доданої вартості є праця людини, але сьогодні вже для кожного є очевидним, що це не так.

Ну, і окреме питання, яке Маркс старанно обходив — це власне абсолютна величина створюваної доданої вартості. Втім, він тут не одинокий, сучасні «вчені»-економісти так само дупля не ріжуть в цій темі.

Да не это есть суть марксизма! Не догма..

А що ж тоді, по-вашому, є сутністю марксизму? Про всяк випадок нагадаю, що є дві теорії Маркса — економічна, та соціальна, що випливає з економічної. Мене вчили, що сутністю марксизму є відношення до засобів виробництва, які Маркс вважав другорядним елементом, висуваючи на перше місце працю людини. З цього випливали його ідеї про експлуатацію людини, віднімання власником засобів виробництва створеної людиною доданої вартості, та ідеї усуспільнення засобів виробництва задля загального щастя.

А ви що розумієте під марксизмом?

Случайно увидел... Нормальная конкуренция заканчивается с приходом монополий. С это момента НЕТ прогресса! Идет ХАЛТУРА... А эксплуатация была ВСЕГДА.

Перепрошую, це ви з ким розмовляєте?

нефть с газом от посягательств извне защищать-то надо

никому нахрен они не нужны

я про то, что есть более вменяемые поставщики. плюс сланцевая революция сильно разнообразила варианты

То-то в Мокшанії експорт нафти та газу вже кілька років скорочується :-D

и сейчас самая наукоемкая здесь отрасль — это сельское хозяйство

вот для робатов, которые в реальном времени будут отличать картошку от морковки и быстро-быстро круглосуточно собирать урожай FPGA вполне может быть в тему :)

Надо подсказать менагерам... Тогда селянин запросто будет готов под любую задачу. FPGA — фигня!

которые в реальном времени будут отличать картошку от морковки

Дешевле нанять местных реднеков, их дофига и дешевы и чинить не надо и ни электричества ни дорогих деталей не надо, даже в овне и морозе будут работать.

вот для робатов, которые в реальном времени будут отличать картошку от морковки и быстро-быстро круглосуточно собирать урожай

У меня есть идея на миллион, чтобы сэкономить на разработке нужно садить картошку отдельно от морковки! %)

Тогда нужны будут две модели роботов, один для картошки, другой для морковки, а это дополнительные расходы!

Вот почему нужно широкопрофильное образование! И радиотехника как раз такое дает...

А так же каллиграфия и животноводство.

бедолага...

Камрады, у меня есть практичный вопрос.

Допустим, я хочу запилить умножение на FPGA. Два 1024-битных числа -> 2048-битный результат. Мне нужно будет делать множество независимых операций умножения (т.е. их можно выполнять параллельно). Задача — сделать как можно больше умножений в секунду.

Запилил код:

entity top_level is
    Port (a_in : in STD_LOGIC_VECTOR(1023 downto 0);
          b_in : in STD_LOGIC_VECTOR(1023 downto 0);
          r_out : out STD_LOGIC_VECTOR(2047 downto 0)
    );
end top_level;

architecture Behavioral of top_level is
begin
    r_out <= std_logic_vector((unsigned(a_in) * unsigned(b_in)));
end Behavioral;

Если использовать этот подход «в лоб», то латентность такой схемы будет очень высока. Пока не знаю сколько. но допустим, 10 микросекунд. Значит, тактовая частота будет низкой, около 100 килогерц :(

Я так понимаю, я могу разделить сложное умножение на маленькие стадии, поставить D-latch между стадиями и объединить все это в конвейер. Тогда можно будет поднять частоту.

Я понимаю как запилить конвейер в VHDL в принципе. Но умножение это не тривиальная операция, и если вручную это делать, я скорее всего накосячу, какие-то стадии будут длиннее, какие-то короче, будут баги и т.п.

Как вы решаете такую задачу? Есть код, который выглядит тривиально (простое умножение). Как проще всего его сконвертировать в конвейерный код самым оптимальным образом?

Т.е. грубо говоря, я хочу сказать: «Вот мой VHDL код. Я хочу чтоб он был конвейерным, чтоб каждая стадия была не длиннее 2 наносекунд. Запили мне конвейер и скажи сколько там стадий получилось». Какой инструмент может мне помочь?

Я делаю код для Xilinx FPGA.

PS Это не биткоин майнер

Как вы решаете такую задачу? Есть код, который выглядит тривиально (простое умножение). Как проще всего его сконвертировать в конвейерный код самым оптимальным образом?

Если нужна быстрая сортировка, то имплементация пузырьковой сортировки и её тюнинг выглядит одним из самых бесполезных занятий. Для этого есть алгоритмы параллельной сортировки.

Точно также и с умножением. Реализация и оптимизация умножения в столбик достойна высшей награды — ордена «сизифов труд», первой степени. Для этого есть другие алгоритмы, которые лучше ложатся в железо, например, комбинация двух Karatsuba-Comba прекрасно обходит столбик, начиная с 512 бит.

Благодарю.

У меня не было цели вручную реализовывать умножение с помощью NAND блоков. Я предполагал, что я могу написать A * B, и toolset, который идет вместе с FPGA, разберется как наиболее оптимально это превратить в логические блоки. Как я понимаю на Xilinx, оно попробует запилить умножение больших чисел с помощью нескольких встроенных DSP (27×18 multiplier).

Я все равно хочу понять как делать автоматические конвейеры, не вникая в подробности того, как оно будет реализовано внутри

Перейдите в исчисление в остаточных классах (это совет для FPGA). Там НЕТ переноса.

Как мне это поможет перемножить два больших числа с выскоим рейтом операций?

Исходный вопрос вроде бы простой. Есть тривиальный VHDL код, который будет синтезирован в большое количество последовательных логических элеметов. Есть ли тулзы, которые могут его эффективно запайплайнить, чтоб я мог поднять частоту операций, не занимаясь онанизмом в виде ручного пайплайнинга умножения.

Мне кажется, что авто-пайплайнинг это несложный процесс для тулзы, которая понимает как работает FPGA.

тобі ж написали, тре розпаралелювати, а не робити послідовну послідовність операцій

Суть вопроса не в том, как распараллелить, а как запайплайнить уже существующую последовательность.

...во первых — вопросы увязаны между собой. можно сделать одновременно и то и другое. Далее распишите процесс сначала обще, затем посмотрите где уместны промежуточные регистры для конвейеризации. Это архитектура прежде всего! Опять-таки ДИЗАЙН.

Еще раз повторюсь, я знаю как делать пайплайнинг вручную, добавляя промежуточные регистры. Для сложных операций, которые присутствуют в моем дизайне, это будет долгий кропотливый труд, подверженый ошибкам и неточностям. Я не хочу этим заниматься.

Я ищу варианты как сделать это автоматически на базе моего готового VHDL кода (пример я привел выше). Вопрос вроде бы простой.

А я как раз подчеркиваю, что подход, как это принято в микроконтроллерах, для FPGA, не приемлем. Цэ — FPGA, дружэ... Считайте VHDL ассемблером.

Нiт. Между VHDL и железом несколько стадий. Как минимум: конвертация VHDL в цепочку элементарных логических элементов (что уместно назвать ассемблером), и расположение этих логических элементов на поверхность FPGA.

Если логические элементы могут быть представлены в виде directed acyclic graph (а операция умножения, например, может), то запайплайнить этот граф — относительно тривиальная операция для тулзы, ибо тулза может знать латентность каждого компонента, расставить d-latch там, где латентность последовательность превышает преемлемую и убедиться, что все стадии правильно синхронизированы.

Я не имею опыта работы с FPGA и плохо знаком с тулсетом, поэтому и спрашиваю какие тулзы могут это делать у тех, кто педположительно имеет опыт работы с FPGA. Мне сложно поверить, что я первый человек, который хочет такую тулзу, ибо весь интернет наполнен рекомандациями пайплайнить свои FPGA дизайны, чтоб держать тайминги в нужных рамках.

А вы констрейны формируете? Без них тайминги не удержите!

Наверное, не формирую.

Можно пример как это сделать, который будет понятен нубу, начавшему пилить первый FPGA?

Я перечитал эту PDF-ку несколько раз пару недель назад, пытался с этими штуками разобратсья, пробовал что-то указать, но ЯННП. Можно пример, какие констрейнты должны быть указаны для VHDL примера выше, и что эти констрейнты мне дадут? Я реально нуб.

Посмотрите временным анализатором задержки составляющих. Зафиксируйте ИМЕНА цепей и блоков, которые присвоены составляющим. Исходя из этих времен опишите в TCL ваши желания. Посмотрите топологию и критические пути. сгруппируйте их территориально. Процесс итерационный. Под лежачий камень...

Вопрос. Вы работаете с VIVADO? Там есть отдельный инструмент VIVADO HLS. Там как раз есть возможность автоматизировать процесс при помощи СИ. Может ВАМ поможет. Есть возможность варьировать компромисс быстродействие\ресурс www.youtube.com/...​fw00Ir1BJBwh4HTiZ&index=1

Применение HLS дает быстрый результат но не очень хороший по быстродействию... Надо смотреть генерируемые hdl файлы на предмет избыточности (там универсальные решения)

Это не контроллеры! Это другая ВСЕЛЕННАЯ... Рекомендации описал уже. Все Руцями... Задача не тривиальна по архитектуре

Мне сложно поверить, что я первый человек, который хочет такую тулзу

twitter.com/...​tatus/1191350719334506496
youtu.be/y3qkf3bajd4?t=4060

For example, ALL MANS ARE EQUAL was a possible Newspeak sentence, but only in the same sense in which ALL MEN ARE REDHAIRED is a possible Oldspeak sentence. It did not contain a grammatical error, but it expressed a palpable untruth—i.e. that all men are of equal size, weight, or strength. The concept of political equality no longer existed, and this secondary meaning had accordingly been purged out of the word EQUAL.

Я не понимаю в чем СУТЬ и как она применима к проблеме, которую я описываю.

подверженый

подверженный

Ви ще запропонуйте перемножити два числа з допомогою FFT. А що автору питання потім робити з тими залишками? Їх навіть порівняти між собою не просто.

architecture Behavioral

це зразу насторожує,

ethesis.nitrkl.ac.in/66/1/moumita.pdf
CHAPTER 5

скоріше за все в тебе виходить алгоритм «множення в стовпчик» на довгому ланцюгу JK регістрів чи щось таке подібне, що буде довго

P.S.
почитай про типи архітектур
vhdl.renerta.com/...​obile/source/vhd00005.htm

ethesis.nitrkl.ac.in/66/1/moumita.pdf
CHAPTER 5

скоріше за все в тебе виходить алгоритм «множення в стовпчик» на довгому ланцюгу JK регістрів чи щось таке подібне, що буде довго

P.S.
почитай про типи архітектур
vhdl.renerta.com/...​obile/source/vhd00005.htm

Классика. ...Я же говорю, как на ассемблере ВСЕ прописать! Автоматом собрать для функционального завершения циклов, а констрейнами забить как гвоздями требования по быстродействию.

чувак хоче А * В = С, і шоп бистро було в логіці, а не виходить, гг

Обычная ситуация. Это вам не на Си писать!.. Тут НЕТ программного счетчика. ВСЕ параллельно!

ну як ти кажеш, не учив він бінарної арифметики, як на алементах И-НЕ забацати хочаб 4х розрядний перемножувач, тоді б не задавав питань «а чого такий довгий підпрахуй на ФПГА»

Эм, где я спрашивал «почему долго»? Я понимаю почему долго и спрашивал, есть ли тулзы, которые все сделают быстро с помощью пайплайнинга (вроде бы уже 10 раз один и тот же вопрос задал).

Є програма написана на СPP:
а * b = с , але виконується довго, так як а і б мають по 1024 біта.
Питання, чи є яка тулза, яка може покращити перформанс, там GPP компілятор може з опціями -О10050 чи, може яка волшебна СРР ліба, ще що :)

В чем проблема с моей постановкой задачи. я не могу понять. Я читаю PDF про умножение, там в конце страница VHDL кода для умножения двух 4 битных чисел.

Я наивно предполагаю, что существующие FPGA тулзы предоставляют высокоуровневые абстракции и программист FPGA не должен пилить умножение с помощью NAND блоков.

И судя по всему VHDL позволяет умножить два числа, просто написав A*B, по крайней мере, я вижу на экране схему, сгенерированную из моего кода выше, и эта схема похожа на умножение. Более того, она использует не просто кучу NAND, а еще и делает offload части операций в DSP, а это вообще тройной профит.

Вопрос в том, как намекнуть тулзе, что в эту схему стоит разбить на стадии и поставить регистры между ними.

Тю... Подойдите творчески! Поставьте не 4х разрядный, а DSP 18*18 и тогда сократится число раундов вашего автомата.
...опять вас «заносит» на подходы программиста микроконтроллеров!

скоріше за все в тебе виходить алгоритм «множення в стовпчик» на довгому ланцюгу JK регістрів чи щось таке подібне, що буде довго

Меня это «долго» не беспокоит. Я понимаю, что будет долго, мне главное, чтоб все это запайплайнилось чтоб я мог поднять частоту и получить высокий рейт операций.

Не цепляйтесь к умножению, у меня несколько операций идут одна за другой. Я умножение привел просто как пример.

Никаких регистров сейчас нет. Из схемы похоже что алгоритм типа умножения в столбик, но использует кучу DSP. Я пытаюсь разобраться, что нужно сделать, чтоб тулза сама начала добавлять регистры между DSP (что выглядит тривиальной операцией, как я писал выше/ниже, потому что тулза уже знает латентность каждого компонента и каждого «провода» и может вставить регистры там, где они будут нужны, чтоб держаться в рамках такта) и никто не может мне помочь. Я нуб, если что.

Знакомая картина.... «Сама тут» не катит! Вы намеренно покажите синтезатору и фиттеру , что тактовая должна быть в полтора раза выше при помощи своих pragma (каждая фирма имеет свой набор). помню в альтере я писал 4 строки (сейчас с ходу не могу найти). Дополнительно описал счетчик как сдвиговый регистр... Чтобы не «расслаблялся»!* . То что система проектирования зацепила DSP умножители в проект вполне закономерно. Масочный умножитель 18*24 имеет предельное быстродействие. Я бы на вашем месте следовал статье, где автомат ведет процесс сборки локальных умножений на сдвиговом регистре. Предвижу проблемы на сумматоре в 1024 разряда. Тут будут тормоза, а значит придется писать руцями. Такова рутина... Мне бы было интересно сделать такое в остаточных классах, но останавливает процесс обратного перехода в действительную математику. Там будет точно КРУТО! Еще бы я заглянут в библиотеку HLS, где описаны максимум 64 разряда. Чемм определяется этот потолок? Может быть там получится сделать клон для 70 разрядов для начала? По любому не надейтесь, что получится автоматизировать этот процесс... А от опыт констрейнить и писать требования будет ценен!

Дополнительно описал счетчик как сдвиговый регистр... Чтобы не «расслаблялся»!*

Можно поподробнее?

да это унарный счетчик! ...и тут нет переноса. Каждый импульс счета сдвигает по регистру код, который известен. Получается можно вести счет бит в последовательности и ловить простым дешифратором состояние завершения приема. На высокой скорости обычный счетчик сбоит и мне не удавалось получить верную работу автомата, пока я упростил. Как-то так. К вам это не относится.... Это только подсказка в важности переноса для счетчика...

дивись, от мікроконтролер напр. має тактову частоту 12Мгц, і 1Мгц одни машинний такт,
моноження виконується, скажімо за 2 машинних такти, тобто за 24 тіка.

Тобто там є вже апаратний перемножувач.
Як він працює. От подумай, в школі вчили таблички множення 0 до 9 і так само можна зробити табличне множення 0..16.
0..1024 теж можна, але в тебе піде на такий модуль дуже багато комірок ФПГА.
Тобто архітектрура буде змішана, частково конкурентна, частково послідовна,
тобто ти табличне множення будеш виконувати в кілька кроків (так само, напр. як при апаратному множені байт на байт в мікроконтролері потім роблять множення цілих довжиною в слово або два слова.)

Якщо лінь в тому розбиратися самому, пошукай готове ІР core для швидкого множення і буде тобі щастя.

разрядность итога умножения в 1024 разряда задача решаемая для ПЛИС и это не тривиальная задача

не тривиальная

нетривиальная

Це не Вам. Це було зауваження г-ну Кривокрисенко, який постійно всім пише подібні коменти, при цьому робить купу помилок. Ми так його тролимо :)

Приведите пример проекта, где реалистичного проекта где необходимо и оправдано использование FPGA

Легко. 1.Преселектор цифрового панорамного радиоприемника с оцифровкой эфира в темпе 96МГц на 14 разрядов с гетеродинированием(Гильберта) и фильтрацией(с одновременной децимацией) комплексных отсчетов. Оконная операция перед FFT и отправка результирующих спектров в вычислитель на Kontron через PCI 66МГц в 32 разряда. Встроенное декодирование различных видов модуляции. Документирование сеансов связи в архив. Управление возможными средствами радиоэлектронной борьбы...

Управление возможными средствами радиоэлектронной борьбы...

Я так понимаю, это что-то из военной области, за что программисту в НИИ заплатят копейки.

Не вижу дефицита реалистичности в данном примере

Добавлю, что цифровая система успевает обсчитать 9 таких потоков, а тонкая часть(определение источника направления излучения) заключена в фазовой картинке по каждой антенне. Глядя дальше, известен метод вычисления направления излучения в случае антенны ЛЮБОЙ формы(например — корпус самолета или корабля). Это матричная математика.

Не поверите,- это частная лавочка (из бывшего ВПК), где я 2 года получал 2500гр\месяц (конец 2000хх). Причем я там был ЕДИНСТВЕННЫМ кто владел HDL... Страшно им было в коде блукать...

Не поверите,- это частная лавочка (из бывшего ВПК), где я 2 года получал 2500гр\месяц

Почему же, поверю

Все три — это решения задач после того как зажали яйца в тиски, в них нет верхнеуровневой поставновки задачи. Как правило, изначальная задача может иметь множество решений. Чем-то всё это напоминает одного кастомера, который хотел обрабатывать 100000 прерываний в секунду, потому что так надо и просил модифицировать ОС под него. А по факту изначальная задача, а не задача сведенная к обработке 100К прерываний в секунду, решалась покупкой платы за 10К$ с готовым решением на борту.

Сразу видно,- вы не имеете радиотехнического образования. Цифровой приемник -это из области радиоразведки и ИНОГО решения, что я описал, НЕ СУЩЕСТВУЕТ.

ифровой приемник -это из области радиоразведки и ИНОГО решения, что я описал, НЕ СУЩЕСТВУЕТ.

Круто. Надо обратить внимание на Sirius XM приёмник в моей машине, может он как кот шрёдингера, вроде есть, но его не существует.

Кот Шредингера из-за океана отслеживает применяемую элементную базу (производительность и разрядность АЦП прежде всего ). Сейчас уже достижима чувствительность в 128 дБ за счет когерентного накопления и встроенного генератора шума ( метод дополнительного увеличение разрядности). А его котята уже ставят приемник непосредственно на антенную систему.

2. Расширение портов ввода\вывода для TMS320 в пространстве внешней памяти для 32х UART оптики в 10МБит, 32 канала ШИМ(тоже оптики), сбор и фильтрация(программированная) данных по 3м фазам сети, в каждом из которых 12разр 8 каналов. Вычисление среднего уровня и компенсация его в итоговом значении отсчетов. При это параллельно идет процесс контроля критичных уровней для аварийного отключения ШИМ, Контрольных сумм MODBUS. Сборка\разборка пакетов для каждого оконечного устройства, прежде чем заявить о готовности данных на считывания процессором через собственную систему векторной системы прерывания. И это еще не все... DMA компоновка регистров, чтобы не нагружать проц. Все это (регистры\прерывания\DMA) построено в пространстве внешней памяти TMS320... Проц в итоге «спит» и есть запас времени для развития сервиса...

10 Мбит оптика это круто, но вроде как проблемы решены для 100Гбит оптики и все идет дальше.

Есть вариант на 5 Мбит оптику. Ради дешевизны. В 3 раза дешевле!

3. На БОРДЕ c мощным вычислителем остались ТОЛЬКО линии порта DIO (5 разрядов 50МГц), а управлять надо еще 18UART с манчестеровским кодированием для управления независимыми приводами. Сделать МОСТ для двунаправленного обмена информацией с побитным пакетированием и формированием и контролем контрольных суммами может ТОЛЬКО ПЛИС. (У меня это заняло месяц работы) Каждый канал имеет свой FIFO как по передаче, так и по приему(асинхронному по доставке). Циклограмма обмена стартует по внутреннему программируемому таймеру, а форматы посылок бывают 4х видов(в зависимости от номера манчестеровского порта). Мост формирует прерывание при завершении цикла, а система ДИАГНОСТИКИ (достоверности) данных, дает флаг,-чему верить. Только потому, что программист отказался писать драйвер для этого моста, была сделана версия уже на Xilinx FPGA уже под PCIe... Это уже другая история! (Это о качестве постановки задач)

ЯННП. Это какой-то нечитаемый набор слов, который никому кроме вас непонятен. Я даже не могу понять, тут описана реальная проблема, или выдуманная проблема, оправдывающая использование FPGA.

Можно на литературном русском языке объяснить какую выгоду я получу, если найму FPGA программиста?

Это реальная задача. Управление антропо-роботом.. Странно, что вы не утруждаете себя вникать. Главное понять,- для FPGA нет нерешаемых задач! И это ДОРОГО, потому как под экзотику нет универсальных архитектур.

а для чего тогда ASIC-и делают, если нерешаемых задач нет :P

В тираже это уже на порядок дешевле! Стыдно не знать...

Это реальная задача. Управление антропо-роботом..

DeviceNet, Profibus, Profinet, Ethernet/IP, CC-Link.

Главное понять,- для FPGA нет нерешаемых задач!

Вот пример задачи, которую сложно решить на FPGA: dou.ua/...​rums/topic/29036/#1725122

Вы ничего не ответили :) Вопрос как автоматически запайплайнить тривиальный VHDL код. Я не вижу ответа на этот вопрос.

Я говорил о методе применения математики в остаточных классах. Вам придется только корячится с обратным результатом преобразования. Удачи!

3. На БОРДЕ c мощным вычислителем остались ТОЛЬКО линии порта DIO (5 разрядов 50МГц), а управлять надо еще 18UART с манчестеровским кодированием для управления независимыми приводами.

А купить дополнительную плату с сотней GPIO?

а управлять надо еще 18UART с манчестеровским кодированием для управления независимыми приводами.

Синхронные SDLC/HDLC в 2019 — это уже что из разряда лазерного прицела для кремниевых ружей.

Вы смешно выглядете... В голове хозяина ден-знаки и именно жмот в приоритете )))

Вы смешно выглядете... В голове хозяина ден-знаки и именно жмот в приоритете )))

Я смешно? Или самоделкин-разработчик FPGA, стоимость которого вместе с разработкой на n-тушко-месяцев дешевле одноплатника? За границей умеют считать деньги по большей части и используют подготовленные решения.

Я вижу тут недостаток узкопрофильного образования в США. Они не могут порой за деревьями леса увидеть.. Как в той проблеме использования ручки в невесомости.

История про ручку — совковый миф, выдуманный КГБ.

А потом выяснилось что кусочки графита не очень полезны в условиях невесомости.

офтоп..

недостаток узкопрофильного образования в США

Речь о готовых решениях? Речь о том как превзойти характеристики обыденного. Нет в продаже, либо астрономическая цена.. Вы теплое с ароматным сравниваете...

сравнивать стиральную машину с панорамным цифровым высокочувствительным приемником, чувствующим фазовые параметры сигналов,- уникальное изделие! Это не для среднего специалиста...

Знает радиотехник, радио-разведчик. ...Это коллективная работа и одиночкам не доступна. Если бы не образование СССР, таких продуктов бы не было.

Не понял. Теория известна. Элементная база (дозволенная от проклятых капиталистов) есть. Специалисты еще из СССР подобраны и не разбегаются. Спрос, хоть и маленький, есть. Твори!

Мажоры голодные собрали по сусекам Rohde & Schwarz психанули и на колене собрали систему, которая ВДРУГ стала интересна иностранцам...

не полезны для оборудования, а не для космонавта

4. Концентратор связи верхнего уровня(КСВ), в Котором в Top-Level ETHERNET 100Мбит UDP и 4 порта UART 25Мбит\Сек, а ниже RS422 по 22 м портам (256кБит\Сек) с полным дуплексом и контролем сумм по MODBUS. Особенность в том, что ВСЕ линии дублированы и фоново идет контроль идентичности потоков у подобного КСВ, работающего НЕЗАВИСИМО. Если обнаруживается различие,- система уходит в защитный ОТКАЗ.

Опять же задача натянута как сова на глобус до точки, где оправдано использование FPGA, но хотелось бы услышать изначальную задачу.

Особенность в том, что ВСЕ линии дублированы и фоново идет контроль идентичности потоков у подобного КСВ, работающего НЕЗАВИСИМО. Если обнаруживается различие,- система уходит в защитный ОТКАЗ.

Ну и зачем? Что мало средств контроля, только дублирование и сравнение?

Вот это ты зря пнул мячик на моё поле %) Дублирование линий не повышает надёжность работы устройства и не увеличивает уровень SIL.

Я сам угораю с железнодорожников... Они считают, что солнце погаснет, а их аппаратура точно будет работать!!! Есть одно НО. Спасительный прыжок в кусты! — защитный отказ. Дескать — ВСЕ ОТКЛЮЧАЕМ и мы не виноваты... Это так ОНИ считают

И последнее пятое!.. Этот пункт относится к проектам, где я не участвовал, но разбираться приходилось. В 90х еще не было таких мощных ПЛИС! Сейчас такое жутко секретят, но это все было известно при СССР. Уйти от проблемы переноса можно применяя математику в остаточных классах. Появляется уникальная возможность не страдать от округления результата. Его НЕТ.
Модная сейчас радиолокация шумоподобными сигналами, Сверхчувствительные цифровые корреляторы, криптография наконец базируется на этой математике. Только есть огромный недостаток в ней,-отсутствует операция деления. А Теоретико-числовые преобразования Ферма\Мерсена привлекательны с точки зрения реализации свертки на FPGA, т.к. могут выполняться без умножений. Лицензия на крипто-библиотеку стоит очень дорого, но написать простые раунды кольцевых преобразований возможно.
Проц тут укакается...

...забыл упомянуть БЧХ. Обнаружение и исправление ошибок в потоке. Попробуйте без FPGA!

В нас на Cypress Semiconductor FPGA активно юзаються для перевірки самих мікрокотролерів та їх окремих блоків. FPGA платформи — від дешевих Xilinx Artix-7, середньої вартості Kintex-7 до дорогих Kintex ku115, Virtex 7. Перед тим як мікроконтролер запускати на виробництво, то всі програмні драйвери переріряються на мікрокотролері із усією цифровою периферією (ядра від Cortex M0 до M7), який спортований на FPGA. Ось ще одне використання для FPGA для валідації та прототипіювання. Великий проект для FPGA синтезуватися та розводитися, наприклад, годин 12.

Вы сами знаете ответ.

потребности надо выявить в практической деятельности,

Вот что главное.А потом надо найти русскоговорящего еврея из Израиля который привлечет много американских денег.И все.Все просто.Прошло то время когда этим НИИ занимались,другое время сейчас

Так я о чем... Нет науки в Украине! Скудоумие фантазии при вырождении инженерных кадров. Раньше я как-то кормился от НИИ, объясняя теоретикам возможности и варианты решения их задач. Было легко убедить принимать решение. Теперь это история.

Кадров нет и они в ближайщей перспективе на Украине не появятся.Это реальность.Есть вариант выживания это найти потребность в применении технологий,собраться с похожими Вам по духу людьми,обсудить и далее работать по схеме что я описал.Другой выход это напрочь забыть про Родину и уехать

думаю об этом... Спасибо! Умеете поднять дух...

Я просто кое-что видел и в одном из похожих проектах немного поучаствовал.Так что мой совет абсолютно из практики.Если у Вас получится,не забудтье меня найти и поблагодарить миллионом за толчок.Я надеюсь на Ваши миллиардные обороты в будущем.Успеха, удачи и вперед!

Вы думаете почему в поисковиках DOU.ua, ua.JOOBLE.org, work.ua нет даже классификации профессии FPGA Designer, HDL Developer?

С разморозкой тебя. Ну во первых FPGA и HDL сами по себе никому не нужны, важна сфера применения и опыт в ней. Как никому не нужны чистые сферические C и С++ програмисты без прикладной области. Например, когда заказчик задекларировал, что он будет делать автомобильные дисплеи с реализацией DisplayPort на FPGA, я ему предсказал, что FPGA их убъёт. Через два года разработки имеем 90% законченного проекта, в котором 90% проблем связаны с различными компонентами систем, реализрованные на FPGA.

И теперь предстоит делать выбор,- либо ехать для работы за кордон, либо сознательно перепрофилироваться в программисты микроконтроллеров под еще большую примитивизацию текущих задач.

Где ты там увидел выбор? Во-первых микроконтроллеры — это такой же маргинализм, как и FPGA. Прошлое, настоящее и будущее за System-on-Chip (SoC) и полноценными ОС на них. Во-вторых в 2007 году когда я осторожно начал искать новую работу в embedded — её уже не оказалось. Работы по этому профилю в Украине нет с достойной оплатой. Есть единичные предложения, на которые разумный человек ставку делать не будет, а будет переезжать туда, где работы много и специалисты востребованы.

...Я, уважаемый, в этой сфере более 20 лет и применений за плечами не мало. Так что приоритетность целесообразности мне известна. Детская болезнь молодых проектировщиков объяснима. Теперь.... "

проблем связаны с различными компонентами систем, реализрованные на FPGA

" — это только подтверждает уровень самого дизайнера архитектур. Тот самый случай, когда программисты контроллеров судят по себе о примитивности задач в FPGA, хотя это даже РАЗНЫЕ ВСЕЛЕННЫЕ! Несоразмерно... Считаю ,что спецы FPGA занимаются АРХИТЕКТУРАМИ, а не программированием. Программирование там начинается с момента, когда надо оживить MicroBlaze или ARM в SoC. ....Не тому спецу досталось!!!

..Я, уважаемый, в этой сфере более 20 лет и применений за плечами не мало.

А я 25 %)

Считаю ,что спецы FPGA занимаются АРХИТЕКТУРАМИ, а не программированием. Программирование там начинается с момента, когда надо оживить MicroBlaze или ARM в SoC. ....Не тому спецу досталось!!!

Что заказчик, что исполнитель — это компании с мировыми именами. Если уж там не тому досталось...

Приятно видеть родственную душу... Пока из того, что мне известно, на гребне применений FPGA (Virtex −7 и выше) есть интерфейс в кубите квантового компьютера. Вот там без FPGA не обойтись!.. Помню мульку от ALTERA, что 10е поколение будет с оптическим внешним миром. Они ошиблись! (хоть и мирового уровня!). Это будет 12 поколение.

...Я, уважаемый, в этой сфере более 20 лет и применений за плечами не мало. Так что приоритетность целесообразности мне известна. Детская болезнь молодых проектировщиков объяснима. Теперь.... "

проснувся із спячки і поняв, що FPGA тут нікому не нужєн

Почему же,- 3 последних года был востребован. Но тот успех, что поимела контора превратила её в объект отжима бизнеса. Похоронная команда уже заметна. Последние ростки прогресса в Харькове будут затоптаны. И никаких шансов стать Европой не будет, поскольку новые хозяева не понимают главного (заранее говорю) — нужно обладать техническими знаниями! Но финансистам пофиг все сложности созидания и массового производства.

які високі технології?
олія, пшоно ... трохи оутсорса жабаскрипта
мені ще десять років тому на СофтСерві сказали «ембедед це сложно»

И никаких шансов стать Европой не будет, поскольку новые хозяева не понимают главного (заранее говорю) — нужно обладать техническими знаниями!

Европы не будет, пока твои хозяева покупают порш, а тебе дают копейки на борш. Незаменимых людей не бывает

Зверинный капитализм как раз увольняет незаменимых людей (ну по крайней мере тех, кто так думает). У нас в компании пару раз была такая демонстрация. По итогу нанятые люди в замен незаменимого работали лучше и производительнее. Да, это стоило бизнесу определенных денег и трудностей, но вместо одного незаменимого с комплексом наполеона появлялась команда из 2-3 вполне заменимых людей.

Это так, когда за воротами стоит толпа опытных спецов. А когда НЕТ?

А когда нет, то меняешь подход. И большинство опытных спецов оказываются ненужными.

Типичный ход хозяина-финансиста, когда знает, что скоро налоговая отберёт его бизнес. Сброс мешков с песком, чтобы еще подержаться в воздухе лишний месяц.

так скоро крах долара і Америці капут, он як гривня росте! мабуть щось знають якщо вкладаються

Что-то придумают... Говорят, что такой рост гривны от будущей продажи ЗЕМЛИ. Возрос спрос

по моєму, фраза «незамінних нема» походить від Сталіна, так що не тре пихати ваш звіриний капіталізм із ноухау із воєнного комунізма

Тут говорят немного по другому — «Everyone is Replaceable», но фраза родом из 80-ых, так что вполне возможно что сталинская, но тут она местная %)

Everyone is Replaceable

бдют патентну чистоту на фразу

Вот тут ловушка... SoC не самоцель, а необходимость! HW и макроячейки массивов FPGA дополняют друг друга. Это качественно новый уровень технических возможностей. Считаю нормальным устраиваться на работу на конкретную цель,- радиотехнический комплекс ли, управление и контроль IGBT в 10МВт установке ли, расширить набор периферийных устройств с одновременной разгрузкой проца... Я по профессии радиоинженер и тут не до мечтаний об академизме чистой математики..

Я не беру в рассмотрение технологическую отсталость производства многослойных печатных плат, монтажа BGA-корпусов и дороговизну.

Разве сейчас экономически обосновано производить платы где-то кроме Китая?

Вы упускаете важный аспект трудности контроля производства многослойных п\п. Отсутствие такого контроля опасно неработоспособностью собранной итоговой системы. Вы уверены в аттестации качества п\п в самом Ките? Допускаю компромисс, когда заранее следует вводить тестопригодное проектирование п\п под граничное сканирование.. Это уже в Украине!

Просто хватит работать на всякие мелкие конторы, у которых нет ни влияния, ни доступа к современным технологиям. Если голова разработчика болит о том, ктобы произвёл многослойные платы без брака и сделал пайку BGA без перегрева и недогрева, то разработчик что-то делает не то и ему надо менять всё.

В моём эссе и делается этот вывод! В Украине НЕТ серьёзных контор. Мелкие до 200 чел группки барахтающихся инженеров, вынужденных отказывать себе в целых этапах, входном контроле,- ради «золотой жилы» вожделенного тиражирования своего решения.

В Украине НЕТ серьёзных контор.

Украина — это страна победившего веба и экспортного ИТ. Откуда тут может быть рыба, если её травили последние лет 20 беспощадно?

Підписатись на коментарі