Обновить
64K+

FPGA *

Программируемые логические интегральные схемы

113,59
Рейтинг
Сначала показывать
Порог рейтинга

У меня двойственное отношение к технологическим ностальгантам. С одной стороны, я с большим интересом хожу в музей истории компьютеров в Маунтин-Вью, Калифорния, а также считаю полезным введение небольшого количества исторической интроспективы в образовательные курсы, чтобы понимать истоки ключевых изобретений, например: прерывания (DYSEAC, 1954), внеочередное выполнение инструкций (CDC-6600, 1964), векторные регистры (Cray-1, 1976) итд.

С другой стороны я считаю вредным, когда старперы пытаются учить молодежь на примерах какого-то старья типа PDP-11, 6502 или Z80. Я понимаю что в 1970-х PDP-11 поразила их красотой, но все эти автодекременты с двухадресными инструкциями хорошо вписывались в микрокодовую идеологию своего времени, но не вписались даже в идеологию 1980-х, с статическим hard-wired конвейером. Ну выучил старпер молодежь ассемблеру PDP-11, а как теперь привязать это к созданию конвейерного процессора на верилоге?

Аналогично аккумуляторная архитектура 6502, которая для ностальгантов связана с молоденьким Стивом Джобсом и Apple II - это следствие не только ограниченных ресурсов 1970-х, но и того, что в те времена доступ к памяти происходил быстрее, чем арифметические операции. Только в таком контексте ее стоит упомянуть перед тем как перейти в набору регистров в современном RISC-V.

Я видел как некий прибалтийский университет пригласил к себе европейского профессора из Италии, который стал там учить студентов стоить копии Apple II - способствует ли это подготовке современных проектировщиков процессоров? Имхо пример того, что европейское не значит качественное.

Про Z80 и спектролюбцев я вообще не говорю - там попытки навести косметику на набор костылей в Intel 8080, с косвенной адресацией через конкатенацию 8-битных регистров H и L и прочий маразм. Чистая сублимация по поводу дискотек 1980-х и кучерявых девочек на них которые сейчас стали бабушками.

К чему я все это пишу. Сегодня в некоей ностальгантской группе фейсбука опубликовали пост с картинкой мануалов по 8086/8088, а также про DOS и BIOS. Я там написал что эти технологии были уже устаревшими в момент выхода этих книг в 1980-х. Далее некий немец поставил сердитый несмайлик и вступил со мной в диалог про это самое:

Теги:
+22
Комментарии15

Сегодня директора стратегического маркетинга компании Synopsys спросили, что он думает насчет того, чтобы софтвер его компании писал ИИ? И знаете что он ответил? «Это дело далекого будущего. Для этого требуется математика уровня PhD, а также итеративная доработка на основе проприетарных данных от фабрик микросхем — данных, которые ИИ пока не способен полностью смоделировать. (Пока!)»

Прикол тут в том, что сам Синопсис хайпит вовсю свой ИИ-софтвер для других компаний. А сами, как вы видите, говорят: мы де перейдем на это в далеком будущем. При том, что их софтвер — это просто программы на C++. Я работал в Synopsys, так что я знаю изнутри. Так что не говорите мне, что ИИ якобы уже хорошо пишет на C++ алгоритмически-интенсивные программы.

Для тех кто не в курсе: софвер Синопсиса используют инженеры для проектирования микросхем. В комментариях мой слайд про процесс: код на языке SystemVerilog превращается в граф из логических элементов и элементов состояния (D-триггеров), потом программы размещения и трассировки раскладывают и соединяют этот граф по площадке микросхемы.

От этого трудно отмахнуться! Перед нами цитата не луддиста-отрицателя ИИ, а человека из самого истока всех чипов, которые проектирует Apple, Intel, NVidia, и даже чипов для российких дронов (компании в Зеленограде тоже используют софтвер от Synopsys). ИИ сможет писать такие программы на C++ в Да-ле-ком Бу-ду-щем. Так что в этом году всем нам AGI не грозит.

Теги:
+20
Комментарии2

