Можно настроить и изменить параметры создания кода HDL, а затем создать код в командной строке. В этом примере показано, как можно использовать диалоговое окно Параметры конфигурации (Configuration Parameters) для создания кода HDL для модели симметричного фильтра FIR.
Перед созданием кода HDL модель должна быть совместима для создания кода HDL. Сведения о проверке и обновлении модели на совместимость с HDL см. в разделе Проверка совместимости HDL модели Simulink с помощью помощника по коду HDL. Можно также настроить параметры модели с помощью hdlsetup функция.
hdlsetup(gcs)
В этом примере используется модель симметричного фильтра FIR, совместимая с генерацией кода HDL. Чтобы открыть эту модель в командной строке, введите:
sfir_fixed

Модель использует разделение труда, которое подходит для конструирования ЛПВП.
symmetric_fir подсистема, реализующая алгоритм фильтрации, является тестируемым устройством (DUT). Объект HDL генерируется из этой подсистемы.
Компоненты модели верхнего уровня, управляющие подсистемой, работают как испытательный стенд.
Модель верхнего уровня генерирует 16-разрядные входные сигналы с фиксированной точкой для symmetric_fir подсистема. Блок «Сигнал из рабочего пространства» генерирует тестовый входной (стимулирующий) сигнал для фильтра. Четыре постоянных блока обеспечивают коэффициенты фильтра. Блоки 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 отображает сообщения о ходе выполнения в командной строке MATLAB с помощью:
Ссылка на набор конфигурации, указывающий модель, для которой применяются параметры конфигурации.
Ссылки на созданные файлы. Чтобы просмотреть файлы в редакторе MATLAB, щелкните ссылки.
symmetric_fir.vhd: Код VHDL. Этот файл содержит определение сущности и архитектуру RTL, реализующую symmetric_fir.vhd фильтр.
symmetric_fir_compile.do: Mentor Graphics ® ModelSim ® сценарий компиляции (команда vcom) для компиляции созданного кода VHDL.
symmetric_fir_synplify.tcl: Сценарий синтеза Synplify ®.
symmetric_fir_map.txtЭтот отчет сопоставляет сгенерированные объекты с сгенерировавшими их подсистемами. См. раздел Код трассировки с использованием файла сопоставления
Процесс завершается сообщением:
### HDL Code Generation Complete.