書き込み (FIFOメソッド)
- 更新日2025-01-28
- 5分で読める
FPGA FIFOに要素を書き込みます。からの書き込みごとの要素数を構成します。の インタフェース ページFIFOプロパティ ダイアログボックスです。
を使用します。このメソッドを実装する FIFOメソッドノード 。
このメソッドで使用できる入力と出力は、以下の条件によって異なります。タイムアウトまたはハンドシェイクインタフェースを選択し ます。
入力/出力
| オプション | 説明 |
|---|---|
| FIFO入力 | FIFO入力はFIFOを指定します。 配線できます。FIFO制御器、FIFO定数、VI定義FIFO構成 ノード、または別のFIFOメソッドノードのFIFO出力端子を FIFO入力に接続し ます 。 |
| 要素 | 要素は、FIFOに保存するデータ要素または要素を指定します。要素 データタイプは、FIFOを作成する際のFIFOプロパティ ダイアログボックス。 |
| タイムアウト | タイムアウトは、FIFOが満杯の場合に、FIFOに空きスペースができるまでメソッドが待機する時間をクロックのティック数で指定します。値を–1に設定すると、関数はタイムアウトしません。0の値は待機しないことを意味します。シングルサイクルでFIFOメソッドノードを使用する場合は、定数0を タイムアウト に配線します。タイミングループ この入力は、書き込みメソッドのデフォルトです。この入力を表示するには、書き込みメソッドを右クリックし、ショートカットメニューでインタフェース→タイムアウトを選択します。 |
| FIFO出力 | FIFO出力は、FIFO入力が配線されている場合、FIFO入力をそのまま返します。配線されていない場合は、FIFO出力はFIFOメソッドノードで指定したFIFOを返します。 |
| タイムアウト? | タイムアウト?は、関数が実行を完了するまでにFIFOの領域が利用可能にならない場合にTRUEを返します。タイムアウト?がTRUEの場合、関数は要素をFIFOに書き込みません。 この出力は、書き込みメソッドのデフォルトです。この出力を表示するには、書き込みメソッドを右クリックし、ショートカットメニューでインタフェース→タイムアウトを選択します。 |
| 入力有効 | 入力有効は、次に処理するデータポイントの受信が完了したかどうかを示します。先行ノードからこのノードにデータを渡すには、先行ノードの出力有効出力をこの入力に配線します。
これを表示するにはハンドシェイク 端子を使用するには、シングルサイクルタイミングループ内で書き込みメソッドを右クリックし、ショートカットメニューから インタフェース→ハンドシェイク を選択します。 |
| 入力準備完了 | 入力準備完了は、このノードが新しい入力データを受信できる状態になるとTRUEを返します。を使用フィードバックノード を使用して、この出力を先行ノード の出力準備完了 入力に配線します。
これを表示するにはハンドシェイク端子でシングルサイクルタイミングループ内の書き込みメソッドを右クリックし、ショートカットメニューから インタフェース→ハンドシェイク を選択します。 |
このメソッドをシングルサイクル タイミングループの場合は、 FIFOプロパティ ダイアログボックスの インタフェース ページで、 リクエスタが複数の場合のみアービトレート または アービトレーションなしを選択します。書き込みオプションをリクエスタが複数の場合のみアービトレートに設定した場合、複数のFIFOメソッドノードを書き込みメソッドと一緒に構成してFPGA VI内の同じFIFOにアクセスすることはできません。
シングルサイクルタイミングループ内でこのメソッドのタイムアウトインタフェースを有効にする場合、0の定数もタイムアウトに配線する必要があります。書き込むデータがない場合、メソッドが実行され、有効なデータの代わりにタイムアウトが返されます。データの書き込みが可能になるまで、メソッドはタイムアウトを返し続けます。
ハンドシェイクインタフェースを使用できるのは、シングルサイクルタイミングループ内のみです。さらに、ピアツーピアとDMA FIFOには、ハンドシェイクインタフェースがサポートされていないターゲットもあります。ハンドシェイクインタフェースがサポートされていないFIFOでは、コンパイル時エラーが返されます。
FIFOを使用して以下を行うことができます。複数のクロック領域間でデータを転送する。