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

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

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

Требования

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

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

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

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

  1. В черном квадрате Subsystem щелкните правой кнопкой по блоку 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.

Похожие темы