Сгенерируйте интерфейс черного ящика для подсистемы

Что такое интерфейс черного ящика?

Интерфейс черного ящика для подсистемы является сгенерированным VHDL® компонент или Verilog® модуль, который включает только определения входного и выходного портов HDL для подсистемы. При генерации такого компонента можно использовать подсистему в модели, чтобы сгенерировать интерфейс к существующему вручную написанному HDL-коду, стороннему IP или другому коду, сгенерированному HDL- Coder™.

Требования

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

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

Сгенерируйте интерфейс черного ящика для подсистемы

Чтобы сгенерировать интерфейс, выберите BlackBox реализация для одного или нескольких блоков Subsystem. Рассмотрим следующую модель, которая содержит подсистему top, которое является тестируемым устройством.

Подсистема top содержит две низкоуровневые подсистемы:

Предположим, что вы хотите сгенерировать HDL-код из top, с интерфейсом черного ящика из Interface подсистема. Чтобы задать интерфейс черного ящика:

  1. Щелкните правой кнопкой мыши по Interface и выберите HDL Code > HDL Block Properties.

    Откроется диалоговое окно Свойства.

  2. Установите Architecture значение BlackBox.

    Для реализации черного ящика доступны следующие параметры:

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

  3. Измените параметры по желанию и нажатию кнопки Apply.

  4. Нажмите кнопку OK, чтобы закрыть диалоговое окно « Свойства HDL».

Сгенерируйте код для реализации подсистемы черного ящика

Когда вы генерируете код для DUT в ex_blackbox_subsys модель, появляются следующие сообщения:

>> makehdl('ex_blackbox_subsys/top')
### Generating HDL for 'ex_blackbox_subsys/top'
### Starting HDL Check.
### HDL Check Complete with 0 errors, 0 warnings and 0 messages.

### Begin VHDL Code Generation
### Working on ex_blackbox_subsys/top/gencode as hdlsrc\gencode.vhd
### Working on ex_blackbox_subsys/top as hdlsrc\top.vhd
### HDL Code Generation Complete.

В сообщениях о прогрессе обратите внимание, что gencode подсистема генерирует отдельный файл, gencode.vhdдля определения сущности VHDL. The Interface подсистема не генерирует такой файл. Код интерфейса для этой подсистемы в top.vhd, сгенерирован из ex_blackbox_subsys/top. В следующем списке кодов показаны определения компонентов и экземпляры, сгенерированные для Interface подсистема.

  COMPONENT Interface
    PORT( clk            :   IN    std_logic;
          clk_enable     :   IN    std_logic;
          reset          :   IN    std_logic;
          In1            :   IN    std_logic_vector(7 DOWNTO 0);  -- uint8
          In2            :   IN    std_logic_vector(15 DOWNTO 0);  -- uint16
          In3            :   IN    std_logic_vector(31 DOWNTO 0);  -- uint32
          Out1           :   OUT   std_logic_vector(31 DOWNTO 0)  -- uint32
          );
  END COMPONENT;
...
  u_Interface : Interface
    PORT MAP( clk => clk,
              clk_enable => enb,
              reset => reset,
              In1 => gencode_out1,  -- uint8
              In2 => gencode_out2,  -- uint16
              In3 => gencode_out3,  -- uint32
              Out1 => Interface_out1  -- uint32
              );

  enb <= clk_enable;

  ce_out <= enb;

  Out1 <= Interface_out1;

По умолчанию интерфейс черного ящика, сгенерированный для подсистем, включает в себя часы, активацию синхроимпульса и порты сброса. Настройка интерфейса Black Box или HDL Cosimulation описывает, как можно переименовать или подавить генерацию этих сигналов и настроить другие аспекты сгенерированного интерфейса.

Похожие темы