インテル® Agilex™ エンベデッド・メモリー・ユーザーガイド

ID 683241
日付 4/25/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

4.3.3.4. FIFOの信号

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

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

表 38.  入力ポートと出力ポートの説明次の表は、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信号の立ち下がりエッジと書き込みクロックの立ち上がりエッジ間で競合状態が発生します。 インテル® Agilex™ シリーズをターゲットとする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機能には適用されません。