Сгенерируйте HDL-код из модели Simulink

HDL Coder™ может сгенерировать код VHDL и Verilog из кода MATLAB®, моделей Simulink® и графиков Stateflow®. Можно затем проверить, что сгенерированный код совпадает исходным алгоритмом, и разверните его на целевом компьютере.

Этот пример показывает, как можно сгенерировать HDL-код для простой модели Counter. Модель является простым суммирующим счетчиком, который подсчитывает от нуля до порогового значения и затем переносится назад, чтобы обнулить. Прежде чем вы сгенерируете 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')

Сгенерируйте HDL-код

Чтобы сгенерировать код для вашего 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 для встречной модели:

  1. Для Generate HDL for задайте DUT, Counter/HDL_DUT.

  2. Для Language выберите Verilog. Оставьте Folder hdlsrc, который является значением по умолчанию.

  3. Нажмите Generate, чтобы сгенерировать HDL-код.

HDL Coder компилирует модель прежде, чем сгенерировать код. В зависимости от образцовых параметров экрана, таких как типы данных порта, модель может изменение внешности после генерации кода. В то время как генерация кода продолжает, HDL Coder отображает сообщения о ходе выполнения в командной строке MATLAB с:

  • Соединитесь с Конфигурацией модели, которая указывает на модель, для которой применяются Параметры конфигурации.

  • Ссылки на сгенерированные файлы. Чтобы просмотреть файлы в редакторе MATLAB, щелкните по ссылкам.

Процесс завершается с сообщением:

### HDL Code Generation Complete.

Просмотрите файлы генерации HDL-кода

Значок папки для папки 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-код

Прежде чем вы продолжите развертывать свой проект на целевом компьютере, необходимо проверить сгенерированный HDL-код. От папки hdlsrc перейдите к текущей рабочей папке. Чтобы изучить, как можно проверить сгенерированный HDL-код, смотрите, Проверяют Сгенерированный код из Модели Simulink Используя Испытательный стенд HDL.

Смотрите также

| |

Похожие темы