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

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

4.3.3.5. FIFO のパラメーター設定

表 40.  FIFO のパラメーター
パラメーター タイプ 必須 詳細
lpm_width 整数 はい SCFIFO 機能と DCFIFO 機能の data ポートと q ポートの幅を指定します。DCFIFO_MIXED_WIDTHS の機能では、このパラメーターは data ポートの幅のみを指定します。
lpm_width_r 16 整数 はい DCFIFO_MIXED_WIDTHS 機能の q ポートの幅を指定します。
lpm_widthu 整数 はい SCFIFO 機能の usedw ポートの幅、もしくは DCFIFO 機能の rdusedw ポートおよび wrusedw ポートの幅を指定します。DCFIFO_MIXED_WIDTHS の機能では、wrusedw ポートの幅のみを表します。
lpm_widthu_r 16 整数 はい DCFIFO_MIXED_WIDTHS 機能の rdusedw ポートの幅を指定します。
lpm_numwords 整数 はい 必要な FIFO の深度を指定します。値は、少なくとも 4 にする必要があります。

割り当てられる値は、次の式に準拠している必要があります。

2^LPM_WIDTHU

lpm_showahead 文字列 はい FIFO が Normal モード (OFF) であるか Show-ahead モード (ON) であるかを指定します。詳細は、SCFIFO および DCFIFO の Show-ahead モードのセクションを参照してください。

このパラメーターを ON に設定すると、パフォーマンスが低下する場合があります。

lpm_type 文字列 いいえ パラメーター化されたモジュールのライブラリー (LPM) のエンティティー名を識別します。値は、SCFIFODCFIFO です。
lpm_hint 文字列 いいえ

これはレガシー・パラメーターであり、以下の設定に使用されます。

  1. 最大深度。必要な最大深度は、「MAXIMUM_DEPTH=<depth>」で設定することができます。このパラメーターを無視することにより、SCFIFO で使用される RAM の最大深度を インテル® Quartus® Prime 開発ソフトウェアで自動的に選択できるようにします。
  2. RAM のブロックタイプ。RAM のブロックタイプは、「RAM_BLOCK_TYPE=<M20K|MLAB|AUTO>」で選択することができます。デフォルト値は AUTO です。
  3. 組み込みタイミング制約を無効にします。これは、DCFIFO に設定される必須パラメーターであり、FIFO Intel® FPGA IP にあるレガシー set_false_path を無効にします。「DISABLE_DCFIFO_EMBEDDED_TIMING_CONSTRAINT=TRUE」を lpm_hint に追加し、DCFIFO IP 内のシンクロナイザー・パスで適切なタイミング解析を行います。

以下の例のように、オプションは間にコンマを入れて連結し、ダブル・クオーテーションで囲む必要があります。

lpm_hint = ”MAXIMUM_DEPTH=512, RAM_BLOCK_TYPE=M20K”

overflow_checking 文字列 いいえ オーバーフロー・チェックの保護回路を有効にするか否かを指定します。この回路は、FIFO Intel® FPGA IP コアがフルになった際に wrreq ポートを無効にするものです。値は ON または OFFです。省略している場合のデフォルトは ON です。
underflow_checking 文字列 いいえ アンダーフロー・チェックの保護回路を有効にするか否かを指定します。この回路は、FIFO Intel® FPGA IP コアが空になった際に rdreq ポートを無効にするものです。値は ON または OFF です。省略している場合のデフォルトは ON です。

空の SCFIFO からの読み出しでは、予測できない結果が発生することに注意してください。

enable_ecc 17 文字列 いいえ エラーの検出と訂正 (ECC) 機能を有効にするか否かを指定します。この機能は、メモリーの出力でシングルビット・エラーおよびダブル隣接ビット・エラーを訂正し、トリプル隣接ビット・エラーを検出するものです。このオプションは、M20K のメモリー・ブロック・タイプを使用している場合にのみ利用することができます。

ECC はデフォルトで無効になっています。

delay_wrusedw 18

文字列 いいえ それぞれのパラメーターを使用して rdusedw ポートまたは wrusedw ポートに内部的に追加するレジスターステージの数を指定します。

デフォルト値の 1 では、1 つのレジスターステージを出力に追加して、パフォーマンスを向上させます。パラメーターの値を増やしても、システムの最大スピードは上がりません。それぞれの出力ポートにレイテンシーが追加されるだけです。

add_usedw_msb_bit 18 文字列 いいえ rdusedw ポートおよび wrusedw ポートの幅を 1 ビット増やします。幅を広げることにより、FIFO Intel® FPGA IP コアがフルになった際の 0 へのロールオーバーを防ぎます。値は ON または OFF です。省略している場合のデフォルト値は OFF です。
rdsync_delaypipe 18

wrsync_delaypipe 18

