このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
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 として指定します。
入力引数
vendor
— FPGAブランド名
'Intel'
| 'Xilinx'
FPGA ブランド名。'Intel'
または 'Xilinx'
として指定されます。この値は FPGA ボードの製造元を指定します。AXI マネージャー IP は、指定する FPGA のタイプによって異なります。
プロパティ
Interface
— FPGAボードとの通信に使用するインターフェースの種類
'JTAG'
(既定値) | 'PCIe'
| 'PLEthernet'
| 'PSEthernet'
| 'USBEthernet'
FPGA ボードとの通信に使用されるインターフェイスのタイプ。'JTAG'
、'PCIe'
、'PLEthernet'
、'PSEthernet'
、または 'USBEthernet'
として指定されます。この値は、ホストと FPGA 間の通信に使用するインターフェイス タイプを指定します。
メモ
AXI マネージャーは、Xilinx® Zynq® デバイスのみの PS イーサネットおよび USB イーサネット インターフェイスをサポートします。
JTAGCableName
— FPGAボードとの通信に使用するJTAGケーブルの名前
'auto'
(既定値) | 文字ベクトル | string スカラー
FPGA ボードとの通信に使用される JTAG ケーブルの名前。JTAG ケーブル名を表す文字ベクトルまたは文字列スカラーとして指定します。同じタイプの JTAG ケーブルが複数ホスト コンピューターに接続されている場合は、このプロパティを指定します。ホスト コンピューターに複数の JTAG ケーブルがあり、このプロパティを指定しない場合は、オブジェクトはエラーを返します。エラー メッセージには、使用可能な JTAG ケーブルの名前が含まれます。詳細については、Intelボード用の複数のJTAGケーブルから選択 または Xilinx ボード用の複数の JTAG ケーブルから選択 を参照してください。
依存関係
このプロパティを有効にするには、Interface
を 'JTAG'
に設定します。
データ型: char
| string
DeviceAddress
— FPGA ボード上のイーサネット ポートまたは USB イーサネット ガジェットの IP アドレス
文字ベクトル | 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
Port
— 対象FPGAボードのUDPポート番号
'50101'
(既定値) | 整数
ターゲット FPGA ボードのユーザー データグラム プロトコル (UDP) ポート番号 (整数として指定)。
例: '12345'
依存関係
このプロパティを有効にするには、Interface
を 'PLEthernet'
に設定します。
データ型: uint16
JTAGCableType
— FPGA ボードとの通信に使用する JTAG ケーブルの種類 (Xilinx のみ)
'auto'
(既定値) | 'FTDI'
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'
に設定します。
TckFrequency
— JTAG クロック周波数 (Xilinx のみ)
15
(既定値) | 正の整数
JTAG クロック周波数を正の整数で指定します。単位はMHzです。JTAG 周波数は、ケーブルの種類と FPGA ボードでサポートされる最大クロック周波数によって異なります。最大周波数についてはボードのドキュメントを確認してください。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
JTAGChainPosition
— JTAG チェーン内の FPGA の位置 (Xilinx のみ)
0
(既定値) | 非負の整数
JTAG チェーン内の FPGA の位置。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
IRLengthBefore
— ターゲット FPGA の前のすべてのデバイスの命令レジスタ長の合計 (Xilinx のみ)
0
(既定値) | 非負の整数
ターゲット FPGA の前のすべてのデバイスの命令レジスタの長さの合計。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
IRLengthAfter
— ターゲット FPGA 以降のすべてのデバイスの命令レジスタ長の合計 (Xilinx のみ)
0
(既定値) | 非負の整数
ターゲット FPGA 以降のすべてのデバイスの命令レジスタ長の合計。負でない整数として指定されます。JTAG チェーン上に複数の FPGA または Zynq デバイスがある場合は、このプロパティ値を指定します。
依存関係
このプロパティを有効にするには、vendor
を 'Xilinx'
に、Interface
を 'JTAG'
に設定します。
Username
— ターゲット Linux® オペレーティング システムにログインするためのユーザー名
'root'
(既定値) | 文字ベクトル | string スカラー
ターゲットの Linux オペレーティング システムにログインするためのユーザー名。文字ベクトルまたは文字列スカラーとして指定されます。このプロパティは、ターゲットの Linux オペレーティング システムでカスタム SD カード イメージ ファイルのユーザー アカウントを構成する場合にのみ適用されます。
例: 'John'
依存関係
このプロパティを有効にするには、Interface
を 'PSEthernet'
または 'USBEthernet'
に設定します。
データ型: char
| string
Password
— 指定されたユーザー名に関連付けられたパスワード
'root'
(既定値) | 文字ベクトル | string スカラー
指定されたユーザー名に関連付けられたパスワード。文字ベクトルまたは文字列スカラーとして指定されます。このプロパティは、ターゲットの Linux オペレーティング システムでカスタム SD カード イメージ ファイルのユーザー アカウントを構成する場合にのみ適用されます。
例: 'P@ssw0rd123'
依存関係
このプロパティを有効にするには、Interface
を 'PSEthernet'
または 'USBEthernet'
に設定します。
データ型: char
| string
オブジェクト関数
readmemory | AXI4メモリマップされた下位からデータを読み取る |
release | JTAGまたはイーサネットケーブルリソースを解放する |
writememory | AXI4メモリマップされた下位にデータを書き込む |
例
MATLAB から Intel FPGA ボード上のメモリにアクセスする
この例では、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® から 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);
Intelボード用の複数のJTAGケーブルから選択
この例では、ホスト コンピューターに接続されている複数の 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');
Xilinx ボード用の複数の JTAG ケーブルから選択
この例では、ホスト コンピューターに接続されている複数の 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 で導入R2024a: aximaster
は削除されました。
aximaster
オブジェクトは削除されました。代わりに、aximanager
オブジェクトを使用します。ソフトウェアとドキュメントでは、「マスター」と「スレーブ」という用語がそれぞれ「マネージャー」と「従属」に置き換えられます。
aximaster
オブジェクトを使用すると、オブジェクトは次のエラー メッセージを表示します。
aximaster has been removed in 2024a. Use aximanager instead
.
R2024a: UDPは削除されました
Interface
プロパティの "UDP"
設定が削除されました。代わりに、"PLEthernet"
または "PSEthernet"
の値を使用します。
"UDP"
値を使用すると、オブジェクトは次のエラー メッセージを返します。
UDP interface type has been removed in R2024a. Use PL Ethernet or PS Ethernet instead
.
R2024a: PLイーサネットまたはPSイーサネットがイーサネットインターフェースに代わる
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
.
R2023b: USBイーサネットのサポート
aximanager
オブジェクトは、Xilinx Zynq ボードの USB イーサネット インターフェイスをサポートします。このインターフェースを使用するには、Interface
プロパティを "USBEthernet"
に設定します。
R2023b: aximanager
オブジェクトの新しいプロパティ
これで、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"
を使用します。
R2023b: UDP がイーサネットに名称変更
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
.
R2023b: DeviceType
は削除予定
ターゲット デバイスのタイプを指定するために使用した DeviceType
プロパティは、将来のリリースでは削除されます。このプロパティを使用すると、aximanager
オブジェクトは次の警告メッセージを返します。
Using the DeviceType property is not recommended. This property will be removed in a future release
.
R2022a: aximaster
が aximanager
に名前変更されました
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 コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)