exponenta event banner

Создание портов DUT для настраиваемых параметров

Настраиваемые параметры, используемые для настройки поведения модели во время моделирования, могут сопоставляться с портами DUT верхнего уровня в сгенерированном коде HDL. HDL Coder™ генерирует один порт DUT на настраиваемый параметр.

Можно создать порт DUT для настраиваемого параметра, используя его в одном из следующих блоков:

  • Выгода

  • Постоянный

  • Функция MATLAB

  • Система MATLAB

  • Диаграмма

  • Таблица правды

  • Таблица переходов состояний

Эти блоки с настраиваемым параметром могут находиться на любом уровне иерархии DUT, в том числе в пределах ссылки на модель.

Нельзя использовать косимуляцию HDL с DUT, использующим настраиваемые параметры в любом из этих блоков. Если в блоке, отличном от этих блоков, используется настраиваемый параметр, код генерируется в линейном режиме и не сопоставляется с портами DUT. Чтобы использовать значение настраиваемого параметра в блоке диаграммы или таблицы истинности, см. раздел Использование настраиваемого параметра в других блоках.

Настраиваемые параметры можно определить и сохранить в базовом рабочем пространстве или в словаре данных Simulink ®. Однако словарь данных Simulink предоставляет больше возможностей. Дополнительные сведения см. в разделе Что такое словарь данных?.

Предпосылки

  • Тип данных Simulink, скомпилированный для всех экземпляров настраиваемого параметра, должен быть одинаковым.

  • Блоки симулятора, использующие настраиваемые параметры с тем же именем, должны работать с той же скоростью передачи данных.

Дополнительные сведения о скомпилированных типах данных Simulink см. в разделе Типы данных параметров блока управления.

Создание и добавление настраиваемого параметра, сопоставляемого портам DUT

Чтобы создать порт DUT для настраиваемого параметра:

  1. Создание настраиваемого параметра с помощью StorageClass установить в значение ExportedGlobal.

    Например, чтобы создать настраиваемый параметр, myParamи инициализировать его до 5, в командной строке введите:

    myParam = Simulink.Parameter;
    myParam.Value = 5;
    myParam.CoderInfo.StorageClass = 'ExportedGlobal';

    Либо с помощью Обозревателя моделей создайте настраиваемый параметр и выполните следующие действия.

    • В столбце Класс хранилища на панели Содержимое щелкните ссылку настройки.

    • В диалоговом окне нажмите кнопку «Настроить в приложении кодировщика». Установите для класса хранения значение ExportedGlobal.

    См. раздел Создание объектов данных из встроенного Simulink пакета классов данных.

  2. В конструкции 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 по умолчанию не установлен.

Использовать настраиваемый параметр в других блоках

Чтобы использовать значение настраиваемого параметра в блоке диаграммы или таблицы истинности, выполните следующие действия.

  1. Создайте настраиваемый параметр и используйте его в блоке константы.

  2. Добавьте входной порт в блок, в котором требуется использовать настраиваемый параметр.

  3. Подключите выход блока константы к новому входному порту.

Связанные темы