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

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

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

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

Данная статья — это своего рода продолжение Верификация цифровых схем. Обзор.. В ней хотелось показать некоторые типы тестовых окружений для функциональной верификации и особенности работы с ними.
Хотя у каждой компании/проекта есть свой маршрут функциональной верификации, возникший в определённых обстоятельствах — порождение опыта, ошибок и обстоятельств, — не всегда применяемые там решения являются предметом гордости.
И если вам случилась такая удача — разработать новое тестовое окружение или переработать существующее, — данный материал может подтолкнуть в сторону оптимального варианта в некоторых случаях. Может, и не подтолкнуть… или подтолкнуть не туда...
Хочу обратить внимание на слово функциональный: в данной статье я не буду затрагивать формальную верификацию и эмуляцию, т.к. эти темы довольно большие сами по себе.

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

Недавно я закончил реализацию своего хобби-проекта по воссозданию ПК IBM XT из 80-х на основе оригинальных деталей с использованием современных технологий. У меня была чёткая цель: возможность играть на этом ПК в EGA-версию Monkey Island 1 со всеми примочками. То есть мне нужна была поддержка мыши, жёсткий диск с возможностью записи для сохранения игры и версия озвучки через карту Adlib, которая мне нравилась больше всего.
Эта задумка у меня возникла, когда я узнал о существовании маломощного варианта Intel 8088, который использовался в XT. Низкое энергопотребление значительно упрощает подключение процессора к ПЛИС, ввод-вывод которой обычно работает на 3,3 В. Всё это вкупе с маломощной микросхемой SRAM на 1 МБ (CY62158EV30), призванной обеспечить XT его 640 КБ памяти, уже составляло основу для всей будущей системы.

Обзор интерфейса AMBA AXI на основе Introduction to AXI. Может быть полезным тем, кто хочет быстро понять основные его фишки.

Приветствую читателей Хабра.
В рамках решения одной конкурсной задачи понадобилось реализовать алгоритм построения линий на FPGA. “Это вопрос простой, есть же алгоритм Брезенхэма” – так подумал я и приступил к реализации. Что из этого получилось читайте дальше.

Провели мероприятие в Калифорнийском политехническом государственном университете в Сан-Луис-Обиспо. Докладчиками были: ваш покорный слуга Юрий Панчул, два американских инженера проектирующие чип по ускорению ИИ, и китайский студент из Университета Калифорнии в Санта-Барбаре. Идея мероприятия возникла, когда я встретился с выпускником Cal Poly Стенли на конференции самоделкиных OpenSause, и он поведал мне то, что я уже знал из собеседований американских студентов: они изучают в вузе карты Карно, доходят до конечного автомата светофора, отдельно постигают классический 5-стадийный конвейер MIPS (ныне RISC-V), а потом идут на собеседование на работу, и - хоба! - выясняется что их карты Карно никого в индустрии не интересуют, а вопросы идут про сопряжение конвейера обработки данных (не процессорного!) и FIFO, чего они не проходили.
Привожу ниже мой отчет на английском.

Традиционный ежегодный слет hardware-инженеров пройдет в Москве уже через месяц, 29 ноября. Мы расширили целевую аудиторию: в программе найдется интересное не только для мастеров FPGA, но и для RTL-шаманов, гуру верификации и адептов физического дизайна. А еще будут DIY-стенды с «железками» от комьюнити! Больше подробностей — далее в посте.

