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

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

Предположим, что вы хотите сгенерировать HDL-код из top, с интерфейсом черного ящика из Interface подсистема. Чтобы задать интерфейс черного ящика:
Щелкните правой кнопкой мыши по Interface и выберите HDL Code > HDL Block Properties.
Откроется диалоговое окно Свойства.
Установите Architecture значение BlackBox.
Для реализации черного ящика доступны следующие параметры:

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