Обновить
18.26

FPGA *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Выступил отрицателем AI на конференции SNUG Silicon Valley

Время на прочтение3 мин
Охват и читатели5.7K

AI - не микроархитектор, не проектировщик и не верификатор. Это все-лишь гламурный поисковик уже решенных и опубликованных задач. Именно такой вывод следовал из предоставленных мною на конференции SNUG Silicon Valley 2026 фактов как десятки студентов мучали ИИ чтобы решить мои задачки. Одну задачку ИИ решил лишь через полгода после выкладывания решений в интернет, другую за два месяца, потом пошла третья. При этом задачки были довольно банальные - мы в Самсунге даем делать такие статические конвейеры с контролем потока данных практикантам.

Вот постер, сопровождающий мою статью:

Читать далее

Новости

Как становятся верификаторами — и почему на рынке их дефицит. Мой опыт

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8.8K

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

Дисклеймер: в статье нет технических деталей, так что матерые RTL-разработчики могут заскучать. А еще в ней нет лайфхаков, которые помогут за секунду определиться с карьерой и за три дня стать Илоном Маском. Зато есть реальный жизненный опыт.

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

Читать далее

Зачем нужен Design for Testability (DFT) и как его реализуют в FPGA

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.9K

Привет, Хабр! Меня зовут Антон Осетров, я разрабатываю СнК в компании YADRO. Раньше я проектировал отказоустойчивые бортовые вычислители, а также испытывал в лаборатории микросхемы. В этой статье я расскажу, что такое DFT, зачем это нужно, а также сравню популярные архитектуры, с помощью которых DFT реализуют на FPGA.

Читать далее

А вы уже подали заявку в «Железо»? Рассказываем о нашей номинации в «Технотексте» и призах за лучшие статьи

Время на прочтение5 мин
Охват и читатели6.8K

Конкурс лучших статей Хабра «Технотекст-8» в разгаре. Подать заявку можно до 17 апреля 2026 года включительно. 

Уже третий год YADRO выступает хранителем номинации «Железо: проектирование и технологии производства». Сегодня расскажем, какие статьи ждем и что за призы подготовили для победителей (спойлер: на этот раз за 1 и 2 место вручим комплект из 3D-принтера, платы, цифрового осциллографа и не только). Заодно вспомним статьи, которые вышли в топ в прошлом году, — сможете посмотреть примеры и усилить свои работы. Погнали!

Читать далее

Куда расти верификатору: два основных трека и матрица компетенций

Время на прочтение14 мин
Охват и читатели16K

Привет, Хабр! Меня зовут Алексей Ковалов, я руководитель отдела модульной верификации в YADRO в департаменте разработки процессорных архитектур. Сейчас в моей команде 30+ талантливых ребят. Некоторые из них пришли к нам стажерами и росли на моих глазах, другие вливались в команду уже уверенными мидлами и «перепрыгивали» в сеньоров и выше. Но где та тонкая грань, когда заканчивается один грейд (числовая интерпретация Junior — Middle — Senior) и начинается другой? Как вообще расти верификатору и какими навыками должен обладать условный джун, мидл или сеньор?

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

Читать далее

«Если ты не страдал — ты не считаешься ПЛИСоводом»: подкаст «Битовые маски» с Михаилом Коробковым

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели11K

В подкасте «Битовые Маски» ведущие Лена Лепилкина и Антон Афанасьев обсуждают с экспертами системное программирование и разработку «железа». В 25-м выпуске гостем стал Михаил Коробков — создатель сообщества FPGA-Systems и одноименного журнала, ПЛИСовод-энтузиаст и по совместительству старший инженер по разработке СнК в YADRO

Мы выбрали несколько интересных историй нашего героя. Больше — в полной версии подкаста.

Погружаемся в ПЛИСоводство →

Запуск игры Wolfenstein 3D на MicroBlaze(FPGA)

Время на прочтение16 мин
Охват и читатели8.4K

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

Читать далее

Универсальный компилятор для FPGA, который понимает 42 языка программирования

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.5K

Универсальный компилятор для FPGA, который понимает 42 языка программирования

Пишите код на любимом языке — получайте работающий Verilog для FPGA. Бесплатно, без vendor lock-in.

Читать далее

Как протестировать собственный контроллер памяти SDRAM на FPGA

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

В этой статье я хотел поделиться опытом тестирования своего контроллера динамической памяти на ПЛИС.

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

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

Читать далее

By the pricking of my thumbs, something wicked this way comes

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели6.7K

Эту фразу из «Макбета» Шекспира автор осмелится перевести как «благодаря зуду на кончиках моих пальцев может появиться что‑то очень странное».

Изначально хотелось всего‑лишь ознакомиться с Verilog, но, «опасное это дело, выходить за порог: стоит ступить на дорогу и, если дашь волю ногам, неизвестно куда тебя занесет».

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

Надеюсь, это окажется кому‑то полезным, так же как когда‑то автору был полезен игрушечный hoc из книги Кернигана и Пайка «Unix — программное окружение».

Читать далее

Что было на FPGA-Systems 2025: пятерка лучших докладов по оценкам зрителей

Время на прочтение3 мин
Охват и читатели11K

В этом году традиционная совместная конференция FPGA-Systems и YADRO получилась максимально насыщенной. RTL-разработка и синтез, верификация и тестирование — в двух потоках спикеры целый день сменяли друг друга, что вылилось в целых 16 разнообразных выступлений. Мы попросили зрителей оценить их, и в этом посте собрали пятерку топовых и популярных. За видео и прочим — добро пожаловать под кат.

Что там по FPGA?

Поиграем на ПЛИС?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели10K

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

Читать далее

Итерационный бинарный критерий делимости: Деление без деления. Алгоритм для Big Integers и FPGA

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели7.9K