На конференции SNUG Silicon Valley 2026 встретил давнего приятеля, китайского американца, который последние десять лет работал в компаниях, занимающихся чипами для аппаратного ускорения искуственного интеллекта. На позиции инженера по верификации: SystemVerilog тестбенчи, UVM итд. Его мнение про область:

  1. В области training никто не превзойдет NVidia.

  2. В области inference слишком много компаний. Скоро произойдет лопание пузыря, примерно как с доткомами в 2000–2001 годы, и большинство из них вымрет.

  3. Но парочка останется, как и лидеры типа Amazon и Google после дот‑ком пузыря. Они будут отличаться от NVidia тем что дешевле.

  4. Особенно несладко придет компаниям, которые метались между тем на что нужно ставить — CNN, LLM, трансформеры, датацентры, автомобили, edge computing.

  5. Его на работе нагибают на использование ИИ при писании кода — ведут учет потраченных токенов например. Он этого не любит и спросил меня, как к этому относятся у меня на работе.

Я ему сказал — у нас начальство относится рационально: «если вы находите в этом пользу — ок, если нет — не парьтесь». Тем более что на наших задачах ИИ плохо работает — у меня собственно была на эту статья и постер на конференции.

Товарищ сказал: «ну хорошо, если меня уволят за неиспользование ИИ, буду стучаться к вам».

Теги:
+26
Комментарии15

Против лома нет приема! Конкурсы по ASIC Design для молодежи станут таким же привычными как математические олимпиады

Наконец-то в России наладили массовый MPW сервис производства микросхем для молодежи! Каждый студент, у которого есть способности к проектированию процессоров, аппаратных ускорителей ИИ, сетевых чипов, может бесплатно участвовать в конкурсе и спроектировать собственный чип. МИЭТ, МФТИ и другие вузы объединили усилия с промышленностью, которая произведет микросхемы для победителей бесплатно. По значимости это как создание системы математических олимпиад в СССР.

Подробности в новостях МФТИ

Мой комментарий:

Обычно студенты изучают проектирование микросхем в вузе с помощью упражнений на симуляторе языка описания аппаратуры SystemVerilog и лабораторных работах с микросхемами реконфигурируемой логики, FPGA. Но в промышленности, для проектирования и производства массовых микросхем, им понадобится изучить маршрут RTL-to-GDSII, понять статический анализ тайминга применительно к технологии ASIC итд. Именно погружению в эту черную магию поможет новый конкурс, в результате которого победители получат сконструированные ими чипы.

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

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

Теги:
Всего голосов 10: ↑8 и ↓2+9
Комментарии0

Прошу помощи. Не могу найти документацию на плату. Купил когда-то на а**-э*****сс, но к ней не было в комплекте вообще ничего. За время поисков удалось найти только два фрагмента схемы. Мб есть у кого такая....

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии11

От джуна к сеньору в верификации: как расти

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

Алексей Ковалов, руководитель отдела модульной верификации YADRO, в статье рассказал, как на практике происходит рост от джуна до сеньора. И начинается все с базовых вещей. Команда Алексея использует принцип  «15–45»: 15 минут попробуй разобраться сам, но если за 45 не сдвинулся — иди к ментору. Самостоятельность важна, но умение вовремя эскалировать проблему — это уже признак зрелости.

Внутри статьи:

  • почему «вечный мидл» — это не миф, а распространенный сценарий,

  • как меняется тип задач при переходе между грейдами,

  • что важнее для сеньора: глубина экспертизы или широта инструментария,

  • как не утонуть в покрытии и научиться оценивать объем работы заранее.

Если откликается описанный подход к росту, сейчас хороший момент присоединиться к команде YADRO. Мы открыли Sprint Offer для RTL- и UVM-инженеров. Подать заявку можно до 22 февраля. 

Инженеры занимаются fabless-разработкой микропроцессоров на базе RISC-V — полным циклом от собственного процессорного IP до системного ПО. Работают с IP, SoC, беспроводными системами и высоконагруженными архитектурами.

