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

ID 683241
日付 4/25/2022
Public

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

ドキュメント目次

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

表 39.  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_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機能にのみ適用されます。