Для блока MATLAB function можно использовать параметр InstantiateFunctions, чтобы сгенерировать VHDL® entity
или Verilog® module
для каждой функции. HDL Coder™ генерирует код для каждого entity
или module
в отдельном файле.
Опции InstantiateFunctions для блока MATLAB Function перечислены в следующей таблице.
Установка InstantiateFunctions | Описание |
---|---|
'off' (значение по умолчанию) | Сгенерируйте код для встроенных функций. |
'on' | Сгенерируйте VHDL |
Устанавливать параметр InstantiateFunctions с помощью диалогового окна HDL Block Properties:
Щелкните правой кнопкой по блоку MATLAB Function.
Выберите HDL Code> HDL Block Properties.
Для InstantiateFunctions выберите on.
Чтобы установить параметр InstantiateFunctions из командной строки, используйте hdlset_param
. Например, чтобы сгенерировать instantiable код для функций в блоке MATLAB Function, myMatlabFcn
, в вашей подсистеме DUT, myDUT
, Введите:
hdlset_param('my_DUT/my_MATLABFcnBlk', 'InstantiateFunctions', 'on')
Если вы хотите сгенерировать instantiable код для некоторых функций, но не других, позвольте опции сгенерировать instantiable код для функций и использовать coder.inline
. Смотрите coder.inline
для деталей.
Программное обеспечение генерирует код, встроенный когда:
Вызовы функции в рамках условного кода или for
циклы.
Любая функция вызвана с непостоянным struct
входной параметр.
Функция имеет состояние, такое как персистентная переменная, и вызвана многократно.
Существует перечисление где угодно в функции проекта.
Если вы включаете InstantiateFunctions
, UseMatrixTypesInHDL
не оказывает влияния.
Проверяйте на настройки блока MATLAB function