Теги:
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Трамписты решили сделать королевский подарок многополярному миру в лице Индии, Китая и в меньшей степени России и Ирану с помощью остановки программы рабочих H-1 виз. Поясню свою мысль (я в курсе, что половина людей комментирует по заголовку, а 75% не читают дальше первого абзаца, но тем не менее):

Я тертый калач и не идеализирую получателей рабочих H-1 виз (сам был таким в 1991 году). Большинство из них так же мухлюет в резюме как и местные, и не являются светочами технологической мудрости или трудовой этики. Кроме этого время ожидания гринкарты по labor certification сидя на H-1 визе перешло любые разумные пределы: в середине 1990-х оно было 3 года, сейчас некоторые больше 10 лет ждут. Я уже не говорю что H-1 визы разбираются аутсорсерами, и даже большим компаниям остается таких виз с гулькин нос. Короче сейчас большинство предприимчивых технарей старается сделать O-1 (особые способности) и некоторые L-1 (перевод из иностранного отделения компании в американское).

Тем не менее для меня очевидно, что полный бан на такие визы - это выстрел Америки себе в ногу и начало фундаментального изменения отношения ученых и инженеров других стран к эмиграции в Америку. Они будут оставаться на родине и перестанут мечтать про прекрасное далеко. Так как прекрасное далеко станет фундаментально недоступно, они начнут делать не на отцепись в других странах. Уйдет мысль "то что я тут в Индии/Китае/России/Иране лабаю - это так, временно, а вот уеду в Америку - там буду работать на совесть по гамбургскому счету. Буду слать фотки себя в кампусе Гугла/Микрософта, друзья детства будут мне завидовать, а бабушка всхлопывать ладошами при виде моего дома в Редмунде или Купертино и говорить "какое богатство!"

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

Теги:
Всего голосов 10: ↑10 и ↓0+15
Комментарии4

Аппаратный PTP на Zynq, но есть нюанс

При работе с Zynq 7000 часто встаёт вопрос: можно ли использовать встроенный PTP в GEM для IEEE 1588 timestamping? На первый взгляд — да, контроллер имеет поддержку. Но есть нюанс ...

В UG585 написано про архитектурное ограничение: таймстемпы PTP-событий хранятся в non-latching регистре — новый пакет просто перезаписывает старое значение. На практике это значит, что при высокой нагрузке процессор не успевает прочитать значение до перезаписи, и timestamp становится ненадёжным.

Актуально, если у вас строгие требования к точности PTP или высокий трафик. Стандартное решение — выносить TSU в PL или брать внешний PHY с нормальной поддержкой IEEE 1588. GEM остаётся просто интерфейсом.

Получается, что в PS у Zynq аппаратного PTP как бы и нет? Или я что-то неправильно понимаю?

Если интересуешься DSP-алгоритмами, бенчмарками и гайдами для Zynq – заходи в DSP labs.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Я целую неделю отлаживал свой блок GPU, в котором с мая месяца сделал новый подблок, которого не было у AMD, у которого Самсунг лицензировал технологию RDNA. Моим единственным желанием на Новый Год было чтобы прошел тест. Так как баг проявлялся только на подсистеме, тест которой шел 6 часов в софтвере и 8 часов на эмуляторе, после каждого изменения нужно было ждать это время. И вот я проснулся 1 января и тест прошел. Это значит, что с высокой вероятностью этот новый подблок моего дизайна войдет в телефоны Самсунг 2028 года. Все, сегодня можно не работать, а идти в лес или редактировать статью, которую у меня приняли на крутую конференцию. С Новым Годом!

Теги:
Всего голосов 24: ↑23 и ↓1+28
Комментарии11

Записал видео (на английском языке) своей критики выдачи ИИ тула от Абишека Вармы из университета штата Иллинойс. Тул генерит SVA (SystemVerilog Assertions) для верификации (по простонародному - QA) цифровых аппаратных блоков систем на кристалле. Для повышения понятности, в начале видео рассказал основные идеи протокола AXI (Advanced eXtensible Interface): правила хендшейка valid/ready, конвейерность транзакций, внеочередной возврат данных по запросу чтения с тэгами.

Код, который я попросил Абишека скормить тулу для ревью.

Кратко что получилось:

