Задайте двунаправленные порты

Можно задать двунаправленные порты для блоков Subsystem с реализацией черного квадрата. В сгенерированном коде двунаправленные порты имеют ключевое слово VHDL® inout или Verilog®.

В рабочем процессе Тюремщика FPGA можно использовать двунаправленные порты, чтобы соединиться с внешним RAM.

Требования

  • Двунаправленный порт должен быть портом подсистемы черного квадрата.

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

Как задать двунаправленный порт

Задавать двунаправленный порт с помощью пользовательского интерфейса:

  1. В Подсистеме черного квадрата щелкните правой кнопкой по блоку Inport или Outport, который представляет двунаправленный порт. Выберите HDL Code> HDL Block Properties.

  2. Для 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.

Похожие темы