В конце сентября - начале октября в рамках межрегионального форума «ИТ-трансформация 2025: профессионалы цифрового будущего» [https://itforumaltai.ru/2025/], проходившего в г.Барнаул проводился кейс-чемпионат «Код успеха». В номинации «Промышленная разработка» два из тех кейсов были посвящены проектам на ПЛИС:
Данный кейс родился спонтанно, под влиянием книг Steven Hugg «Making Games for the NES» и «Designing Video Game Hardware in Verilog», а также ряда дискуссий в чате «Школы синтеза цифровых схем» и от этого кейса ожидались как минимум яркие красивые картинки, да и обычно вывод на дисплей/экран и манипуляции с картинками доставляют яркие и незабываемые эмоции (особенно при отладке, да…)
Кейс 2. «RTL-SoC-challenge» – разработка и прототипирование системы-на-кристалле на базе FPGA
Второй кейс родился по образу и подобию SoC Design Challenge 2025 [https://edu.yadro.com/soc-design-challenge/ https://habr.com/ru/companies/yadro/articles/909410/], но в несколько упрощенном (??ооочень не точно) варианте – только RTL синтез с небольшими включениями тестирования модулей.
В этом кейсе участникам в качестве подопытного кролика был предложен вариант многопоточной архитектуры процессора RISC-V, разработанного для учебного курса [https://riscv-alliance.ru/material/risc-v-dlya-fpga-arhitektura-mikroarhitekturnye-realizaczii/] созданного в рамках выполнения гранта Альянса RISC-V на разработку учебных материалов.
Соревнование собрало команды и индивидуальных участников из АлтГУ, ИТМО, МИЭМ НИУ ВШЭ, РТУ МИРЭА, Санкт-Петербургского политехнического университета. Работы оценивали специалисты компании YADRO (огромное спасибо Юрию Гринишкину и Евгению Максимову за помощь и организацию процесса). В целом инженерами отмечен высокий уровень участников и большой объем работы, проделанный за неполные две недели, отведенные на решение задач.

В октябре стартовал новый поток Школы синтеза цифровых схем для студентов технических направлений — образовательная программа по цифровому дизайну с упором на RTL и верификацию. 24 лекции с офлайн-практикой на платах в 26 кластерах по всей России, домашние работы, большое и оживленное комьюнити — такая программа, если вкратце, ждет своих героев. Набор на сезон 2025–2026 открыт, общая информация есть на сайте. А чтобы вы лучше представили, что будет в Школе синтеза, мы поговорили с четырьмя выпускниками прошлых лет.

Здравствуйте меня зовут Дмитрий сегодня мы продолжим исследование FPGA плат и напишем полноценный контроллер SD карт (правильней их называть SDHC, потому что карты формата SD давно не продаются). Причем мы создадим полноценный контроллер задействующий все возможности шины SD, а не жалкий SPI аналог.

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

В городе Вальехо, штат Калифорния, до 1996 года работала старейшая военно-морская база на Западном побережье. Сейчас помещения пришли в запустение, но не совсем — в них ежегодно проводится шоу самоделкиных Maker Faire. Я там сделал стенд и заодно поснимал вокруг:
Вначале мы поморгали диодом, затем посчитали семисегментником. Если с нуля, то уж лучше пройти эти этапы. Теперь приступим к задачке, которую с большой натяжкой можно применить где-нибудь на проде. С очень большой.
На плате, которую я использую для примера (QMTECH Cyclone 10 Starter Kit), есть разъём HDMI, что недвусмысленно намекает нам, что к нему можно подключить дисплей соответствующим кабелем. На самом деле, разъём – это не обязательно. А вот наличие на чипе выходов, которые можно сконфигурировать как lvds, очень сильно приветствуется. Возможно, получится и без этого (просто 2 выхода, формируемые из одного инверсией), но я не пробовал, потому промолчу.
Когда мы embedded-программисты, то с дисплеем мы взаимодействуем, отправляя на него команды, либо, если всё хорошо с железом, то пишем в специальную область памяти.
Мы будем работать на более низком уровне. Делать на коленке прозрачные электроды, и наклеивать поляризационные плёнки, конечно, не надо. Будем формировать видео-сигнал.
Если вы думаете, что в 2025-м году ЭЛТ мониторы и телевизоры остались в далёком прошлом, то у меня для вас есть новость: Формат сигналов внутри проводов всё ещё напоминает сигнал, который идёт на одну из сеток большой вакуумной лампы, которой, по сути и является кинескоп.

Коллеги, приветствую, обзорная статья работы с Corgi SoM v1 на базе AMD (Xilinx) Zynq-7000. Статья охватывает работу модуля с Vivado IDE, Vitis IDE, подготовку базового образа, работу с Embedded Linux (u-boot, device tree, linux kernel, rootfs). Подготовку образа для SPI NOR памяти, SPI NAND памяти и сопутствующие моменты необходимые для старта работы с данным модулем. Дополнительно статья будет полезно для linux embedded разработчиков, которые делать будут bring-up плат на базе AMD(Xilinx) zynq платформ.

Предыстория вопроса. Знакомство с китайской компанией Dobot началось год назад с проекта «Кубики».
Для проекта требовался небольшой недорогой механизм, способный строить башню из кубиков.
Исследование тематических ресурсов мне удалось составить небольшой перечень возможных конструкций. Так же был найден интересный ресурс на сайте МФТИ — лабораторная работа «Робот строит башню».

В данной статье я хочу рассказать про процесс разработки относительного простого модуля для ПЛИС (FPGA), а именно – контроллера (мастера) шины I2C. Он является ведущим устройством на шине. Я постараюсь показать последовательность всех этапов работ: проектирование, написание кода, моделирование и отладка в «железе».
Статья в первую очередь ориентирована на тех, кто только начинает своё знакомство с ПЛИС. Надеюсь, она будет им полезна. Возможно и опытные разработчики смогут найти что-то новое для себя, увидеть интересные им идеи.
В статье приводится большое количество исходных кодов контроллера (на языке VHDL) с их подробным разбором.
Готовим процессор к добавлению суперскалярности - переделываем 3-х этапный конвейер RISC-V в 5-этапный и попутно измеряем производительность.

А что в нем тестировать то…? А тестировать будем прирост производительности при включения тех или иных настроек. В статье будут таблицы сравнения и немного кода.

Здравствуйте меня зовут Дмитрий сегодня мы продолжим исследование FPGA плат. Мы напишем контроллер HDMI интерфейса для Altera Cyclone.
Итак, давайте начнем.