Правила для проверок оно пишет некорректные. Например что если записать по адресу 100 число 123, то отныне и вовеки веков если прочитать с адреса 100, то там будет 123. Не задумывается, то после первой записи и до чтения может быть вторая, которая запишет число 456.

Далее, проверка для теста проверяет что после сброса (reset) данные на шине AXI будут равны X в виде data == 'x. Но это ерунда по двум причинам: Во-первых, данные могут быть после сброса какими угодно, хоть 0, хоть 123, так как они будуг игнорироваться если с ними не ходит бит valid=1, который кстати сбрасывается в 0. Во вторых, операция сравнения == 'x (неопределенным значением) дает в качестве результата 'x. Чтобы делать именно сравнение с 'x нужно использовать другую операцию ===, то это все равно не будет работать потому что (1). Это вообще невалидный тест.

Но это все цветочки - на это его можно натаскать. Более интересный вид тупости - ИИ конструирует проверку, что если сделаны запросы с тэгами 11, 3, 4, 7, то и данные будут возвращаться в таком же порядке - с тэгами 11, 3, 4, 7. Ему не приходит в голову задать себе вопрос - если бы это было так, зачем в AXI вообще были бы нужны тэги? Они ведь нужны чтобы идентифицировать данные которые приходят не в том порядке, скажем 4, 11, 3, 7.

Итд.

Теги:
Всего голосов 8: ↑6 и ↓2+7
Комментарии0

Что делать если вас попросили посмотреть на чей-нибудь AI тул, который генерит верилог? Самое главное - не дать возможность ИИ-стартаперу показать вам слайды и убежать. Потому что он тогда сделает отчет своему инвестору "наш тул получил заслуженную оценку и апплодисмены переходящие в овации от экспертов такой-то компании, поэтому давайте нам еще зиллион долларов инвестиций для следущего раунда".

Нет, на предложение посмотреть на слайды нужно сразу сказать "просто не буду", как и на предложение посмотреть его демо, где он гениально генерит мультиплексоры из учебника, а также пристраивает к однотактному процессору то, что он называет AXI IP, хотя там простой конечный автомат, который игнорирует конвейерную и out-of-order природу AXI, ну это как показывать трехколесный детский велосипедик как демо для автомобиля Формулы-1. В этот месте стартапер начинает говорить быстро и листать код, чтобы тот, кто прервет его возгласом "это не AXI, а закамуфлированный APB" - выглядел невежливым.

Стартаперу нужно разумеется сразу дать задачку, причем сформулировать ее так, чтобы у него не было возможности заменить ее на другую. Но даже тут стартаперы творят наглости, присущие всем LLM. Например вместо текста ответа присылают видео(!) на час(!), где на 45-й минуте на экране за секунду проскальзывает "FAILED" на вашу задачку, а все остальное время видео он показывает те самые тривиальные мультиплексоры, которые он нашел в вашей репозитории, хотя вы ему совершенно четко написали, что вас не интересует как этот тул генерит мультиплексоры и простые FSM, а интересует решение конвейерных микроархитектурных задач. После чего он пишет отчет инвестору "мы решили 37 из 42 труднейших задач оттуда-то", хотя я в явной форме предложил решить только задачу номер 38 которую тул не решил.

В последнее время стартаперы нашли противоядие против задачек. Они честно, глядя в глаза, говорят что никакого прототипа у них нет, но оно должно работать, потому что AI уже умеет питон и диагностировать рак, значит должен научиться и верилог (вариант: уже умеет Scala, значит должен и Chisel). А мешает плохому танцору только то, что индустрия сделала весь код проприетарным и им не на чем учиться. Поэтому давайте пойдем посмотрим на слайдики, а если вы что-то спросите, мы ответим, что это есть в нашей roadmap. А потом напишем инвестору что мы нашли партнера и нужно слать следущие деньги.

