Можно настроить и отредактировать опции генерации HDL-кода, а затем сгенерировать код в командной строке. Этот пример иллюстрирует, как можно использовать диалоговое окно Параметры конфигурации (Configuration Parameters) для генерации HDL-кода для модели Symmetric конечной импульсной характеристики filter.
Прежде чем вы сгенерируете HDL-код, модель должна быть совместима с генерацией HDL-кода. Чтобы проверить и обновить свою модель на совместимость с HDL, смотрите Проверку совместимости HDL модели Simulink с использованием HDL-код Advisor. Можно также настроить параметры модели с помощью hdlsetup
функция.
hdlsetup(gcs)
В этом примере используется модель Symmetric конечной импульсной характеристики, которая совместима с генерацией HDL-кода. Чтобы открыть эту модель в командной строке, введите:
sfir_fixed
Модель использует деление труда, которая подходит для HDL- проекта.
The symmetric_fir
подсистема, реализующая алгоритм фильтра, является тестируемым устройством (DUT). Из этой подсистемы генерируется сущность HDL.
Компоненты модели верхнего уровня, которые управляют подсистемой, работают как испытательный стенд.
Модель верхнего уровня генерирует 16-битные входные сигналы с фиксированной точкой для symmetric_fir
подсистема. Блок Рабочая область Signal From генерирует тестовое воздействие (стимулирующий) сигнал для фильтра. Четыре блока Constant обеспечивают коэффициенты фильтра. Блоки Scope используются для симуляции и не используются для генерации HDL-кода.
Для перехода к symmetric_fir
подсистема, введите:
open_system('sfir_fixed/symmetric_fir')
В MATLAB®:
Создайте папку с именем sl_hdlcoder_work
, для примера:
mkdir C:\work\sl_hdlcoder_work
sl_hdlcoder_work
хранит локальную копию модели примера и папки и сгенерированный HDL-код. Используйте папку, которая не находится в дереве папок MATLAB.
Сделайте sl_hdlcoder_work
папка в рабочей папке, например:
cd C:\work\sl_hdlcoder_work
Сохраните локальную копию sfir_fixed
моделируйте в текущую рабочую папку. Оставьте модель открытой.
Чтобы сгенерировать HDL-код для DUT, вы используете makehdl
функция. Для примера, чтобы сгенерировать HDL код для symmetric_fir
подсистема, введите:
makehdl('sfir_fixed/symmetric_fir')
Чтобы задать индивидуальные настройки перед генерацией HDL-кода, используйте hdlset_param
функция. Можно также задать различные аргументы пары "имя-значение" с makehdl
функция для настройки опций генерации HDL-кода при генерации HDL-кода. Для примера, чтобы сгенерировать код Verilog, используйте TargetLanguage
свойство.
makehdl('sfir_fixed/symmetric_fir', 'TargetLanguage', 'Verilog')
hdlset_param
, установите этот параметр в модели, а затем запустите makehdl
функция.hdlset_param('sfir_fixed', 'TargetLanguage', 'Verilog') makehdl('sfir_fixed/symmetric_fir')
HDL Coder™ компилирует модель перед генерацией кода. В зависимости от параметров отображения модели, таких как типы данных портов, модель может измениться во внешнем виде после генерации кода. Когда генерация кода продолжается, HDL Coder отображает сообщения о прогрессе в командной строке MATLAB с:
Ссылка на Конфигурацию модели, который указывает модель, к которой применяются Параметры конфигурации.
Ссылки на сгенерированные файлы. Чтобы просмотреть файлы в редакторе MATLAB, щелкните ссылки.
symmetric_fir.vhd
: VHDL код. Этот файл содержит определение сущности и архитектуру RTL, реализующую symmetric_fir.vhd
фильтр.
symmetric_fir_compile.do
: Менторская графика® ModelSim® скрипт компиляции (команда vcom) для компиляции сгенерированных VHDL- кода.
symmetric_fir_synplify.tcl
: Синхронизация® скрипт синтеза.
symmetric_fir_map.txt
: Этот отчет сопоставляет сгенерированные сущности с подсистемами, которые их сгенерировали. Смотрите код трассировки, используя файл отображения
Процесс завершается сообщением:
### HDL Code Generation Complete.