書き込み (メモリメソッド)
- 更新日2025-01-28
- 5分で読める
FPGAターゲットで使用可能なメモリに書き込みます。
を使用します。このメソッドを実装する メモリメソッドノード 。
入力/出力
| オプション | 説明 |
|---|---|
| メモリ入力 | FPGAメモリを指定します。配線できます。メモリ制御器、メモリ定数VI定義メモリ構成 ノード、またはメモリ入力への別の メモリメソッドノード。 |
| アドレス | FPGAターゲットのメモリ内のデータの場所を指定します。有効 な アドレス範囲は、メモリプロパティ ダイアログボックス。たとえば、要求する要素数を65536に指定すると、アドレスの有効範囲は0~65535になります。 アドレスがアドレスの範囲を超えると、メモリメソッドノードはエラーを返し、データを書き込みません。追加エラー端子 を使用して、アドレスが アドレス 範囲を超えた場合にLabVIEWから通知されるようにします。 |
| データ | FPGAターゲットのメモリに書き込むデータです。FPGA VIのみからデータに直接書き込むことができます。FPGAターゲットのメモリ内のデータは、ホストVIから直接書き込むことができません。ホストVIからデータにアクセスするには、制御器、表示器、またはDMA FIFOを使用する必要があります。メモリ項目を初期化していない場合、データは未定義となります。 |
| バイト有効 | メモリに対する書き込み時に、有効にするバイト位置を指定します。最下位ビットは、入力データの最下位バイトに対応します。最下位から2番目のビットは、入力データの最下位から2番目のバイトに対応します。デフォルトでは、全ビットが1の整数 (すべてのバイトが有効) になっています。バイト有効のデータ幅は、どのようなDRAMの種類でも十分な大きさになっています。 この端子を表示するには、メモリをDRAMとして構成し、ノードを右クリックしてプルダウンメニューからバイト有効を表示を選択します。を参照してください。ターゲットのDRAM幅 (バイト) の詳細については、ターゲットのハードウェアドキュメント を参照してください。 |
| 入力有効 | 次の処理データポイントを受信したかどうかを示します。先行ノードからこのノードにデータを渡すには、先行ノードの出力有効出力をこの入力に配線します。 これを表示するにはハンドシェイク 端子で、メモリをDRAMとして構成します。 |
| メモリ出力 | メモリ入力が配線されている場合、メモリ入力を返します。配線されていない場合は、メモリ出力はメモリメソッドノードで指定したFIFOを返します。 |
| 入力準備完了 | このノードが新しい入力データを受信できる状態になるとTRUEを返します。この出力を先行ノードの出力準備完了入力に配線するには、フィードバックノードを使用します。
メモ あるサイクルでこの端子がFALSEを返した場合、次のサイクルで他のノードがこのノードに送信するデータはLabVIEWされます。LabVIEWは、次のサイクルで入力有効端子がTRUEである場合もこのデータを破棄します。
この端子を表示するには、メモリをDRAMとして構成します。
|
このメソッドは、ブロックメモリまたはLUTを使用してメモリを実装する場合は、 読み取り メソッドを使用します。このメソッドは、データを要求 し、DRAMを使用してメモリを実装する場合は、 データ取得 メソッドを使用します。
メモ 対応する「データを要求」および「データを取得」メソッドノードは、異なるクロック領域に配置できます。
シングルサイクルタイミングループに関する注意事項
- このノードをシングルサイクル タイミングループの場合は、インタフェース ページから リクエスタが複数の場合のみアービトレート または アービトレーションなしを選択できます。このノードは、FPGA VIの他の場所で同じメモリ項目と一緒に使用することはできません。
メモ 複数のアクセサを持つメモリ項目が入ったFPGAアプリケーションをシミュレーションしたときに、アービトレーションなしオプションを選択すると、不正な動作が引き起こされる場合があります。たとえば、アプリケーションに複数のライタが含まれている場合、シミュレーションの間、それぞれのライタで指定されたメモリアドレスの更新が行われる可能性があります。さらに、アプリケーションに複数のリーダが含まれている場合、シミュレーションの間、それぞれのリーダで指定されたメモリアドレスの評価が行われる可能性があります。
- メモリメソッドノードの実行には、1回のクロックサイクルが必要です。
- ターゲット指定またはVI定義ブロックメモリを使用してメモリ 項目 を実装する場合にのみ、メモリ項目を使用してデータを保存し、別のクロック領域からデータにアクセスします。この実装では、各メモリ項目で1つの書き込みノードと1つの読み取りノードのみを使用できます。
注意 複数のクロック領域にブロックメモリを使用して実装されたメモリ項目を使用する場合は、同じアドレスで同時に読み取りと書き込みを実行することが可能です。それを実行すると、不正確なデータを読み取る可能性があります。
- メモリがDRAMの場合、このメソッドはシングルサイクルタイミングループ内で使用する必要があります。