Но не надо отчаиваться! Помимо стартаперов есть еще разные аспиранты, которые присылают вывод своих тулов на посмотреть. Это что-то невероятное по глупости. Некоторые виды глупости настолько глупы, что просто не пришли бы мне в голову. Написание (бесполезного) теста с помощью свободной рандомизации всех сигналов в AXI; проверка что после ресета данные равны 'x. Присваивание значений к типам (а не переменным). Ожидание что после записи в память это значение будет там вечно, несмотря на перезаписи. Проверка что ID прочитанных данных будут всегда в порядке ID адресов, хотя зачем тогда ID. Итд.

Тут нужно тоном коварного змия предложить устроить публичный разбор этого для обучения молодежи. Если аспирант согласится, то превратить это в выступление пародиста Александра Иванова на Вечере смеха в студии Останкино (если вы из поколения, которое застало язык фортран, то вы знаете о чем я говорю).

Теги:
Всего голосов 21: ↑18 и ↓3+21
Комментарии9

FFTW на Zynq: почему потребление почти не меняется?

В продолжение к прошлому посту FFTW vs Ne10 на ARM Cortex-A9 решил измерить насколько вырастет энергопотребление, если запустить бенчмарк FFTW на PS-части Zynq 7020 - получил около 0,27 Вт для всех длин FFT. Мощность считал по току с лабораторного источника питания.

По результата замеров построил графики производительности FFTW сразу в трёх метриках.

График производительности FFTW на Cortex-A9 в трех метриках
График производительности FFTW на Cortex-A9 в трех метриках
  • MFLOPS/время выполнения - показывает, насколько быстро выполняется бенчмарк при фиксированном железе и частоте;

  • MFLOPS/МГц - позволяет сравнивать, насколько хорошо алгоритм/библиотека использует каждый мегагерц CPU;

  • MFLOPS/Вт - показывает, сколько полезных операций вы получаете с одного ватта мощности.

Я ожидал увидеть зависимость потребления от длины FFT, но для расчета электропитания и теплового бюджета удобнее использовать константу 0,27 Вт. Но все же интересно, почему потребление стабильно держится на уровне 0,27 Вт независимо от размера FFT? Какие архитектурные особенности влияют на это сильнее всего? Делитесь своими мыслями в комментариях!

А в моём Telegram-канале DSP_labs вас ждут полные бенчмарки, скрипты и ещё больше примеров оптимизации DSP на embedded.

Теги:
Всего голосов 7: ↑5 и ↓2+5
Комментарии0

Народ жалуется на трудности поиска работы. В частности такие жалобы есть в группе русского QA коммьюнити в США. Написал для них следующий пост. Интересно сколько откликнется:

"Господа! В этом коммьюнити есть junior QA, которым могут быть полезны (например для поиска работы) рекомендации в LinkedIn. Я готов написать нижеследующую рекомендацию в обмен на несложную работу: проверить инструкцию и репозиторий для семинара, который я буду проводить в грядущий викенд в Cal Poly SLO (Калифорнийский политехнический государственный университет в Сан-Луис-Обиспо).

Рекомендация в LinkedIn будет звучать так:

"Товарищ такой-то/такая-то demonstrated reliable QA skills and verification creativity when testing a CI/CD workflow setup for an educational project aimed to help the universities to teach VLSI classes. The tested product is a variant of a Tiny Tapeout GitHub template for ASIC synthesis used during the Verilog Meetup at California Polytechnic State University in San Luis Obispo, California. The template includes JSON-based GitHub Actions and Python scripts to run Yosys/OpenROAD-based RTL-to-GDSII flow and cocotb/pytest-based verification for the digital designs coded in SystemVerilog. такой-то/такая-то wrote an informative report describing the observed usability problems and unclear parts in the instructions for the user. This work greatly contributed to the success of the CalPoly seminar and similar planned events in microelectronics workforce development.

Инструкция здесь - https://verilog-meetup.com/2025/10/20/from-fpga-to-asic-using-template/

Если вас это заинтересовало, можете приступать. За вопросами можете обращатся в личку.

Теги:
Всего голосов 17: ↑8 и ↓90
Комментарии7

Ближайшие события

Питон - предмет обожания секты питонистов, которые ходят по домам и всем говорят "Как, вы еще не выучили Питон? Он же учится за две недели!"

