Как оценить ресурсы ПЛИС под проект — логические элементы, память и умножители
Проект привязан к семейству кристаллов: перенос требует пересборки, а иногда и переработки описания. Поэтому логику, память и приёмопередатчики оценивают до закупки платы. Разбираем ориентиры по позициям каталога.
Ресурсы ПЛИС — это перечисляемые в документации на кристалл аппаратные запасы: логические элементы, блочная память, аппаратные умножители, схемы тактирования, высокоскоростные приёмопередатчики и выводы ввода-вывода. Проект занимает часть каждого из них, и подбор кристалла — это сопоставление требований проекта с этими цифрами. Позиции собраны в разделе FPGA и ПЛИС, платы для разработки — в разделе платы разработки.
Ниже разобрано, что считается ресурсом кристалла, по каким цифрам ориентируются при выборе, какую логическую ёмкость дают платы из каталога и что заказывается вместе с платой.
Что относится к ресурсам кристалла
При подборе смотрят на шесть групп параметров:
- Логическая ёмкость. Число логических элементов или адаптивных логических модулей. Это основная цифра, по которой кристаллы одного семейства отличаются друг от друга.
- Блочная память. Встроенные блоки памяти внутри кристалла. В них размещаются буферы, очереди, таблицы коэффициентов — всё, что должно читаться за один такт.
- Аппаратные умножители и блоки цифровой обработки. Умножение на логике обходится дорого по площади, поэтому фильтры и преобразования строятся на аппаратных блоках.
- Схемы тактирования. Число умножителей частоты и доступных тактовых областей ограничивает количество независимых тактовых доменов в проекте.
- Высокоскоростные приёмопередатчики. Нужны для интерфейсов PCI Express, Ethernet от 10 Гбит/с и обмена между платами.
- Выводы ввода-вывода. Их число и допустимые уровни определяют, сколько внешних сигналов удастся подключить к кристаллу напрямую.
Проект привязан к семейству: перенос на кристалл другого семейства требует пересборки, а при смене поставщика среды разработки — переработки описания. Поэтому ресурсы оценивают до закупки, а не после первого синтеза.
Логическая ёмкость плат из каталога
Диапазон по действующим позициям — от десятков тысяч элементов до миллионов:
- 22 320 логических элементов — плата Terasic DE0-Nano на Intel Cyclone IV E EP4CE22F17C6 с 32 МБ SDRAM. Начальный уровень: учебные и опытные схемы, простые интерфейсы.
- 50 000 логических элементов — Terasic DE10-Lite на Intel MAX 10 10M50DAF484C7G со встроенной памятью SRAM 256 Кбит и EEPROM на 8 Мбит. Семейство MAX 10 работает без внешней конфигурационной памяти.
- 85 000 логических элементов — Terasic DE1-SoC на Intel Cyclone V SoC и исполнение DE1-SoC-MTL2 с дисплейным модулем; 1 ГБ DDR3 отведён процессорной части.
- 110 000 логических элементов — Terasic DE10-Nano Kit на Intel Cyclone V SE 5CSEBA6U23I7, 1 ГБ DDR3 SDRAM подключён к процессорному ядру ARM.
- 114 480 логических элементов — Terasic Altera DE2-115 на Intel Cyclone IV E EP4CE115F29C7 со 128 МБ SDRAM, 2 МБ SRAM и 8 МБ флеш-памяти, двумя портами Gigabit Ethernet, VGA, аудиокодеком и слотом SD.
- 2,7 млн логических элементов — ускорительная карта Terasic Mercury A2700 с четырьмя разъёмами DDR4 SO-DIMM. Это уровень аппаратного ускорения вычислений, а не отладки схем.
Занятость кристалла планируют с запасом. Чем выше процент использования логики, тем труднее разводка внутренних связей и тем сильнее падает достижимая тактовая частота; свободная часть нужна и под доработки, которые появятся после первых испытаний.
Память — внутри кристалла и на плате
Блочная память кристалла измеряется килобитами и расходуется быстро: один кадр видео или таблица на несколько тысяч отсчётов её исчерпывают. Поэтому рабочие данные выносят во внешнюю память платы, а внутри кристалла держат только то, к чему требуется доступ за такт.
По внешней памяти позиции каталога различаются принципиально: у DE0-Nano это 32 МБ SDRAM, у DE2-115 — 128 МБ SDRAM плюс SRAM и флеш, у плат с процессорным ядром (DE1-SoC, DE10-Nano, Arria 10 SX SoC Development Kit) — 1 ГБ DDR3 или DDR4 на процессорной части, у DE10-Pro — модули DDR4, у Mercury A2700 — четыре разъёма SO-DIMM. Модули подбираются из раздела оперативной памяти по типу и форм-фактору, указанному для платы.
Когда нужен кристалл с процессорным ядром
Если в проекте есть сетевой стек, файловая система, веб-интерфейс или управление по командам оператора, логику этих задач не описывают схемой — её пишут программой. Два пути:
- Кристалл с процессорной подсистемой. Cyclone V SoC на DE10-Standard и DE1-SoC, Arria 10 SX, Stratix 10 SX, Agilex 7 F-Series с приёмопередатчиками — позиции собраны в разделе платформы на базе SoC. Процессор и программируемая логика находятся в одном корпусе и связаны внутренней шиной.
- Отдельный вычислитель рядом с ПЛИС. Подходит, когда обмен между программной и аппаратной частью невелик. Платы берутся из раздела одноплатных компьютеров, связка идёт по Ethernet или PCI Express.
Для серийного изделия вместо платы разработки берут модуль на её основе — в каталоге это Apollo S10 SOM и Apollo Agilex SOM, а также Terasic SoC System on Module Evaluation KIT для проверки посадочного места до запуска своей платы.
Приёмопередатчики и обвязка платы
Задачи с высокой скоростью обмена закрывают кристаллы старших семейств: DE5-Net на Intel Stratix V GX и DE5a-Net на Arria 10 GX заявлены для аппаратного ускорения вычислений и обработки сетевого трафика, DE10-Pro — на Stratix 10, DE10-Agilex Development Kit — на Agilex. К ним добавляется обвязка:
- дочерние платы расширения под разъём FMC — например, Terasic P16E-FMCP — и позиции раздела плат расширения;
- ускорители и платы захвата из раздела платы захвата и ускорители, когда часть обработки берёт на себя готовое устройство;
- райзеры и переходники и адаптеры FC и HBA — при установке карты в серверную платформу из раздела вычислений и комплектующих;
- отладочные кабели USB-Blaster — без них конфигурацию в кристалл не загрузить;
- комплекты для прикладных задач: комплексные решения с видеосистемами и промышленным сетевым набором, робототехника с платами управления двигателями.
Ориентиры по задачам
| Задача | Ориентир по логике | Семейство | Позиция каталога |
|---|---|---|---|
| Учебные схемы, простая периферия | до 25 тысяч элементов | Cyclone IV E | DE0-Nano |
| Начальные проекты без внешней конфигурационной памяти | около 50 тысяч | MAX 10 | DE10-Lite |
| Интерфейсы, обработка данных, программная часть на ядре ARM | 85–110 тысяч | Cyclone V SoC и SE | DE1-SoC, DE10-Nano |
| Проекты с большим объёмом логики и внешней памятью | около 115 тысяч | Cyclone IV E | DE2-115 |
| Обработка сетевого трафика, ускорение вычислений | старшие кристаллы с приёмопередатчиками | Stratix V GX, Arria 10 GX, Stratix 10 | DE5-Net, DE5a-Net, DE10-Pro |
| Вычислительное ускорение в серверной платформе | миллионы элементов | старшее семейство | Mercury A2700 |
Цифры в таблице — ориентир для первого отбора, а не норматив. Точная оценка получается после пробного синтеза: описание собирается под кристалл-кандидат, и среда разработки выдаёт отчёт о занятых логических элементах, блоках памяти и умножителях.
Частые вопросы
Как оценить ресурсы, пока проекта нет? По аналогичным готовым блокам. Для типовых узлов — интерфейсов, фильтров, контроллеров памяти — объём занимаемой логики известен из документации на эти блоки; их сумма даёт первое приближение, к которому добавляется запас на обвязку и доработки.
Что происходит, если ресурсов не хватило? Проект не размещается в кристалле либо размещается, но не держит заданную частоту. Выход — переход на старший кристалл того же семейства: посадочное место и обвязка платы при этом часто сохраняются, что позволяет не переделывать печатную плату.
Переносится ли проект между семействами? Описание на языке проектирования переносится, но требует пересборки, а блоки, привязанные к конкретным аппаратным особенностям — памяти, умножителям, приёмопередатчикам — заменяются на аналогичные из библиотеки нового семейства. Сроки на этот перенос закладывают отдельно.
Чем плата разработки отличается от модуля для серийного изделия? На плате разработки выведена вся периферия и установлены средства отладки — это удобно при проектировании и избыточно в изделии. В серию идёт модуль с тем же кристаллом или своя плата, разведённая под итоговый состав сигналов.
Что прислать для подбора? Перечень внешних интерфейсов с их скоростями, требуемую частоту обработки, объём данных, который должен храниться внутри кристалла и во внешней памяти, число независимых тактовых доменов, условия эксплуатации и указание, нужна ли программная часть на процессорном ядре.
Что мы делаем
Сопоставляем требования проекта с ресурсами кристаллов и подбираем плату или модуль, называем необходимую обвязку и состав отладочных средств. Разделы каталога — FPGA и ПЛИС, платы разработки, платформы на базе SoC, одноплатные компьютеры, платы расширения, кабели USB-Blaster, оперативная память и модули. Другие материалы — в разделе выбор платформы.
Пришлите требования по интерфейсам и объёму обработки на server@tkasiatorg.ru — подберём кристалл и плату с запасом по ресурсам и назовём сроки поставки.
