このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
writememory
AXI4 メモリ マップド従属デバイスへのデータの書き込み
説明
例
入力引数
mem
— FPGA ボード上の AXI マネージャー IP への接続
aximanager
オブジェクト
FPGA ボード上の AXI マネージャー IP への接続。オブジェクトとして指定されます。
addr
— 書き込み操作の開始アドレス
4の非負の整数 | 4 の倍数の負でない 16 進数値
書き込み操作の開始アドレス。4 の非負の整数または 4 の倍数の 16 進数値として指定します。この関数は、32、40、および 64 ビットのアドレス幅をサポートします。この関数は、AXI マネージャーの IP アドレス幅に従って、アドレスをuint32
またはuint64
データ型にキャストします。アドレスは、FPGA ボード上の AXI マネージャー IP によって制御される AXI 下位メモリの場所を参照する必要があります。
メモリマッピングのガイドライン
AXI マネージャー IP データ幅が 32 ビットの場合、メモリは 4 バイトにアラインされ、アドレスは 4 バイトずつ増加します (
0x0
、0x4
、0x8
)。この場合、0x1
は不正なアドレスであるため、エラーが発生します。AXI マネージャー IP データ幅が 64 ビットの場合、メモリは 8 バイトにアラインされ、アドレスは 8 バイトずつ増加します (
0x0
、0x8
、0x10
)。この場合、0x1
と0x4
は不正であり、エラーが発生します。AXI マネージャー IP データ幅が 32 ビットで、引数を
'Increment'
に設定した場合、アドレスは 4 バイトずつ増加します。AXI マネージャー IP データ幅が 64 ビットで、引数を
'Increment'
に設定した場合、アドレスは 8 バイトずつ増加します。AXI マネージャー IP データ幅が 32 ビットで、入力データが
half
の場合、関数はデータを下位 2 バイトに書き込み、上位 2 バイトにゼロを埋め込みます。AXI マネージャー IP データ幅が 64 ビットで、入力データが
half
の場合、関数はデータを下位 2 バイトに書き込み、上位 6 バイトにゼロを埋め込みます。32 ビット レジスタへのアクセスに 64 ビット AXI マネージャーを使用しないでください。
例: 64
は、 64
の開始アドレスを指定します。
データ型: uint32
| uint64
data
— 書き込むデータワード
スカラー | ベクトル
書き込むデータ ワード。スカラーまたはベクトルとして指定します。デフォルトでは、この関数は連続したアドレス ブロックにデータを書き込み、操作ごとにアドレスをインクリメントします。アドレスのインクリメントを無効にして各データ値を同じ場所に書き込むには、引数を'Fixed'
に設定します。
書き込み要求をFPGA に送信する前に、関数は入力データをuint32
、 int32
、 uint64
、またはにタイプキャストします。 $int64
データ型。型変換は次の規則に従います。
入力データが
double
の場合、データは AXI マネージャー IP データ幅に応じてint32
またはint64
にタイプキャストされます。入力データが
single
の場合、データは AXI マネージャー IP データ幅に応じてuint32
またはuint64
にタイプキャストされます。入力データが
half
の場合、データはuint16
に型キャストされ、uint32
またはuint64
にパックされます。 $$、AXI マネージャー IP データ幅に応じて異なります。入力データ型のビット幅が AXI マネージャー IP データ幅より小さい場合、データは AXI マネージャー IP データ幅まで符号拡張されます。
入力データ型のビット幅が AXI マネージャー IP データ幅より大きい場合、データは
int32
、uint32
、int64
にタイプキャストされます。 $$、uint64
。データは、AXI マネージャー IP データ幅と元のデータ型の符号に一致するように型キャストされます。入力データが固定小数点データ型の場合、関数は格納されているデータの整数値を書き込みます。
DDR メモリのブロックへの書き込みなど、大きな操作サイズを指定すると、この関数は、サポートされる最大バースト サイズである 256 ワードを使用して、操作を自動的に複数のバーストに分割します。
例: [1:100]
は、 100 個の連続したメモリ位置を指定します。
データ型: uint8
| int8
| uint16
| int16
| half
| uint32
| int32
| single
| uint64
| int64
| double
| fi
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数より後に配置する必要がありますが、ペアの順序は重要ではありません。
R2021a より前は、各名前と値をカンマで区切って、 Name
引用符で囲みます。
例: 'BurstType','Fixed'
は、すべてのデータを同じアドレスに書き込むように AXI マネージャーに指示します。
BurstType
— AXI4 バースト タイプ
'Increment'
(既定値) | 'Fixed'
AXI4 バースト タイプ。次のオプションのいずれかとして指定します。
'Increment'
— AXI マネージャーは、指定されたアドレスから開始して連続したメモリ空間にデータのベクトルを書き込みます。'Fixed'
— AXI マネージャーはすべてのデータを同じアドレスに書き込みます。
メモ
'Fixed'
バースト タイプは、PCI Express®インターフェイスではサポートされていません。代わりに'Increment'
バースト タイプを使用してください。
バージョン履歴
R2017a で導入R2023a: ハーフデータ型のサポート
この関数は、 half
データを FPGA ボード上のメモリ位置に書き込みます。書き込み要求をFPGAに送信する前に、関数はhalf
入力データをuint16
にタイプキャストし、そのデータをuint32
にパックします。またはuint64
(AXI マネージャー IP データ幅に応じて)。
書き込み操作のアドレスは、FPGA ボード上の AXI マネージャー IP によって制御される AXI 下位メモリの場所を参照する必要があります。
AXI マネージャー IP データ幅が 32 ビットの場合、メモリは 4 バイトにアラインされ、アドレスは 4 バイトずつ増加します (
0x0
、0x4
、0x8
)。この場合、関数はデータを下位 2 バイトに書き込み、上位 2 バイトにゼロを埋め込みます。AXI マネージャー IP データ幅が 64 ビットの場合、メモリは 8 バイトにアラインされ、アドレスは 8 バイトずつ増加します (
0x0
、0x8
、0x10
)。この場合、関数はデータを下位 2 バイトに書き込み、上位 6 バイトにゼロを埋め込みます。
参考
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)