Допустим, но вот два практически идентичных репозитория (1, 2), которые я только что приготовил как форки от двух других практически идентичных репозиториев. Один для создания чипа на немецкой фабрике IHP (The Leibniz Institute for High Performance Microelectronics), а другой для создания чипа на американской фабрике SkyWater (аналог зеленоградского Микрона для военных).

И вот в одном репозитории на питоне нужно писать:

clock = Clock(dut.clk, 10, units="us")
assert not ((dut.uio_out.value >> 4) & 1);

а в другом:

clock = Clock(dut.clk, 10, unit="us")
assert not dut.uio_out.value [4];

Если во втором написать не "unit", а "units", оно пожалуется:

DeprecationWarning: The 'units' argument has been renamed to 'unit'.

DeprecationWarning: The 'units' argument has been renamed to 'unit'.

И типы данных поменялись:

unsupported operand type(s) for >>: 'LogicArray' and 'int'

А все почему? У питониcтов все время меняются версии, и в их коммьюнити не принято поддерживать обратную совместимость:

"Просто используй другую версию!", "Просто поставь виртуальные среды!", "Как, ты еще не используешь Докер? С ним это решается элементарно!" - "Ты просто не pythonian!"

Так можно две недели колупаться, после того как за две недели выучить питон.

Теги:
Всего голосов 30: ↑18 и ↓12+10
Комментарии42

Читает ли кто-нибудь в современном мире диссертации или это считаетеся какой-то фигней чтобы поставить галочку? Вспомним что вся цифровая электроника, все айфоны, интернет-роутеры и ИИ-ускорители - построены на двух диссертациях: 1) магистерской диссертации Клода Шеннона, который в 1937 году повысил уровень абстракции проектировщиков с переключателей (на основе реле и ламп) до булевской логики и/или/не и 2) диссертации 1954 года Дэвида Хаффмана в MIT, который обобщил более ранние потуги и сформулировал модель Хоффмана для последовательностной логики: комбинационное облако вычисляет следующие значения элементов состояния (сейчас это в 99+% случаев D-триггеры), которые записываются по фронту тактового сигнала.

У истории были альтернативные ветки (например электроника могла бы строится на C-элементах Мюллера), но в нашей параллельной вселенной они не прижились.

Теги:
Всего голосов 9: ↑8 и ↓1+10
Комментарии10

Товарищи студенты из проживающих в США! Кто хочет отправиться на летнюю практику и/или программу для выпускников вузов в техасском отделении Самсунга? Вы можете сходить на сайт и подать заявку напрямую (ссылка 1, ссылка 2). Альтернативно, я могу сделать для вас внутреннюю рекомендацию, так как я член команды разработки GPU в телефонах. Но так как я стараюсь рекомендовать компании только кандидатов, в качестве которых (по своим критериям) я уверен, я предлагаю всем желающим сделать одно из двух вещей:

  1. Решить задачку под названием SystemVerilog Microarchitecture Challenge for AI No.2. Adding the Flow Control. , далее получить от меня разбор вашего решения, после чего решить еще три маленькие задачки в зуме передо мною, и у вас будет рекомендация.

  2. Если вы живете в Области Сан-Францисского Залива или в Сакраменто, то сделать какой-нибудь проект на FPGA платах в рамках разработки open-source примеров для non-profit клуба Verilog Meetup (не аффилиированного с Самсунгом, это просто малочисленная тусовка, куда заходят люди из Теслы, Intel, Apple итд). Наш клуб будет на выставке самоделкиных Maker Faire в Valejo 26-28 сентября. Вы можете подойти ко мне на стенде и мы обсудим ваш проект.

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

Повышает ли моя рекомендация ваши шансы? Этого я не знаю. Как говорил Остап Бендер, полную гарантию вам может дать только страховой полис.

Пишите мне на yuri@panchul.com если вас интересует такое предложение.

Спасибо,
Юрий Панчул

Теги:
Всего голосов 11: ↑9 и ↓2+14
Комментарии2

FFTW vs Ne10 на ARM Cortex-A9: кому отдать БПФ в embedded?

