Настраиваемые параметры, которые вы используете, чтобы настроить поведение модели во время симуляции, могут сопоставиться с портами DUT верхнего уровня в сгенерированном HDL-коде. HDL Coder™ генерирует один порт DUT на настраиваемый параметр.
Вы можете сгенерировать порт DUT для настраиваемого параметра, используя его в одном из следующих блоков:
Gain
Constant
MATLAB Function
MATLAB System
Chart
Truth Table
State Transition Table
Эти блоки с настраиваемым параметром могут быть на любом уровне иерархии DUT, в том числе в модель-ссылку.
Вы не можете использовать HDL-косимуляцию с DUT, который использует настраиваемые параметры в любом из этих блоков. Если вы используете настраиваемый параметр в блоке, отличном от этих блоков, код генерируется встроенно и не сопоставляется с портами DUT. Чтобы использовать значение настраиваемого параметра в Chart или Truth Table блоке, смотрите Использование настраиваемого параметра в других блоках.
Можно задать и сохранить настраиваемые параметры в базовом рабочем пространстве или Simulink® словарь данных. Однако словарь данных Simulink предоставляет больше возможностей. Для получения дополнительной информации смотрите Что такое словарь данных?.
Скомпилированный тип данных Simulink для всех образцов настраиваемого параметра должен быть одинаковым.
Блоки Simulink, которые используют настраиваемые параметры с таким же именем, должны работать с той же скоростью передачи данных.
Дополнительные сведения о компилируемых типах данных Simulink см. в разделе Типы данных Параметров блоков управления.
Чтобы сгенерировать порт DUT для настраиваемого параметра:
Создайте настраиваемый параметр с StorageClass
установлено на ExportedGlobal
.
Например, чтобы создать настраиваемый параметр, myParam
, и инициализировать его до 5, в командной строке введите:
myParam = Simulink.Parameter;
myParam.Value = 5;
myParam.CoderInfo.StorageClass = 'ExportedGlobal';
Кроме того, используя Model Explorer, создайте настраиваемый параметр и:
В Storage Class столбце панели Contents щелкните ссылку configure.
На панели Dialog нажмите Configure in Coder App. Установите Storage Class значение ExportedGlobal
.
Смотрите Создание Объектов Данных из Встроенного Пакета Класса Данных Simulink.
В проекте Simulink используйте настраиваемый параметр как:
Constant value в блоке Constant.
Gain параметр в блоке Gain.
MATLAB® аргумент функции в блоке MATLAB Function.
Следующий VHDL® код является примером кода, который HDL Coder генерирует для блока Gain с Gain полем, установленным на настраиваемый параметр, myParam
. Вы видите, что генератор кода создает порт DUT и добавляет комментарий, чтобы указать, что порт соответствует настраиваемому параметру.
ENTITY s IS PORT( In1 : IN std_logic_vector(15 DOWNTO 0); -- sfix16_En5 myParam : IN std_logic_vector(15 DOWNTO 0); -- sfix16_En5 Tunable port Out1 : OUT std_logic_vector(31 DOWNTO 0) -- sfix32_En10 ); END s; ARCHITECTURE rtl OF s IS -- Signals SIGNAL myParam_signed : signed(15 DOWNTO 0); -- sfix16_En5 SIGNAL In1_signed : signed(15 DOWNTO 0); -- sfix16_En5 SIGNAL Gain_out1 : signed(31 DOWNTO 0); -- sfix32_En10 BEGIN myParam_signed <= signed(myParam); In1_signed <= signed(In1); Gain_out1 <= myParam_signed * In1_signed; Out1 <= std_logic_vector(Gain_out1); END rtl;
Убедитесь, что флажок Использовать триггерный сигнал как синхроимпульс (Use trigger signal as clock) по умолчанию снят.
Чтобы использовать значение настраиваемого параметра в Chart или Truth Table блоке:
Создайте настраиваемый параметр и используйте его в блоке Constant.
Добавьте входа порт к блоку, где вы хотите использовать настраиваемый параметр.
Соедините выход блока Constant с новым входным портом.