mapPort

Сопоставляет порт DUT с заданным AXI4 интерфейсом в IP-ядре HDL

Синтаксис

Описание

пример

mapPort(hFPGA, hDUTPorts) отображает порт DUT или порты в сгенерированном IP-ядре HDL на AXI4 интерфейс. Вы создаете объекты портов DUT как объектный массив с помощью hdlcoder.DUTPort объект.

Примеры

свернуть все

В этом примере показано, как сопоставить порты DUT в IP-ядре HDL с ведомыми AXI4 интерфейсами.

Создайте fpga объект с Xilinx как Vendor.

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

       Vendor: "Xilinx"
   Interfaces: [0x0 fpgaio.interface.InterfaceBase]

    

Добавьте AXI4 подчиненный интерфейс к hFPGA объект при помощи addAXI4SlaveInterface функция.

%% AXI4 Slave
addAXI4SlaveInterface(hFPGA, ...
	"InterfaceID", "AXI4-Lite", ...
	"BaseAddress", 0xA0000000, ...
	"AddressRange", 0x10000);

Укажите порты DUT в IP-ядре HDL в качестве hdlcoder.DUTPort Объектному массиву и затем сопоставьте порт с AXI4 ведомым интерфейсом.

hPort_h_in1 = hdlcoder.DUTPort("h_in1", ...
	"Direction", "IN", ...
	"DataType", numerictype(1,16,10), ...
	"Dimension", [1 1], ...
	"IOInterface", "AXI4-Lite", ... 
	"IOInterfaceMapping", "0x100");

Сопоставьте объекты портов DUT с AXI4 подчиненным интерфейсом. Эта информация сохранена как свойство на hFPGA объект.

mapPort(hFPGA, hPort_h_in1, hPort_h_in2)
hFPGA.Interfaces

ans = 

   AXI4Slave with properties:
 
      InterfaceID: "AXI4-Lite"
      BaseAddress: "0xA0000000"
     AddressRange: "0x10000"
      WriteDriver: [1×1 fpgaio.driver.AXIMemoryMappedIIOWrite]
       ReadDriver: [1×1 fpgaio.driver.AXIMemoryMappedIIORead]
       InputPorts: "h_in1"
      OutputPorts: [0×0 string]

В этом примере показано, как сопоставить порты DUT в сгенерированном IP-ядре HDL с AXI4-Stream интерфейсами.

Создайте объект для целевого устройства.

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

       Vendor: "Xilinx"
   Interfaces: [0x0 fpgaio.interface.InterfaceBase]

    

Добавьте интерфейс AXI4-Stream к hFPGA объект при помощи addAXI4StreamInterface функция.

%% AXI4-Stream
addAXI4StreamInterface(hFPGA, ...
	"InterfaceID", "AXI4-Stream", ...
	"WriteEnable", true, ...
       "ReadEnable", true, ...
	"WriteFrameLength", 1024, ...
	"ReadFrameLength", 1024);

Задайте порт DUT как hdlcoder.DUTPort Объектному массиву и затем сопоставьте порт с AXI4-Stream интерфейсом.

hPort_x_in_data = hdlcoder.DUTPort("x_in_data", ...
	"Direction", "IN", ...
	"DataType", numerictype(1,16,10), ...
	"Dimension", [1 1], ...
	"IOInterface", "AXI4-Stream");

hPort_y_out_data = hdlcoder.DUTPort("y_out_data", ...
	"Direction", "OUT", ...
	"DataType", numerictype(1,32,20), ...
	"Dimension", [1 1], ...
	"IOInterface", "AXI4-Stream");

Сопоставьте объекты портов DUT с AXI4-Stream интерфейсом. Эта информация сохранена как свойство на hFPGA объект.

%% Map DUT port to AXI4 Slave driver
mapPort(hFPGA, [hPort_x_in_data, hPort_y_out_data]);
hFPGA.Interfaces

ans = 
 
   AXI4Stream with properties:
 
          InterfaceID: "AXI4-Stream"
          WriteEnable: 1
           ReadEnable: 1
     WriteFrameLength: 1024
      ReadFrameLength: 1024
          WriteDriver: [1×1 fpgaio.driver.AXIStreamIIOWrite]
           ReadDriver: [1×1 fpgaio.driver.AXIStreamIIORead]
           InputPorts: "x_in_data"
          OutputPorts: "y_out_data"

Входные параметры

свернуть все

fpga объект для целевого поставщика, заданный как fpga объект.

Порт DUT или порты, которые вы хотите сопоставить с интерфейсом ядра IP. Каждый порт является объектным массивом, который вы создаете с помощью hdlcoder.DUTPort функция.

Введенный в R2020b