Процессор, которого нет в кремнии: его конфигурируют под задачу и выращивают прямо в логике программируемой схемы.

Для тех, кто работает с программируемой логикой, вышло обновление, которое стоит внимания: конфигурируемая 64-разрядная система на кристалле с ядрами RISC-V, реализуемая в вентильной матрице.
Речь не о микросхеме, которую можно купить и впаять. Речь о наборе описаний, из которых среда разработки собирает процессорное ядро под конкретную задачу и размещает его в ресурсах программируемой схемы.
Что можно собрать
Конфигурация процессорной части:
- от одного до четырёх ядер с семиступенчатым конвейером;
- системная тактовая частота настраивается в диапазоне от 20 до 400 МГц;
- набор команд RV64IMACFD с расширениями работы с битовыми полями — поддерживаются вычисления с плавающей запятой одинарной и двойной точности, атомарные операции, сжатые команды;
- опциональный блок управления памятью — он нужен для запуска Linux;
- опциональный блок защиты памяти с гранулярностью 4 кБ;
- кэш первого уровня с конфигурируемой ассоциативностью до восьми каналов по 4 кБ;
- опциональный общий кэш второго уровня объёмом от 64 до 512 кБ.
Многоядерные конфигурации работают в режиме симметричной многопроцессорности.
Память — то место, где эта разработка заметно отличается от типовых встраиваемых ядер в ПЛИС. Внутренняя память настраивается от 4 до 512 кБ, есть встроенный загрузчик из последовательной флеш-памяти. Внешняя память подключается через шинный интерфейс и поддерживает:
- DDR3 на частоте до 400 МГц, что даёт 800 Мбит/с;
- LPDDR4x до 1600 МГц, то есть 3200 Мбит/с;
- HyperRAM до 250 МГц, 500 Мбит/с.
Объём внешней памяти — от 4 МБ до 8 ГБ. Загрузка возможна двумя способами: прямо из флеш-памяти во внутреннюю память либо с копированием более объёмного приложения во внешнюю память перед исполнением.
Периферия и отладка
Состав периферии обычный для встраиваемого применения: до 32 линий ввода-вывода общего назначения, до пяти ведущих интерфейсов I²C, до трёх ведущих SPI, до трёх UART на скорости 115 200 бод. Для собственных блоков пользователя предусмотрены один ведущий канал шины и до пяти ведомых интерфейсов.
Отладка организована по стандартному для архитектуры механизму, поддерживается до четырёх аппаратных точек останова и совместная отладка с отладчиком самой программируемой схемы — полезная вещь, когда ошибка может быть и в программе, и в описанной вами логике.
Из менее очевидного: динамический предсказатель переходов, программная и аппаратная предвыборка, до восьми пользовательских прерываний, три таймера и сторожевой таймер. Отдельно стоит отметить интерфейс пользовательских команд с 1024 идентификаторами — это механизм, позволяющий добавить к системе команд собственную операцию, реализованную вашей же логикой. Для задач цифровой обработки сигналов и криптографии возможность серьёзная.
Чем это интересно на практике
Преимущество синтезируемого процессора в том, что конфигурация подгоняется под задачу. Не нужна плавающая запятая — её убирают, и ресурсы схемы освобождаются. Нужен Linux — добавляют блок управления памятью. Нужна нестандартная операция — её реализуют в логике рядом с ядром.
Расплата — потребление и частота. Ядро, реализованное в программируемой логике, всегда проигрывает специализированному кристаллу и по тактовой частоте, и по энергопотреблению. Четыреста мегагерц против привычных сотен у выделенного микроконтроллера — разница ощутимая, хотя для управляющей части системы этого обычно достаточно.
Типовой сценарий применения выглядит так: основная работа — обработка сигналов, видео или интерфейсов — выполняется в логике программируемой схемы, а процессорное ядро рядом занимается управлением, связью и прикладной логикой. Отдельный микроконтроллер на плате при этом становится не нужен.
Доступность
Конфигурация выполняется через менеджер блоков интеллектуальной собственности в фирменной среде, которая генерирует готовый блок. Прошивка пишется на C и C++ в среде на основе Eclipse с поддержкой отладки. Требуется версия среды разработки 2026.1 или новее, лицензии на программное обеспечение предоставляются бесплатно.
Поддерживаются три семейства программируемых схем производителя, начиная с определённого уровня по объёму ресурсов. Для радиолюбителя, у которого уже есть отладочная плата на подходящей схеме, это означает возможность попробовать без дополнительных вложений в железо.
