Настраиваемые параметры, используемые для настройки поведения модели во время моделирования, могут сопоставляться с портами DUT верхнего уровня в сгенерированном коде HDL. HDL Coder™ генерирует один порт DUT на настраиваемый параметр.
Можно создать порт DUT для настраиваемого параметра, используя его в одном из следующих блоков:
Выгода
Постоянный
Функция MATLAB
Система MATLAB
Диаграмма
Таблица правды
Таблица переходов состояний
Эти блоки с настраиваемым параметром могут находиться на любом уровне иерархии DUT, в том числе в пределах ссылки на модель.
Нельзя использовать косимуляцию HDL с DUT, использующим настраиваемые параметры в любом из этих блоков. Если в блоке, отличном от этих блоков, используется настраиваемый параметр, код генерируется в линейном режиме и не сопоставляется с портами DUT. Чтобы использовать значение настраиваемого параметра в блоке диаграммы или таблицы истинности, см. раздел Использование настраиваемого параметра в других блоках.
Настраиваемые параметры можно определить и сохранить в базовом рабочем пространстве или в словаре данных Simulink ®. Однако словарь данных Simulink предоставляет больше возможностей. Дополнительные сведения см. в разделе Что такое словарь данных?.
Тип данных Simulink, скомпилированный для всех экземпляров настраиваемого параметра, должен быть одинаковым.
Блоки симулятора, использующие настраиваемые параметры с тем же именем, должны работать с той же скоростью передачи данных.
Дополнительные сведения о скомпилированных типах данных Simulink см. в разделе Типы данных параметров блока управления.
Чтобы создать порт DUT для настраиваемого параметра:
Создание настраиваемого параметра с помощью StorageClass установить в значение ExportedGlobal.
Например, чтобы создать настраиваемый параметр, myParamи инициализировать его до 5, в командной строке введите:
myParam = Simulink.Parameter;
myParam.Value = 5;
myParam.CoderInfo.StorageClass = 'ExportedGlobal';Либо с помощью Обозревателя моделей создайте настраиваемый параметр и выполните следующие действия.
В столбце Класс хранилища на панели Содержимое щелкните ссылку настройки.
В диалоговом окне нажмите кнопку «Настроить в приложении кодировщика». Установите для класса хранения значение ExportedGlobal.
См. раздел Создание объектов данных из встроенного Simulink пакета классов данных.
В конструкции Simulink используйте настраиваемый параметр в качестве:
Постоянное значение в блоке Constant.
Параметр усиления в блоке усиления.
Аргумент функции MATLAB ® в блоке функции MATLAB.
Следующий код VHDL ® является примером кода, который кодер HDL генерирует для блока усиления с его полем усиления, установленным на настраиваемый параметр ,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 по умолчанию не установлен.
Чтобы использовать значение настраиваемого параметра в блоке диаграммы или таблицы истинности, выполните следующие действия.
Создайте настраиваемый параметр и используйте его в блоке константы.
Добавьте входной порт в блок, в котором требуется использовать настраиваемый параметр.
Подключите выход блока константы к новому входному порту.