Можно задать двунаправленные порты для блоков Subsystem с реализацией черного квадрата. В сгенерированном коде двунаправленные порты имеют Verilog® или VHDL® inout
ключевое слово.
В рабочем процессе Тюремщика FPGA можно использовать двунаправленные порты, чтобы соединиться с внешним RAM.
Двунаправленный порт должен быть портом подсистемы черного квадрата.
Не должно быть никакой логики между двунаправленным портом и соответствующим портом подсистемы DUT верхнего уровня. В противном случае сгенерированный код не компилирует.
Задавать двунаправленный порт с помощью пользовательского интерфейса:
В черном квадрате Subsystem щелкните правой кнопкой по блоку Inport или Outport, который представляет двунаправленный порт. Выберите HDL Code> HDL Block Properties.
Для BidirectionalPort выберите on
.
Чтобы задать двунаправленный порт в командной строке, установите BidirectionalPort
свойство к 'on'
использование hdlset_param
или makehdl
.
Например, предположите, что у вас есть модель, my_model
, это содержит подсистему DUT, dut_subsys
, и подсистема DUT содержит подсистему черного квадрата, blackbox_subsys
. Если blackbox_subsys
имеет Inport, input_A
, задайте input_A
как двунаправленный путем ввода:
hdlset_param('mymodel/dut_subsys/blackbox_subsys/input_A','BidirectionalPort','on');
В рабочем процессе Тюремщика FPGA, в Target platform interfaces table, необходимо сопоставить двунаправленный порт с любым Specify FPGA Pin {’LSB’,...,’MSB’}
или один из других интерфейсов, где интерфейс bitwidth точно совпадает с вашим двунаправленным портом bitwidth.
Например, можно сопоставить 32-битный двунаправленный порт с Expansion Headers J6 Pin 2-64[0:31]
интерфейс.
Вы не можете сгенерировать испытательный стенд Verilog, если существует двунаправленный порт в вашей подсистеме DUT.
HDL Coder™ не поддерживает двунаправленные порты для подсистем маскированных то использование BlackBox
как HDL Architecture.
Simulink® не поддерживает двунаправленные порты, таким образом, вы не можете симулировать двунаправленное поведение в Simulink.