Intel Agilex® 7 エンベデッド・メモリー・ユーザーガイド

ID 683241
日付 4/10/2023
Public
ドキュメント目次

4.3.3.4. FIFO の信号

このセクションでは、FIFO Intel® FPGA IP コアの SCFIFO ブロックと DCFIFO ブロックの図を示し、入力ポートと出力ポートを視覚化しています。このセクションではまた、それぞれのポートについて詳しく説明することにより、各ポートの使用法、機能、または制約に関する理解を促しています。場合によっては、このユーザーガイドの特定のセクションを参照し、より詳細な内容に言及しています。
図 33. SCFIFO および DCFIFO の入力信号と出力信号

SCFIFO ブロックでは、読み出し信号と書き込み信号は同じクロックに同期しています。DCFIFO ブロックでは、読み出し信号と書き込み信号はそれぞれ、rdclk クロックと wrclk クロックに同期しています。プリフィクスの wr および rd はそれぞれ、wrclk クロックと rdclk クロックで同期している信号を表します。

表 39.  入力ポートと出力ポートの説明次の表は、FIFO Intel® FPGA IP コアの信号を示しています。「シリーズ」という用語は、特定のデバイスのすべてのデバイスファミリーを指しています。
ポート タイプ 必須 詳細
clock 11 入力 はい ポジティブエッジトリガー・クロックです。
wrclk 12 入力 はい ポジティブエッジトリガー・クロックです。

次のポートの同期に使用します。

  • data
  • wrreq
  • wrfull
  • wrempty
  • wrusedw
rdclk 12 入力 はい ポジティブエッジトリガー・クロックです。

次のポートの同期に使用します。

  • q
  • rdreq
  • rdfull
  • rdempty
  • rdusedw
data 13 入力 はい wrreq 信号がアサートされた際に FIFO Intel® FPGA IP コアに書き込まれるデータを保持します。FIFO Intel® FPGA IP コアを手動でインスタンス化する場合は、ポート幅が lpm_width パラメーターに等しいことを確認します。
wrreq 13 入力 はい この信号をアサートし、書き込み動作を要求します。

次の条件が満たされていることを確認してください。

  • full (SCFIFO) または wrfull (DCFIFO) ポートが High の場合は、wrreq 信号をアサートしないでください。オーバーフロー保護回路を有効にする、もしくは overflow_checking パラメーターを ON に設定し、フルになった際に FIFO Intel® FPGA IP コアで自動的に wrreq 信号を無効にできるようにします。
  • wrreq 信号は、full または wrfull 信号に基づく機能上のタイミング要件を満たしている必要があります。
  • aclr 信号がデアサートしている際に、wrreq 信号をアサートしないでください。この要件に違反すると、wrreq ポートが High に設定されている場合に、aclr 信号の立ち下がりエッジと書き込みクロックの立ち上がりエッジ間で競合状態が発生します。 Intel Agilex® 7 シリーズ をターゲットとする DCFIFO の機能にはどちらも、aclr 信号と wrclk クロックを同期する回路を自動的に追加する、もしくは write_aclr_synch パラメーターを ON に設定するオプションがあります。このオプションを使用し、制約に従っていることを保証します。
rdreq 13 入力 はい この信号をアサートし、読み出し動作を要求します。rdreq 信号は、Normal モードと Show-ahead モードで動作が異なります。

次の条件が満たされていることを確認してください。

  • empty (SCFIFO) または rdempty (DCFIFO) ポートが High の場合は、rdreq 信号をアサートしないでください。アンダーフロー保護回路を有効にする、もしくは underflow_checking パラメーターを ON に設定し、空になった際に FIFO Intel® FPGA IP コアで自動的に rdreq 信号を無効にできるようにします。
  • rdreq 信号は、 empty または rdempty 信号に基づく機能上のタイミング要件を満たしている必要があります。
sclr 11

aclr 13

入力 いいえ この信号をアサートし、すべての出力ステータスポートをクリアします。ただし、q 出力への影響は、FIFO のコンフィグレーションによって異なる場合があります。

aclr 信号には、アクティブで維持する必要がある最小クロックサイクル数はありません。

q 13 出力 はい 読み出し要求動作で読み出されるデータを示します。

SCFIFO の機能と DCFIFO の機能では、q ポートの幅を data ポートの幅と等しくする必要があります。FIFO の機能を手動でインスタンス化する場合は、ポート幅が lpm_width パラメーターと等しいことを確認します。

