Генерация кода Verilog из модели¶
В данном примере используется модель из следующей демонстрации https://engee.com/helpcenter/stable/ru/interactive-scripts/base_simulation/PID_fixed.html, и, учитывая применение в ней типов данных с фиксированной точкой, мы можем себе позволить сгенерировать из них код на языках Verilog. Код будем генерировать из блока PID-регулятора.
Теперь сгенерируем из этой модели код на языке Verilog. Для этого в настройках генератора зададим target="verilog".
Verilog — это язык описания аппаратуры (HDL), используемый для проектирования и моделирования цифровых систем, таких, как схемы ПЛИС и ASIC. Он позволяет описывать структуру и поведение цифровых схем на уровне регистров и логики, что делает его основным инструментом для инженеров в сфере аппаратного обеспечения. Verilog поддерживает моделирование параллельных процессов, что критично для схем с большим количеством одновременно работающих компонентов. Основные сферы применения Verilog перечислены ниже.
Проектирование ПЛИС и ASIC: Verilog позволяет описывать сложные цифровые системы, которые затем можно синтезировать в физические схемы на ПЛИС или интегральных схемах.
Симуляция и верификация: Verilog предоставляет возможность симуляции, позволяя тестировать и отлаживать схемы перед их реализацией на аппаратуре.
Автоматизация разработки: синтезаторы переводят Verilog-код в оптимизированные логические схемы, что упрощает процесс создания и тестирования аппаратных компонентов.
Verilog применяется в проектах, требующих высокоскоростной обработки данных и надежного параллельного выполнения.
engee.generate_code(
"$(@__DIR__)/pid_fixed.engee",
"$(@__DIR__)/verilog";
subsystem_name="/SubSystem",
target="verilog"
)
Теперь проанализируем результаты.
Как мы видим, код был успешно сгенерирован на обоих языках и может быть дальше применён в дальнейшей разработке.
Вывод¶
В данном примере мы рассмотрели возможности генерации кода в Engee и показали вам, как применять этот инструмент для ваших проектов.