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

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

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

Требования

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

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

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

Чтобы задать двунаправленный порт, используя UI:

  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’} или один из других интерфейсов, где битовая ширина интерфейса в точности соответствует битовой ширине двунаправленного порта.

    Например, вы можете сопоставить 32-битный двунаправленный порт с Expansion Headers J6 Pin 2-64[0:31] интерфейс.

  • Вы не можете сгенерировать испытательный стенд Verilog, если в подсистеме DUT есть двунаправленный порт.

  • HDL Coder™ не поддерживает двунаправленные порты для маскированных подсистем, которые используют BlackBox как HDL Architecture.

  • Simulink® не поддерживает двунаправленные порты, поэтому моделировать двунаправленное поведение в Simulink невозможно.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте