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-потоковым интерфейсам.

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

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