Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

writememory

AXI4 メモリ マップド従属デバイスへのデータの書き込み

    説明

    writememory(mem,addr,data) は、 dataで指定されたすべてのワードを、 addrで指定されたアドレスから開始して、ワードごとにアドレスをインクリメントして書き込みます。アドレスaddr は、FPGA ボード上の AXI マネージャー IP によって制御される AXI 従属メモリの場所を参照する必要があります。AXI マネージャー オブジェクトmemは、 MATLAB®と AXI マネージャー IP 間の接続を管理します。

    writememory(mem,addr,data,Name,Value) は、1 つ以上の名前と値の引数を使用してオプションを指定します。

    入力引数

    すべて折りたたむ

    FPGA ボード上の AXI マネージャー IP への接続。オブジェクトとして指定されます。

    書き込み操作の開始アドレス。4 の非負の整数または 4 の倍数の 16 進数値として指定します。この関数は、32、40、および 64 ビットのアドレス幅をサポートします。この関数は、AXI マネージャーの IP アドレス幅に従って、アドレスをuint32またはuint64データ型にキャストします。アドレスは、FPGA ボード上の AXI マネージャー IP によって制御される AXI 下位メモリの場所を参照する必要があります。

    メモリマッピングのガイドライン

    • AXI マネージャー IP データ幅が 32 ビットの場合、メモリは 4 バイトにアラインされ、アドレスは 4 バイトずつ増加します (0x00x40x8)。この場合、 0x1 は不正なアドレスであるため、エラーが発生します。

    • AXI マネージャー IP データ幅が 64 ビットの場合、メモリは 8 バイトにアラインされ、アドレスは 8 バイトずつ増加します (0x00x80x10)。この場合、 0x10x4は不正であり、エラーが発生します。

    • 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

    書き込むデータ ワード。スカラーまたはベクトルとして指定します。デフォルトでは、この関数は連続したアドレス ブロックにデータを書き込み、操作ごとにアドレスをインクリメントします。アドレスのインクリメントを無効にして各データ値を同じ場所に書き込むには、引数を'Fixed'に設定します。

    書き込み要求をFPGA に送信する前に、関数は入力データをuint32int32uint64、またはにタイプキャストします。 $int64データ型。型変換は次の規則に従います。

    • 入力データがdoubleの場合、データは AXI マネージャー IP データ幅に応じてint32またはint64にタイプキャストされます。

    • 入力データがsingleの場合、データは AXI マネージャー IP データ幅に応じてuint32またはuint64にタイプキャストされます。

    • 入力データがhalfの場合、データはuint16に型キャストされ、 uint32またはuint64にパックされます。 $$、AXI マネージャー IP データ幅に応じて異なります。

    • 入力データ型のビット幅が AXI マネージャー IP データ幅より小さい場合、データは AXI マネージャー IP データ幅まで符号拡張されます。

    • 入力データ型のビット幅が AXI マネージャー IP データ幅より大きい場合、データはint32uint32int64にタイプキャストされます。 $$、 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 マネージャーに指示します。

    AXI4 バースト タイプ。次のオプションのいずれかとして指定します。

    • 'Increment' — AXI マネージャーは、指定されたアドレスから開始して連続したメモリ空間にデータのベクトルを書き込みます。

    • 'Fixed' — AXI マネージャーはすべてのデータを同じアドレスに書き込みます。

    メモ

    'Fixed'バースト タイプは、PCI Express®インターフェイスではサポートされていません。代わりに'Increment'バースト タイプを使用してください。

    バージョン履歴

    R2017a で導入

    すべて展開する