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