整数 いいえ クロス・クロック・ドメインの同期ステージ数を指定します。rdsync_delaypipe パラメーターの値は、書き込み制御ロジックから読み出し制御ロジックの同期ステージに関連付けられます。wrsync_delaypipe パラメーターは、読み出し制御ロジックから書き込み制御ロジックの同期ステージに関連付けられます。クロックが同期していない場合は、これらのパラメーターを使用して同期ステージ数を設定し、clocks_are_synchronized パラメーターを FALSE に設定します。

実装される実際の同期ステージは、割り当てられるパラメーター値によってさまざまであり、ターゲットデバイスによって異なります。

これらのパラメーターの値は、内部で 2 減少します。よって、これらのパラメーターのデフォルト値 3 は、単一の同期ステージに対応します。値が 4 の場合は、2 つの同期ステージになります。準安定状態の保護のため、少なくとも 4 (2 つの同期ステージ) を選択します。

use_eab 文字列 いいえ FIFO Intel® FPGA IP コアを RAM ブロックを使用して構築するかを指定します。値は ON または OFF です。

このパラメーター値を OFF に設定すると、ram_block_type パラメーターに割り当てられている TriMatrix メモリー・ブロック・タイプに関係なく、ALM で実装される FIFO Intel® FPGA IP コアが生成されます。

このパラメーターはデフォルトで有効になっています。FIFO は、ram_block_type で指定されている RAM ブロックを使用して実装されます。

write_aclr_synch 18 文字列 いいえ wrclk クロックによって aclr ポートを内部で同期させる回路を追加するか否かを指定します。回路を追加することにより、FIFO Intel® FPGA IP コアの破損につながる wrreq ポートと aclr ポートの競合状態を回避します。

値は ON または OFF です。省略している場合のデフォルト値は OFF です。

read_aclr_synch 18 文字列 いいえ rdclk クロックによって aclr ポートを内部で同期させる回路を追加するか否かを指定します。回路を追加することにより、FIFO Intel® FPGA IP コアの破損につながる rdreq ポートと aclr ポートの競合状態を回避します。

値は ON または OFF です。省略している場合のデフォルト値は OFF です。

clocks_are_synchronized 18 文字列 いいえ 書き込みクロックと読み出しクロックが同期しているかを指定します。これにより、FIFO の安定した動作を実現するために追加される内部同期ステージ数が決定します。値は TRUEFALSE です。省略している場合のデフォルト値は FALSE です。このパラメーターは、書き込みクロックと読み出しクロックが常に同期しており、それらが相互の倍数になる場合にのみ TRUE に設定する必要があります。それ以外の場合はこれを FALSE に設定し、準安定状態の問題を防ぎます。

クロックが同期していない場合は、パラメーターを FALSE に設定し、rdsync_delaypipe パラメーターと wrsync_delaypipe パラメーターを使用して必要な同期ステージ数を決定します。

ram_block_type 文字列 いいえ 使用するターゲットデバイスの Trimatrix メモリーブロックを指定します。設定している RAM のコンフィグレーションに基づく適切な実装を得るには、 インテル® Quartus® Prime 開発ソフトウェアでメモリータイプを自動的に選択できるようにします。それには、このパラメーターを無視し、use_eab パラメーターを ON に設定します。これによりコンパイラーは、必要な FIFO の深さに基づき、利用可能な任意のメモリーリソースにメモリー機能を配置できる柔軟性を得ます。利用可能な RAM のブロックタイプは、Auto (デフォルト)、MLAB、M20K、M144K です。
add_ram_output_register 文字列 いいえ q 出力をレジスターするかを指定します。値は ON および OFFです。省略している場合のデフォルト値は OFF です。
almost_full_value 19 整数 いいえ almost_full ポートのしきい値の値を設定します。FIFO Intel® FPGA IP コアに格納されているワード数がこの値以上になると、almost_full ポートがアサートされます。
almost_empty_value 19 整数 いいえ almost_empty ポートのしきい値の値を設定します。FIFO Intel® FPGA IP コアに格納されているワード数がこの値よりも少なくなると、almost_empty ポートがアサートされます。
allow_wrcycle_when_full 19 文字列 いいえ すでにフルの状態の SCFIFO に読み出しサイクルと書き込みサイクルを組み合わせ、フルの状態が維持されるようにします。値は ON および OFF です。省略している場合のデフォルトは OFF です。このパラメーターは、OVERFLOW_CHECKING パラメーターが ON に設定されている場合にのみ使用します。
intended_device_family 文字列 いいえ インテル® Quartus® Prime プロジェクトで設定されているデバイスに一致する目的のデバイスを指定します。このパラメーターは、機能のシミュレーションでのみ使用します。
16 DCFIFO_MIXED_WIDTHS 機能にのみ適用されます。
17 DCFIFO_MIXED_WIDTHS 機能には適用されません。
18 DCFIFO 機能にのみ適用されます。
19 SCFIFO 機能にのみ適用されます。