Недавно в одном проекте по спектральному анализу ЛЧМ-сигналов на моей AD/DA плате я столкнулся с тем, что FFTW на Cortex-A9 в Zynq рисует задержку в сотни микросекунд — критично для реального времени. Решил проверить лёгкую библиотеку Ne10: оказалось, что на средних размерах БПФ (128–512) Ne10 даёт до +10% производительности (905 MFLOPS против 817 MFLOPS у FFTW) благодаря оптимизациям под NEON.

График производительности FFTW vs Ne10 на Cortex-A9
График производительности FFTW vs Ne10 на Cortex-A9

Однако Ne10 выигрывает не во всём: для очень малых (≤ 64) и произвольных больших размеров FFTW остаётся лидером за счёт агрессивного планирования, double-точности и возможности сохранять «wisdom»-планы. Выбор между ними зависит от сценария: если нужна быстрая интеграция и фиксированные степени двойки — Ne10, а для универсального решения с поддержкой любых N и многопоточности — FFTW.

Более подробное описание соберу в статью. А какой библиотекой пользуетесь вы и какие удивительные кейсы встречали? Делитесь в комментариях, а в моём Telegram-канале DSP_labs вас ждут полные бенчмарки, скрипты и ещё больше примеров оптимизации DSP на embedded.

Теги:
Всего голосов 6: ↑6 и ↓0+8
Комментарии2

DIY-плата AD/DA для DSP-задач на ARM+FPGA: зачем я её собрал

В мире встроенных систем и цифровой обработки сигналов (DSP) ключ к быстрому прототипированию и надёжной отладке лежит через собственный инструмент — аппаратную платформу, точно отвечающую вашим задачам. Моя цель — отработать цепочку «аналог ↔ цифра ↔ FPGA ↔ ARM» в реальном времени, без лишних звеньев и оговорок. Именно поэтому я спроектировал собственную отладочную DIY-плату AD/DA с программируемым генератором тактовой частоты.

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

Плата выполнена в формате "Arduino" (?) и служит модулем для быстрой интеграции в платформы ARM+FPGA (Zynq-7000 или аналогичные) через стандартный 40-контактный разъём KLS.

Плата AD/DA
Плата AD/DA

В основу конструкции легла классическая SDR-структура: трансформаторы, АЦП, программируемый тактовый генератор, буфер тактового сигнала, ЦАП и интерфейсные сигналы на разъём KLS.

1. Аналого-цифровой преобразователь: AD9283

  • 8-битный одноканальный АЦП с параллельным CMOS-интерфейсом.

  • Частота преобразования до 100 MSPS.

  • Сигнал PWRDWN и шина данных подаются с разъёма KLS.

  • Вход с внешнего SMA через трансформатор дает дифференциальный сигнал для высокого SNR.

2. Тактовый генератор и буфер: Si514 & Si53306

  • Программируемый кварцевый генератор Si514 формирует опорную частоту.

  • Тактовый буфер Si53306 распределяет сигнал на АЦП, ЦАП и FPGA.

3. Цифро-аналоговый преобразователь: AD9744

  • 14-битный одноканальный ЦАП с параллельным CMOS-интерфейсом.

  • Частота преобразования до 210 MSPS.

  • Сигнал SLEEP и шина данных подаются с разъёма KLS.

  • Выход через трансформатор возвращает аналоговый сигнал на внешний SMA-коннектор.

Зачем и для чего: практические сценарии использования этой отладочной платы

  1. Формирование и анализ сигналов

  • Создания многокомпонентных тестовых сигналов (модуляции AM/FM, chirp-сигналов) для оценки пропускной способности и реактивности FPGA-ядра.

  • Тестирования и калибровки входных трактов при различных уровнях амплитуды и частоты.

  • Генерации шумовых или псевдослучайных сигналов для проверки устойчивости DSP-алгоритмов.

2. Отладка алгоритмов цифровой обработки в реальном времени

  • Нужно прототипировать алгоритмы цифровой обработки данных непосредственно на связке ARM+FPGA и видеть результат «на лету».

  • Использование платы в образовательных целях: для обучения студентов или коллег практикам embedded-разработки и современной цифровой обработки сигналов.

  • Реализация и проверка в HDL алгоритмов, например, вейвлет-преобразования для анализа сигнала и выделения его локальных особенностей.

