このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
aximanager
MATLAB からの FPGA ボード上のメモリ位置の読み取りと書き込み
説明
aximanager
オブジェクトは、FPGA ボード上で実行されているときに AXI マネージャー IP と通信します。オブジェクトは、FPGA ボード上の下位のメモリ位置にアクセスするために、読み取りコマンドと書き込みコマンドを IP に転送します。このオブジェクトを使用する前に、AXI マネージャーの設定 の手順に従ってください。
メモ
aximaster
オブジェクトの名前が aximanager
オブジェクトに変更されました。詳細については、バージョン履歴を参照してください。
作成
説明
は、ボード上で実行されている FPGA の AXI4 マネージャー IP を制御するオブジェクトを返します。mem
= aximanager(vendor
)vendor
は FPGA のブランド名を指定します。この接続により、MATLAB® から SoC 設計内のメモリ位置にアクセスできるようになります。
は、1 つ以上の名前と値のペアの引数を使用してプロパティを設定します。各プロパティ名と値を引用符で囲みます。たとえば、mem
= aximanager(vendor
,Name
,Value
)'DeviceAddress','192.168.0.10'
は FPGA ボードのインターネット プロトコル (IP) アドレスを 192.168.0.10 として指定します。
入力引数
FPGA ブランド名。'Intel'
または 'Xilinx'
として指定されます。この値は FPGA ボードの製造元を指定します。AXI マネージャー IP は、指定する FPGA のタイプによって異なります。
プロパティ
FPGA ボードとの通信に使用されるインターフェイスのタイプ。'JTAG'
、'PCIe'
、'PLEthernet'
、'PSEthernet'
、または 'USBEthernet'
として指定されます。この値は、ホストと FPGA 間の通信に使用するインターフェイス タイプを指定します。
メモ
AXI マネージャーは、Xilinx® Zynq® デバイスのみの PS イーサネットおよび USB イーサネット インターフェイスをサポートします。
FPGA ボードとの通信に使用される JTAG ケーブルの名前。JTAG ケーブル名を表す文字ベクトルまたは文字列スカラーとして指定します。同じタイプの JTAG ケーブルが複数ホスト コンピューターに接続されている場合は、このプロパティを指定します。ホスト コンピューターに複数の JTAG ケーブルがあり、このプロパティを指定しない場合は、オブジェクトはエラーを返します。エラー メッセージには、使用可能な JTAG ケーブルの名前が含まれます。詳細については、Intelボード用の複数のJTAGケーブルから選択 または Xilinx ボード用の複数の JTAG ケーブルから選択 を参照してください。
依存関係
このプロパティを有効にするには、Interface
を 'JTAG'
に設定します。
データ型: char
| string
FPGA ボード上のイーサネット ポートまたは USB イーサネット ガジェットのインターネット プロトコル (IP) アドレス。IP アドレスを表す文字ベクトルまたは文字列スカラーとして指定されます。PL Ethernet または PS Ethernet インターフェイスのデフォルトの IP アドレスは '192.168.0.2'
です。USB イーサネット インターフェイスのデフォルトの IP アドレスは '192.168.1.2'
です。
例: '192.168.0.10'
依存関係
このプロパティを有効にするには、Interface
を 'PLEthernet'
、'PSEthernet'
、または 'USBEthernet'
に設定します。
データ型: char
| string
ターゲット FPGA ボードのユーザー データグラム プロトコル (UDP) ポート番号 (整数として指定)。
例: '12345'
依存関係
このプロパティを有効にするには、Interface
を 'PLEthernet'
に設定します。
データ型: uint16
FPGA ボードとの通信に使用される JTAG ケーブルのタイプ。'auto'
または 'FTDI'
として指定されます。この値は、FPGA ボードとの通信に使用される JTAG ケーブルのタイプを指定します。このプロパティは、複数のケーブルがホスト コンピューターに接続されている場合に最も役立ちます。
このプロパティを 'auto'
に設定すると、オブジェクトは JTAG ケーブル タイプを自動検出します。オブジェクトは Digilent® ケーブルの検索を優先し、このプロセスを使用してケーブル タイプを自動検出します。
aximanager
オブジェクトは Digilent ケーブルを検索します。オブジェクトが見つかった場合:Digilent ケーブルは 1 本だけであり、FPGA ボードとの通信にはそのケーブルを使用します。
Digilent ケーブルが複数ある場合は、エラーが返されます。このエラーを解決するには、JTAGCableName を使用して目的のケーブルを指定します。
Digilent ケーブルがないため、FTDI ケーブルを検索します。
Digilent ケーブルが見つからない場合、
aximanager
オブジェクトは FTDI ケーブルを検索します。オブジェクトが見つかった場合:正確には 1 本の FTDI ケーブルで、FPGA ボードとの通信にそのケーブルを使用します。
FTDI ケーブルが複数ある場合、エラーが返されます。このエラーを解決するには、JTAGCableName を使用して目的のケーブルを指定します。
FTDI ケーブルがない場合、エラーが返されます。このエラーを解決するには、Digilent または FTDI ケーブルを接続します。
オブジェクトが異なるタイプのケーブルを 2 つ見つけた場合、Digilent ケーブルが優先されます。FTDI ケーブルを使用するには、このプロパティを
'FTDI'
に設定します。
このプロパティが 'FTDI'
に設定されている場合、オブジェクトは FTDI ケーブルを検索します。オブジェクトが見つかった場合:
正確には 1 本の FTDI ケーブルで、FPGA ボードとの通信にそのケーブルを使用します。
FTDI ケーブルが複数ある場合、エラーが返されます。このエラーを解決するには、JTAGCableName を使用して目的のケーブルを指定します。
FTDI ケーブルがない場合、エラーが返されます。このエラーを解決するには、Digilent または FTDI ケーブルを接続します。
詳細については、Xilinx ボード用の複数の JTAG ケーブルから選択を参照してください。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
JTAG クロック周波数を正の整数で指定します。単位はMHzです。JTAG 周波数は、ケーブルの種類と FPGA ボードでサポートされる最大クロック周波数によって異なります。最大周波数についてはボードのドキュメントを確認してください。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
JTAG チェーン内の FPGA の位置。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
ターゲット FPGA の前のすべてのデバイスの命令レジスタの長さの合計。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
ターゲット FPGA 以降のすべてのデバイスの命令レジスタ長の合計。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
ターゲットの Linux オペレーティング システムにログインするためのユーザー名。文字ベクトルまたは文字列スカラーとして指定されます。このプロパティは、ターゲットの Linux オペレーティング システムでカスタム SD カード イメージ ファイルのユーザー アカウントを構成する場合にのみ適用されます。
例: 'John'
依存関係
このプロパティを有効にするには、Interface
を 'PSEthernet'
または 'USBEthernet'
に設定します。
データ型: char
| string
指定されたユーザー名に関連付けられたパスワード。文字ベクトルまたは文字列スカラーとして指定されます。このプロパティは、ターゲットの Linux オペレーティング システムでカスタム SD カード イメージ ファイルのユーザー アカウントを構成する場合にのみ適用されます。
例: 'P@ssw0rd123'
依存関係
このプロパティを有効にするには、Interface
を 'PSEthernet'
または 'USBEthernet'
に設定します。
データ型: char
| string
オブジェクト関数
readmemory | AXI4メモリマップされた下位からデータを読み取る |
release | JTAGまたはイーサネットケーブルリソースを解放する |
writememory | AXI4メモリマップされた下位にデータを書き込む |
例
この例では、MATLAB® から Intel® FPGA ボード上のメモリ位置を読み書きする方法を示します。
この例を使用する前に、MATLAB ホスト マシンに接続された FPGA ボード上でデザインが実行されている必要があります。FPGA 設計には、FPGA ベンダー向けにカスタマイズされた AXI マネージャー IP が含まれている必要があります。サポート パッケージのインストールにはこの IP が含まれます。プロジェクトに IP を含めるには、AXI マネージャーを使用して FPGA 外部メモリにアクセスする の例を参照してください。
AXI マネージャー オブジェクトを作成します。オブジェクトは MATLAB を FPGA ボードに接続し、IP が存在することを確認します。
mem = aximanager('Intel')
mem =
aximanager with properties:
Vendor: 'Intel' JTAGCableName: 'auto'
10 個のアドレスを書き込み、1 つの場所からデータを読み取ります。デフォルトでは、これらの関数はデータの各ワードのアドレスを自動的に増分します。
writememory(mem,140,[10:19]); rd_d = readmemory(mem,140,1)
rd_d =
uint32
10
10 か所からデータを読み取ります。
rd_d = readmemory(mem,140,10)
rd_d =
1x10 uint32 row vector
10 11 12 13 14 15 16 17 18 19
AXI マネージャーが同じアドレスからすべてのデータを読み取るように指定して (自動増分を無効にして)、同じアドレスからデータを 10 回読み取ります。
rd_d = readmemory(mem,140,10,'BurstType','Fixed')
rd_d =
1x10 uint32 row vector
10 10 10 10 10 10 10 10 10 10
同じアドレスにデータを10回書き込みます。この場合、アドレス 140
に格納される最終値は 29
です。
writememory(mem,140,[20:29],'BurstType','Fixed'); rd_d = readmemory(mem,140,10)
rd_d =
1x10 uint32 row vector
29 11 12 13 14 15 16 17 18 19
アドレスを 16 進数値として指定します。読み取ったデータを uint32
以外のデータ型にキャストする関数を指定します。
writememory(mem,0x1c,[0:4:64]);
rd_d = readmemory(mem,0x1c,16,'OutputDataType',numerictype(0,6,4))
rd_d =
Columns 1 through 10 0 0.2500 0.5000 0.7500 1.0000 1.2500 ... 1.5000 1.7500 2.0000 2.2500 Columns 11 through 16 2.5000 2.7500 3.0000 3.2500 3.5000 3.7500
DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 6 FractionLength: 4
ボードにアクセスする必要がなくなったら、JTAG 接続を解放します。
release(mem);
この例では、MATLAB® から Xilinx® FPGA ボード上のメモリ位置を読み書きする方法を示します。
この例を使用する前に、MATLAB ホスト マシンに接続された FPGA ボード上でデザインが実行されている必要があります。FPGA 設計には、FPGA ベンダー向けにカスタマイズされた AXI マネージャー IP が含まれている必要があります。サポート パッケージのインストールにはこの IP が含まれます。プロジェクトに IP を含めるには、JTAGベースのAXIマネージャを使用してFPGAメモリにアクセスする の例を参照してください。
AXI マネージャー オブジェクトを作成します。オブジェクトは MATLAB を FPGA ボードに接続し、IP が存在することを確認します。
mem = aximanager('Xilinx')
mem =
aximanager with properties:
Vendor: 'Xilinx' JTAGCableName: 'auto'
10 個のアドレスを書き込み、1 つの場所からデータを読み取ります。デフォルトでは、これらの関数はデータの各ワードのアドレスを自動的に増分します。
writememory(mem,140,[10:19]); rd_d = readmemory(mem,140,1)
rd_d =
uint32
10
10 か所からデータを読み取ります。
rd_d = readmemory(mem,140,10)
rd_d =
1x10 uint32 row vector
10 11 12 13 14 15 16 17 18 19
AXI マネージャーが同じアドレスからすべてのデータを読み取るように指定して (自動増分を無効にして)、同じアドレスからデータを 10 回読み取ります。
rd_d = readmemory(mem,140,10,'BurstType','Fixed')
rd_d =
1x10 uint32 row vector
10 10 10 10 10 10 10 10 10 10
同じアドレスにデータを10回書き込みます。この場合、アドレス 140
に格納される最終値は 29
です。
writememory(mem,140,[20:29],'BurstType','Fixed'); rd_d = readmemory(mem,140,10)
rd_d =
1x10 uint32 row vector
29 11 12 13 14 15 16 17 18 19
アドレスを 16 進数値として指定します。読み取ったデータを uint32
以外のデータ型にキャストする関数を指定します。
writememory(mem,0x1c,[0:4:64]);
rd_d = readmemory(mem,0x1c,16,'OutputDataType',numerictype(0,6,4))
rd_d =
Columns 1 through 10 0 0.2500 0.5000 0.7500 1.0000 1.2500 ... 1.5000 1.7500 2.0000 2.2500 Columns 11 through 16 2.5000 2.7500 3.0000 3.2500 3.5000 3.7500
DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 6 FractionLength: 4
ボードにアクセスする必要がなくなったら、JTAG 接続を解放します。
release(mem);
この例では、ホスト コンピューターに接続されている複数の JTAG ケーブルから必要な JTAG ケーブルを選択する方法を示します。
同じタイプのケーブルが 2 本ホスト コンピューターに接続されている場合は、AXI マネージャー IP が実行されているボードの JTAGCableName プロパティ識別子を指定します。JTAG ケーブル識別子を確認するには、aximanager
オブジェクトを作成してみてください。オブジェクトは、現在の JTAG ケーブル名のリストを返します。
h = aximanager('Intel')
Error using fpgadebug_mex Found more than one JTAG cable: 0 (Max10): #tpt_0001#ptc_0002#210203991642 1 (Arria): #tpt_0001#ptc_0002#210319789795 Please disconnect the extra cable, or specify the cable name as an input argument. See documentation of FPGA Data Capture or AXI Manager to learn how to set the cable name.
Arria ボードと通信するには、一致する JTAG ケーブル名を指定します。
h = aximanager('Intel','JTAGCableName','#tpt_0001#ptc_0002#210319789795');
この例では、ホスト コンピューターに接続されている複数の JTAG ケーブルから必要な JTAG ケーブルを選択する方法を示します。
複数の JTAG ケーブルがホスト コンピュータに接続されている場合、オブジェクトは FTDI ケーブルよりも Digilent® ケーブルの検索を優先します。FTDI ケーブルを使用するには、JTAG ケーブル タイプを指定します。
h = aximanager('Xilinx','JTAGCableType','FTDI');
同じタイプのケーブルが 2 本ホスト コンピューターに接続されている場合は、AXI マネージャー IP が実行されているボードの JTAGCableName プロパティ識別子を指定します。JTAG ケーブル識別子を確認するには、aximanager
オブジェクトを作成してみてください。オブジェクトは、現在の JTAG ケーブル名のリストを返します。
h = aximanager('Xilinx')
Error using fpgadebug_mex Found more than one JTAG cable: 0 (JtagSmt1): #tpt_0001#ptc_0002#210203991642 1 (Arty): #tpt_0001#ptc_0002#210319789795 Please disconnect the extra cable, or specify the cable name as an input argument. See documentation of FPGA Data Capture or AXI Manager to learn how to set the cable name.
Arty ボードと通信するには、一致する JTAG ケーブル名を指定します。
h = aximanager('Xilinx','JTAGCableName','#tpt_0001#ptc_0002#210319789795');
バージョン履歴
R2017a で導入aximaster
オブジェクトは削除されました。代わりに、aximanager
オブジェクトを使用します。ソフトウェアとドキュメントでは、「マスター」と「スレーブ」という用語がそれぞれ「マネージャー」と「従属」に置き換えられます。
aximaster
オブジェクトを使用すると、オブジェクトは次のエラー メッセージを表示します。
aximaster has been removed in 2024a. Use aximanager instead
.
Interface
プロパティの "UDP"
設定が削除されました。代わりに、"PLEthernet"
または "PSEthernet"
の値を使用します。
"UDP"
値を使用すると、オブジェクトは次のエラー メッセージを返します。
UDP interface type has been removed in R2024a. Use PL Ethernet or PS Ethernet instead
.
Interface
プロパティの "Ethernet"
設定は、ハードウェア ボードに応じて "PLEthernet"
または "PSEthernet"
になります。
"Ethernet"
値の使用はお勧めしません。この値は将来のリリースで削除される予定です。"Ethernet"
値を使用すると、オブジェクトは次の警告メッセージを返します。
Ethernet is replaced by PL Ethernet and PS Ethernet, which are introduced in R2024a. Ethernet will be removed in a future release. Use PL Ethernet or PS Ethernet instead
.
aximanager
オブジェクトは、Xilinx Zynq ボードの USB イーサネット インターフェイスをサポートします。このインターフェースを使用するには、Interface
プロパティを "USBEthernet"
に設定します。
これで、Username
および Password
プロパティを使用して、ターゲットの Linux オペレーティング システムにログインできるようになりました。これらのプロパティは、ターゲットの Linux オペレーティング システムでカスタム SD カード イメージ ファイルのユーザー アカウントを構成する場合にのみ適用されます。
メモ
aximanager
オブジェクトは、イーサネットまたは USB イーサネット インターフェイス経由の SoC ボードに対してのみ、Username
および Password
プロパティをサポートします。
たとえば、Username
および Password
プロパティを使用して、イーサネット インターフェイスの AXI マネージャー オブジェクトを作成できます。
aximanager("Xilinx",Interface="Ethernet", ... Username="John",Password="P@ssw0rd123");
以前のリリースで作成した aximanager
オブジェクトを含む AXI マネージャー ハードウェア デザインを引き続き使用できます。オブジェクトはこれらのプロパティのデフォルト値である "root"
を使用します。
Interface
プロパティの "UDP"
設定が "Ethernet"
になりました。
"UDP"
値の使用はお勧めしません。この値は将来のリリースで削除される予定です。"UDP"
値を使用すると、オブジェクトは次の警告メッセージを返します。
UDP interface type has been renamed to Ethernet in R2023b. UDP will be removed in a future release. Use Ethernet instead
.
ターゲット デバイスのタイプを指定するために使用した DeviceType
プロパティは、将来のリリースでは削除されます。このプロパティを使用すると、aximanager
オブジェクトは次の警告メッセージを返します。
Using the DeviceType property is not recommended. This property will be removed in a future release
.
aximaster
オブジェクトの名前が aximanager
オブジェクトに変更されました。ソフトウェアとドキュメントでは、「マスター」と「スレーブ」という用語がそれぞれ「マネージャー」と「従属」に置き換えられます。
AXI マネージャー オブジェクトを作成するには、aximanager
オブジェクトを使用します。aximaster
オブジェクトの使用は推奨されておらず、将来のリリースでは削除される予定です。aximaster
オブジェクトを使用すると、オブジェクトからこの警告メッセージが表示されるようになりました。
aximaster has been renamed to aximanager in R2022a. aximaster will be removed in a future release. Use aximanager instead
.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)