Можно задать двунаправленные порты для блоков 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.