Main Content

mapPort

HDL IP コアの DUT 端子を指定した AXI4 インターフェイスにマッピングする

R2020b 以降

説明

mapPort(hFPGA, hDUTPorts) は、生成された HDL IP コアの 1 つ以上の DUT 端子を AXI4 インターフェイスにマッピングします。hdlcoder.DUTPort オブジェクトを使用して DUT 端子オブジェクトをオブジェクト配列として作成します。

すべて折りたたむ

この例では、HDL IP コアの DUT 端子を AXI4 スレーブ インターフェイスにマッピングする方法を示します。

XilinxVendor にして fpga オブジェクトを作成します。

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

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

    

関数addAXI4SlaveInterfaceを使用して、AXI4 スレーブ インターフェイスを hFPGA オブジェクトに追加します。

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

HDL IP コアの DUT 端子を 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]

この例では、生成された HDL IP コアの DUT 端子を AXI4-Stream インターフェイスにマッピングする方法を示します。

ターゲット デバイス用のオブジェクトを作成します。

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

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

    

関数 addAXI4StreamInterface を使用して、AXI4-Stream インターフェイスを hFPGA オブジェクトに追加します。

%% 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 オブジェクトとして指定します。

IP コア インターフェイスにマッピングする 1 つ以上の DUT 端子。各端子は、関数 hdlcoder.DUTPort を使用して作成するオブジェクト配列です。

バージョン履歴

R2020b で導入