HDL Coder™ может сгенерировать код VHDL и Verilog из кода MATLAB®, моделей Simulink® и графиков Stateflow®. Можно затем проверить, что сгенерированный код совпадает исходным алгоритмом, и разверните его на целевом компьютере.
Этот пример показывает, как можно сгенерировать HDL-код для простой модели Counter. Модель является простым суммирующим счетчиком, который подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. Прежде чем вы сгенерируете HDL-код для этой модели, рекомендуется, чтобы вы проверили совместимость HDL своей модели при помощи Средства проверки Модели HDL. Учиться как:
Создайте эту встречную модель, смотрите, Создают Модель Simulink для генерации HDL-кода.
Проверяйте совместимость HDL встречной модели, смотрите Совместимость HDL Проверки Модели Используя Средство проверки Модели HDL.
По умолчанию HDL Coder создает папку hdlsrc в текущей рабочей папке, чтобы сгенерировать файлы HDL. Поэтому, прежде чем вы продолжаете генерировать HDL-код, убедитесь, что ваша текущая рабочая папка writeable.
Откройте эту модель, чтобы видеть простой суммирующий счетчик. Модель подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. В этой модели пороговое значение установлено в 15. Можно изменить пороговое значение путем изменения значения блока Constant, который вводится к порту count_threshold. Разрешать сигнал задает, должен ли счетчик подсчитать или содержать предыдущее значение. Разрешать сигнал установлен в 1, что означает, что счетчик рассчитывает вверх постоянно.
open_system('hdlcoder_simple_up_counter.slx') set_param('hdlcoder_simple_up_counter', 'SimulationCommand', 'Update')

Чтобы сгенерировать код для вашего DUT с настройками по умолчанию, используйте контекстное меню, доступное в Редакторе Simulink. Для встречной модели Подсистема HDL_DUT является DUT. Чтобы сгенерировать код, щелкните правой кнопкой по HDL_DUT Subsystem и выберите HDL Code> Generate HDL for Subsystem. По умолчанию HDL Coder генерирует код VHDL в целевой папке hdlsrc.
Если вы хотите сгенерировать код Verilog, можно задать эту установку в панели HDL Code Generation диалогового окна Configuration Parameters. Прежде чем вы сгенерируете код, можно также настроить настройки образцового уровня для проекта те, которые включают нативную поддержку с плавающей точкой, генерируют ресурс и отчеты трассируемости, используют оптимизацию образцового уровня и изменяют другие глобальные настройки.
Сгенерировать код Verilog для встречной модели:
Для Generate HDL for задайте DUT, Counter/HDL_DUT.
Для Language выберите Verilog. Оставьте Folder hdlsrc, который является значением по умолчанию.
Нажмите Generate, чтобы сгенерировать HDL-код.

HDL Coder компилирует модель прежде, чем сгенерировать код. В зависимости от образцовых параметров экрана, таких как типы данных порта, модель может изменение внешности после генерации кода. В то время как генерация кода продолжает, HDL Coder отображает сообщения о ходе выполнения в командной строке MATLAB с:
Соединитесь с Конфигурацией модели, которая указывает на модель, для которой применяются Параметры конфигурации.
Ссылки на сгенерированные файлы. Чтобы просмотреть файлы в редакторе MATLAB, щелкните по ссылкам.
Процесс завершается с сообщением:
### HDL Code Generation Complete.
Значок папки для папки hdlsrc теперь видим в Браузере текущей папки. Чтобы просмотреть сгенерированный код и файлы скрипта, дважды кликните значок папки hdlsrc. В папке вы видите, что файл содержит код VHDL или Verilog, скрипт, чтобы скомпилировать сгенерированный код, скрипт синтеза и файл отображения. Например, если вы сгенерированный код для Подсистемы symmetric_fir, вы видите эти файлы в папке hdlsrc:
HDL_DUT.vhd: Этот файл является кодом VHDL®, который содержит определение сущности и архитектуру RTL, реализующую суммирующий счетчик, который вы разработали.
Если вы сгенерировали код Verilog, вы получаете файл HDL_DUT.v.
HDL_DUT_compile.do: Наставник скрипт компиляции Graphics® ModelSim®. Чтобы вызвать этот скрипт и скомпилировать сгенерированный код VHDL, вы используете команду vcom.
HDL_DUT_synplify.tcl: Этот файл является синтезом Synplify® скрипт TCL.
HDL_DUT_map.txt: Этот файл отчета является файлом отображения, который сгенерировал сущности или модули к подсистемам, которые сгенерировали их. См., что Код Трассировки Использует Файл Отображения.
HDL_DUT_report.html: Этот файл является отображениями отчета Проверки генерации HDL-кода состояние генерации HDL-кода и любых предупреждений или сообщений. Если генерация HDL-кода перестала работать, вы видите причину отказа в отчете Проверки.
gm_hdlcoder_simple_up_counter.slx: Этот файл является сгенерированной моделью, которая поведенчески представляет HDL-код в среде моделирования Simulink. Для получения дополнительной информации см. Сгенерированную Модель Модели и Валидации.
Прежде чем вы продолжите развертывать свой проект на целевом компьютере, необходимо проверить сгенерированный HDL-код. От папки hdlsrc перейдите к текущей рабочей папке. Чтобы изучить, как можно проверить сгенерированный HDL-код, смотрите, Проверяют Сгенерированный код из Модели Simulink Используя Испытательный стенд HDL.
hdlset_param | hdlsetup | makehdl