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

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

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

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