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

Можно настроить и отредактировать опции генерации 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')

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: Менторская графика® ModelSim® скрипт компиляции (команда vcom) для компиляции сгенерированных VHDL- кода.

    • symmetric_fir_synplify.tcl: Синхронизация® скрипт синтеза.

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

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

### HDL Code Generation Complete.

См. также

|

Похожие темы