Сгенерируйте код Instantiable для функций

Для блока MATLAB function можно использовать параметр InstantiateFunctions, чтобы сгенерировать VHDL® entity или Verilog® module для каждой функции. HDL Coder™ генерирует код для каждого entity или module в отдельном файле.

Опции InstantiateFunctions для блока MATLAB function перечислены в следующей таблице.

Установка InstantiateFunctionsОписание
'off' (значение по умолчанию)

Сгенерируйте код для встроенных функций.

'on'

Сгенерируйте VHDL entity или module Verilog для каждой функции, и сохраните каждый module или entity в отдельном файле.

Как сгенерировать код Instantiable для функций

Устанавливать параметр InstantiateFunctions с помощью диалогового окна HDL Block Properties:

  1. Щелкните правой кнопкой по блоку MATLAB function.

  2. Выберите HDL Code> HDL Block Properties.

  3. Для 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 для деталей.

Ограничения для генерации кода Instantiable для функций

Программное обеспечение генерирует код, встроенный когда:

  • Вызовы функции в рамках условного кода или циклов for.

  • Любая функция вызвана с непостоянным входом struct.

  • Функция имеет состояние, такое как персистентная переменная, и вызвана многократно.

  • Существует перечисление где угодно в функции проекта.

Если вы включаете InstantiateFunctions, UseMatrixTypesInHDL не имеет никакого эффекта.