Main Content

addAXI4SlaveInterface

AXI4 または AXI4-Lite インターフェイスを使用して、データを IP コアに書き込むか、データを IP コアから読み取る

R2020b 以降

説明

addAXI4SlaveInterface(hFPGA) は、AXI4 スレーブ インターフェイスを追加します。このインターフェイスを使用して、MATLAB® から HDL Coder™ で生成された IP コアで AXI4 または AXI4-Lite インターフェイスにマッピングされた DUT 端子を制御できます。

addAXI4SlaveInterface(hFPGA, Name,Value) は、AXI4 スレーブ インターフェイスを追加します。このインターフェイスを使用して、MATLAB から HDL Coder で生成された IP コアで AXI4 または AXI4-Lite インターフェイスにマッピングされた DUT 端子を制御できます。この場合は、1 つ以上のプロパティを名前と値のペアの引数として指定します。それぞれのプロパティと値のペアは一重引用符で囲みます。

すべて折りたたむ

Xilinx® ターゲット用の AXI4 スレーブ インターフェイスを追加します。

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

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

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

    

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

%% AXI4-Lite
addAXI4SlaveInterface(hFPGA, ...
	... % Interface properties
    "InterfaceID", "AXI4-Lite", ...
    "BaseAddress", 0xA0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDeviceName", "mwipcore0:mmwr0", ...
    "ReadDeviceName", "mwipcore0:mmrd0");

インターフェイスを追加した後に、関数 mapPort を使用して端子をそのインターフェイスにマッピングし、データの読み取りおよび書き込みを行います。AXI4 スレーブ インターフェイスへの HDL IP コアの DUT 端子のマッピングを参照してください。

Intel® ターゲット用の AXI4 スレーブ インターフェイスを追加します。

Intel ターゲット用のターゲット オブジェクト hFPGA を作成します。

hFPGA = fpga("Intel")
hFPGA = 

  fpga with properties:

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

    

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

%% AXI4
addAXI4SlaveInterface(hFPGA, ...
	... % Interface properties
    "InterfaceID", "AXI4", ...
    "BaseAddress", 0xA0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDeviceName", "mwipcore0:mmwr0", ...
    "ReadDeviceName", "mwipcore0:mmrd0");

インターフェイスを追加した後に、関数 mapPort を使用して端子をそのインターフェイスにマッピングし、データの読み取りおよび書き込みを行います。AXI4 スレーブ インターフェイスへの HDL IP コアの DUT 端子のマッピングを参照してください。

スタンドアロン Xilinx ターゲット用の AXI4 スレーブ インターフェイスを追加します。

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

hFPGA = fpga("Xilinx")
hFPGA = 

  fpga with properties:

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

    

スタンドアロン FPGA ボードには組み込み ARM® プロセッサがないため、AXI Manager ドライバーを使用できます。aximanager オブジェクトを使用して AXI Manager ドライバーを指定してから、この情報を関数 addAXI4SlaveInterface に追加します。

% Create an "aximanager" object 
hAXIMDriver = aximanager("Xilinx");

% Pass it into the addInterface command
addAXI4SlaveInterface(hFPGA, ...
    ... % Interface properties
    "InterfaceID",  "AXI4-Lite", ...
    "BaseAddress",  0xB0000000, ...
    "AddressRange", 0x10000, ...
    ... % Driver properties
    "WriteDriver", hAXIMDriver, ...
    "ReadDriver", hAXIMDriver, ...
    "DriverAddressMode", "Full");


インターフェイスを追加した後に、関数 mapPort を使用して端子をそのインターフェイスにマッピングし、データの読み取りおよび書き込みを行います。AXI4 スレーブ インターフェイスへの HDL IP コアの DUT 端子のマッピングを参照してください。

入力引数

すべて折りたたむ

ターゲット ベンダーの fpga オブジェクト。fpga オブジェクトとして指定します。

名前と値の引数

オプションの引数ペアを Name1=Value1,...,NameN=ValueN で指定します。Name は引数名で、Value は対応する値です。名前と値の引数は他の引数より後に配置する必要がありますが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切りName を引用符で囲みます。

例: addAXI4SlaveInterface(hFPGA, "InterfaceID", "AXI4-Lite") は、InterfaceIDAXI4-Lite として指定して AXI4 スレーブ インターフェイスを作成します。

DUT 端子のマッピング先にする AXI4-Lite または AXI4 インターフェイスの名前。string として指定します。

AXI4 または AXI4-Lite スレーブ インターフェイスのベース アドレス。数値として指定します。

例: 0x40010000

AXI4 または AXI4-Lite インターフェイスのアドレス範囲。数値として指定します。

例: 0x10000

書き込み先にする IIO デバイスの名前とパス。IP Core Generation ワークフローを使用して IP コアを生成した場合、既定の名前は mwipcore0:mmwr0 です。

例: "mwipcore0:mmwr0"

読み取り元にする IIO デバイスの名前とパス。IP Core Generation ワークフローを使用して IP コアを生成した場合、既定の名前は mwipcore0:mmrd0 です。

例: "mwipcore0:mmrd0"

データの書き込みに使用する AIX ドライバーの名前。スタンドアロンの FPGA ボードでは、HDL Verifier™ aximanager オブジェクトとしてこのプロパティを指定できます。SoC プラットフォームでは、ドライバーは HDL Coder によって自動的に作成されます。

例: "aximanager('Xilinx')"

データの読み取りに使用する AIX ドライバーの名前。組み込み ARM プロセッサのないスタンドアロンの FPGA ボードでは、HDL Verifier aximanager オブジェクトとしてこのプロパティを指定できます。SoC プラットフォームでは、ドライバーは HDL Coder によって自動的に作成されます。

例: "aximanager('Xilinx')"

AXI ドライバーで必要とされるアドレスが、ベース アドレスとオフセット アドレスを含む完全なアドレスなのか、オフセット アドレスのみなのかを指定します。

例: "Offset"

バージョン履歴

R2020b で導入