Итерационный бинарный критерий делимости: Деление без деления. Алгоритм для Big Integers и FPGA.

Деление — одна из самых ресурсоемких операций для Big Integers в криптографии и для аппаратных ускорителей (FPGA/ASIC). Что, если бы можно было проверять делимость, полностью исключив операцию деления и взятия остатка?

Представляем новый детерминированный алгоритм, который заменяет дорогой N mod d на O(logN) итераций, состоящих исключительно из сложения (X+d) и побитового сдвига.

Разбираем, как этот подход, обладающий линейно-логарифмической сложностью O(n⋅logN), обеспечивает радикальное снижение константного фактора и становится идеальным решением для многословной арифметики и низкоуровневой оптимизации железа. Экспертный уровень.

Читать далее

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

Xilinx AXI DMA v7.1 (Simple Mode)

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели8.2K

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

Читать далее

Эксперимент по сбору сигналов с использованием двухканального высокоскоростного модуля АЦП на основе FPGA Smart Artix

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.1K

Эксперимент по сбору сигналов с использованием двухканального высокоскоростного модуля АЦП на основе FPGA Smart Artix.

Читать далее

Новое поколение ПЛИС это не только про повышение частоты…

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.6K

Прослеживается тенденция, что сложность CLB повышается, сами примитивы становятся хитрее. От сюда вытекает вопрос, а на сколько эффективными становятся ячейки, и сколько ресурсов ПЛИС они экономят в сравнении с предыдущими поколениями?

Читать далее

Разработка цифровой аппаратуры нетрадиционным методом: Контроллер USB 1.0 на SpinalHDL

Уровень сложностиСредний
Время на прочтение127 мин
Охват и читатели4.4K

Продолжая развивать свою синтезируемую систему-на-кристалле для ПЛИС, о которой я уже написал несколько статей, столкнулся с необходимостью подключать устройства ввода типа клавиатура, манипулятор мышь или джойстик. Если обратиться к тому, чем занимаются ретро-фаны, то проблем особых нет — старый добрый интерфейс PS/2 очень прост в реализации, он позволяет легко взаимодействовать с клавиатурой и мышью с минимальными ресурсами. Фактически PS/2 это последовательный синхронный порт работающий на низких скоростях, реализовать его можно программно. С ретро-джойстиками тоже проблем нет - положение джойстика это всего лишь замыкание контактов, что легко обрабатывается программно. Проблема в том, что всё это «ретро» постепенно уходит из нашей жизни, клавиатуры и мыши с интерфейсом PS/2 всё еще можно приобрести на маркетплейсах, но всё же редкость. И от джойстика хочется чего-то большего чем просто замыкания пяти контактов, а именно — градации положения стика. Такая фича доступна либо на очень старых аналоговых джойстиках, либо на современных геймпадах с USB интерфейсом. В конце концов я разрабатывают хоть и минималистичную, но современную систему с современной архитектурой (RISC-V) предназначенную для современного промышленного применения, а не для ретро-гейминга. ;-) В общем, встал вопрос как подключать простые HID устройства ввода через USB к своей синтезируемой ЭВМ.

Интерфейс шины USB на столько широко вошел в обиход, что мы даже не задумываемся что там внутри: сколько сигнальных проводов в USB кабеле, как они подключены, как передаются по ним данные, на каких скоростях и какие могут быть ограничения. Всё что мы знаем это то, что USB бывает разных версий: 2.0 — медленный и 3.0 — очень быстрый; и что USB устройства бывают с разными видами разъемов: USB type A и, с недавних пор, USB type C. Для большинства пользователей и программистов USB это такая штука, которую «вставил и работает». А если нет, то нужно вынуть, перевернуть устройство два раза вокруг его оси и вставить в компьютер еще раз. Если и так не заработало, то искушенный пользователь возможно вспомнит команду lsusb чтобы выяснить какие сейчас устройства присутствуют в системе или даже заглянет в dmesg чтобы выяснить наличие ошибок при детектировании устройства. Но что означают эти сообщения ? Еще меньшее число пользователей понимает результат вывода команды lsusb -v. Не многим лучше обстоят дела с пониманием USB у разработчиков электроники. Обычно на их уровне USB это четыре провода: GND, VBUS, D+ и D-, при этом каждый электронщик знает что D+ и D- это дифференциальная пара которую требуется трассировать на печатной плате соответствующим образом. Но так ли это на самом деле ?

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

Читать далее

От модели в Engee до ПЛИС: как мы протестировали цифровые модуляции в реальной радиолинии

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6K

Рассказываем о проекте с корпорацией «Комета» — полный цикл от графической модели до работающего «железа» на FPGA.

Читать далее

Верификация цифровых схем. Маршрут функциональной верификации

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели9.3K

Данная статья — это своего рода продолжение Верификация цифровых схем. Обзор.. В ней хотелось показать некоторые типы тестовых окружений для функциональной верификации и особенности работы с ними.

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

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

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

Читать далее

Разработка электропривода. Часть 2. Электронная часть электропривода

Уровень сложностиСредний
Время на прочтение32 мин
Охват и читатели10K

В этой части цикла, посвященного разработке электропривода, мы сосредоточимся на его электронной составляющей. Рассмотрим топологии силовых узлов AC/DC, DC/DC и DC/AC электропривода, подбор электронных компонентов, а также ключевые нормативные стандарты, которых необходимо придерживаться при проектировании. Отдельный раздел будет посвящен выбору вычислительной платформы для управляющей платы — FPGA, DSP, SoC и другие варианты. Кроме того, затронем вопросы функциональной безопасности (safety) в электронике и требования к безопасной работе электропривода.

Читать далее
1
23 ...