DCFIFO_MIXED_WIDTHS の機能では、q ポートの幅が data ポートの幅と異なる場合があります。FIFO の機能を手動でインスタンス化する場合は、q ポートの幅が lpm_width_r パラメーターと等しいことを確認します。FIFO の機能は、幅の広い書き込みポートと幅の狭い読み出しポート (もしくはその逆) をサポートします。ただし、幅の比は RAM ブロックのタイプで制限されており、通常は2の累乗です。

full 11

wrfull 12

rdfull 12

出力 いいえ アサートされている場合、FIFO Intel® FPGA IP コアはフルであるとみなされます。FIFO Intel® FPGA IP コアがフルの際に、書き込み要求操作を行わないでください。

通常、rdfull 信号は、 wrfull 信号の遅延版です。 rdfull 信号は、wrfull 信号の派生版ではなく、組み合わせ出力として機能します。よって、ターゲットデバイスにかかわらず、wrfull ポートを常に参照し、有効な書き込み要求操作を行うことができるかを確認する必要があります。

empty 11

wrempty 12

rdempty 12

出力 いいえ アサートされている場合、FIFO Intel® FPGA IP コアは空であるとみなされます。FIFO Intel® FPGA IP コアが空の際に、読み出し要求操作を行わないでください。

通常、wrempty 信号は、rdempty 信号の遅延版です。 wrempty 信号は、rdempty 信号の派生版ではなく、組み合わせ出力として機能します。よって、ターゲットデバイスにかかわらず、rdempty ポートを常に参照し、有効な読み出し要求操作を行うことができるかを確認する必要があります。

almost_full 11 出力 いいえ usedw 信号が almost_full_value パラメーター以上になった場合にアサートされます。full 信号の早期通知として使用されます。
almost_empty 11 出力 いいえ usedw 信号が almost_empty_value パラメーターよりも小さい場合にアサートされます。empty 信号の早期通知として使用されます。 14
usedw 11

wrusedw 12

rdusedw 12

出力 いいえ FIFO に格納されているワード数を示します。

SCFIFO の機能もしくは DCFIFO の機能を手動でインスタンス化する場合は、ポート幅が lpm_widthu パラメーターと等しいことを確認します。DCFIFO_MIXED_WIDTH の機能の場合は、wrusedw ポートと rdusedw ポートの幅をそれぞれ、LPM_WIDTHU パラメーターおよび lpm_widthu_r パラメーターと等しくする必要があります。

FIFO Intel® FPGA IP コアは、格納されているワード数が最大値に達する前にフルを示します。そのため、ターゲットデバイスにかかわらず、有効な書き込み要求操作に関しては full または wrfull ポート、有効な読み出し要求操作に関しては empty または rdempty ポートを常に参照する必要があります。
注: 格納データが読み出しで利用できない場合があります。「wrreqempty」および「rdreqempty」のレイテンシーに関しては、FIFO の出力ステータスフラグとレイテンシー を参照し、FIFO を読み出す前にデータが準備できていることを保証します。
eccstatus 15 出力 いいえ 2 ビット幅のエラー訂正ステータスポートです。メモリーから読み出されたデータに、訂正ありのシングルビット・エラーまたは訂正なしの致命的なエラーがある、もしくはエラービットが発生していないことを示します。
  • 00: エラーなし
  • 01: 不正
  • 10: 訂正可能なエラーが発生し、出力でエラーが訂正されています。ただし、メモリーアレイは更新されていません。
  • 11: 訂正不可能なエラーが発生しており、訂正不可能なデータが出力に表示されます。

DCFIFO 機能の rdempty 出力は、aclr 入力がアサートされた際に瞬間的にグリッチする場合があります。外部レジスターでこのグリッチを誤ってキャプチャーしないようにするには、次のいずれかが満たされていることを確認します。

  • 外部レジスターで、DCFIFO 機能の aclr 入力に接続しているリセットと同じリセットを使用する
  • DCFIFO 機能の aclr 入力に接続しているリセットを、外部レジスターを駆動するクロックに同期してアサートする

FIFO Intel® FPGA IP コアの出力レイテンシーの情報は重要です。特に、q 出力ポートでは、出力がサンプリングに対して有効かを示す出力フラグがないため、重要です。

11 SCFIFO 機能にのみ適用されます。
12 DCFIFO の両方の機能に適用されます。
13 SCFIFO、DCFIFO、DCFIFO_MIXED_WIDTH の機能に適用されます。
14 特定の条件下において、SCFIFO では、almost_empty 信号がアサートされずに empty 信号がアサートされます。詳細は、SCFIFO の ALMOST_EMPTY 機能のタイミング を参照してください。
15 DCFIFO_MIXED_WIDTHS 機能には適用されません。