Пакет синтеза C ++ для разработки алгоритма PolarFire FPGA

Обновление: 6 августа 2023 г.
Пакет синтеза C ++ для разработки алгоритма PolarFire FPGA

«Подавляющее большинство алгоритмов периферийных вычислений, компьютерного зрения и управления производством изначально разрабатываются на C ++ разработчиками, мало или совсем не зная о лежащих в их основе FPGA / ПРОГРАММИРУЕМАЯ ПОЛЬЗОВАТЕЛЕМ ВЕНТИЛЬНАЯ МАТРИЦА оборудование », - сообщили в компании.

Инструмент, получивший название SmartHLS, позволяет напрямую транслировать алгоритмы C ++ в код RTL (уровень передачи регистров), оптимизированный для FPGA.

Он основан на интегрированной среде разработки Eclipse с открытым исходным кодом и использует программный код C ++ для создания компонента HDL IP (интеллектуальная собственность языка проектирования оборудования) для интеграции в проекты Microchip Libero SmartDesign.

Подробно пользователь реализует свой проект в программном обеспечении C ++ и проверяет функциональность с помощью программных тестов. Затем LegUp компилирует программу C ++ в аппаратные модули Verilog, эквивалентные по функциональности.

SmartHLS может запускать совместное моделирование с Modelsim для проверки поведения оборудования с точностью до цикла и подтверждения соответствия аппаратных функций программному обеспечению, а также может генерировать аппаратные IP-ядра для интеграции в более крупные системы с помощью SmartDesign. LegUp также может запускать синтез Libero на сгенерированном Verilog для определения области FPGA и Fmax. Как и PolarFire, инструмент поддерживает ПЛИС SmartFusion2.

«Написание программного кода C ++ проще для инженеров, чем проектирование в RTL, потому что программный код более лаконичен и требует в 5-10 раз меньше строк C ++, чем RTL», - сказал Microchip. «Программное обеспечение также легче понять и изменить для будущих улучшений или обслуживания по сравнению с RTL. Краткость и удобочитаемость программного обеспечения означают меньше ошибок в вашей конструкции FPGA ».

Страница продукта SmartHLS находится здесь