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

Можно настроить и отредактировать опции генерации HDL-кода и затем сгенерировать код в командной строке. Этот пример иллюстрирует, как можно использовать диалоговое окно Configuration Parameters, чтобы сгенерировать HDL-код для Симметричной КИХ-модели фильтра.

КИХ-модель фильтра

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

hdlsetup(gcs)

Этот пример использует Симметричную КИХ-модель фильтра, которая совместима для генерации HDL-кода. Открыть эту модель в командной строке, введите:

sfir_fixed

Модель использует разделение труда, которое подходит для проекта HDL.

  • symmetric_fir подсистема, которая реализует алгоритм фильтра, является устройством под тестом (DUT). Сущность HDL сгенерирована от этой подсистемы.

  • Компоненты модели верхнего уровня, которые управляют подсистемой, работают испытательным стендом.

Модель верхнего уровня генерирует 16-битные входные сигналы фиксированной точки для symmetric_fir подсистема. Блок Signal From Workspace генерирует тестовое воздействие (стимул) сигнал для фильтра. Четыре блока Constant обеспечивают коэффициенты фильтра. Блоки Scope используются для симуляции и не используются для генерации HDL-кода.

Перейти к symmetric_fir подсистема, введите:

open_system('sfir_fixed/symmetric_fir')

Symmetric FIR filter algorithm.

Создайте папку и скопируйте соответствующие файлы

В MATLAB®:

  1. Создайте папку под названием sl_hdlcoder_work, например:

    mkdir C:\work\sl_hdlcoder_work
    

    sl_hdlcoder_work хранит локальную копию модели в качестве примера и папок и сгенерированного HDL-кода. Используйте местоположение папки, которое не является в дереве папки MATLAB.

  2. Сделайте sl_hdlcoder_work папка ваша рабочая папка, например:

    cd C:\work\sl_hdlcoder_work
  3. Сохраните локальную копию sfir_fixed модель к вашей текущей рабочей папке. Оставьте модель открытой.

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

Чтобы сгенерировать 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: Mentor Graphics® ModelSim® скрипт компиляции (vcom команда), чтобы скомпилировать сгенерированный код VHDL.

    • symmetric_fir_synplify.tcl: Synplify® скрипт синтеза.

    • symmetric_fir_map.txt: Этот отчет сопоставляет сгенерированные сущности с подсистемами, которые сгенерировали их. См., что Код Трассировки Использует Файл Отображения

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

### HDL Code Generation Complete.

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

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте