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