3. Сравнительное исследование реальной производительности ARM и FPGA-ядер

  • FPGA-ядро: пропускная способность HDL-модулей FIR/IIR, вейвлет-анализ, дизайн HLS-функций.

  • Сбор и визуализация метрик (latency, throughput, resource utilization) через ARM-API и JTAG-интерфейс FPGA.

  • ARM-ядро: замеры FFT-блока, фильтров в Linux-окружении.

Заключение

Эта AD/DA-плата для ARM+FPGA обеспечивает точность, скорость и гибкость, необходимые как для исследований DSP-алгоритмов, так и для промышленных встраиваемых и исследовательских проектов.

Присоединяйтесь к https://t.me/dsp_labs — там выходят реальные бенчмарки, исходники и советы по оптимизации DSP-алгоритмов на ARM/FPGA платформах!

Теги:
Всего голосов 11: ↑10 и ↓1+11
Комментарии11

Уже в четвертый раз встречаю следующий психотип. Человек окончил университет в Канаде, где в программе были в том числе лабы по FPGA. Прилетел в Калифорнию чтобы говорить и тусоваться с людьми. С вопросом: "какие есть проблемы в дизайне электроники чтобы решить их с помощью AI?"

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

Вместо того, чтобы по моим рекомендациям решить задачку и понять о чем я говорю - человек продолжает тусоваться и задавать людям вопросы на основе информации которую он услышал у других людей. Например спросил меня, хожу ли я на выставки DAC, где все говорят что тулы (средства проектирования) ограничивают сложность дизайнов. Я ответил что хожу на эту выставку с 1996 года, и тогда тоже все так говорили. Спросил у меня, слышал ли я о Chisel. Ответил "его используют только SiFive и Беркли. То что Chisel за 10 лет не проник в другие компании - означает что он ничего принципиально не решает". Итд.

Я не понимаю - что человек пытается достичь тусованием и такими вопросами? Какая часть фразы "пока вы сами не попробуете решать микроархитектурные задачи на верилоге, вы не будете понимать что вам говорят люди о проблемах такой разработки" - какая часть этой фразы ему непонятна?

Единственная гипотеза которая приходит мне в голову - человек пытается с помощью тусования найти технических людей, которых потом перепродать VC, то есть возглавить стартап и получить под них инвестии от венчурных капиталистов. Проблема с такой идеей: для технического человека ясно-понятно, что кроме тусования у этого джентльмена ничего значимого нет, то есть такой скрипач не нужен. С таким же успехом технический человек может сам пойти к VC.

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

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

Теги:
Всего голосов 16: ↑12 и ↓4+13
Комментарии5

15 лет назад я думал что образование в области компьютерной архитектуры поломано только в России, а на Западе с этим все хорошо. Что значит "поломано"? Студент может поговорить про суперскалярные процессоры и многоядерные кластеры, но не может ничего спроектировать.

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

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

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

И вот сегодня я такой Бозон Хиггса засек на LinkedIn. Выпускник этого самого вуза X написал пост, как он изучал учебник Хеннесси-Паттерсона. Он показал фото листка бумаги, испещренного заметками и диаграммами. Он просто сидел, читал по частям учебник и делал такие заметки.

Проблема с такого рода обучением заключается не только в том, что у студента может образоваться каша в голове - например он может путать обычный кэш с кэшем трансляций адресов в TLB. Он может также понять некоторые вещи наоборот и протащить такое понимание до конца, так как у него нет практики, которая бы отсекла такую ошибку сразу. Ну и то что он 90% информации забудет по пути - это тоже данность.

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

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

Для Бозона Хиггса эта идея была в новинку. А между тем такой же подход нужно делать и с курсами по компиляторам, и ядрам OS.

Хотя зачем я все это говорю. Сейчас грянет LLM и наша цивилизация исчезнет.

Теги:
Всего голосов 32: ↑30 и ↓2+35
Комментарии13
1