AR# 41099

Virtex-6 FPGA のデザイン アドバイザリ - 同期FIFO は RDCLK/WRCLK に同期してリセットする必要がある

説明


ビルトイン FIFO を非同期リセットを持つ同期 FIFO (EN_SYN=TRUE) として使用すると、最初の書き込みの後に FIFO ステータス フラグが正しく動作しない可能性があります。

EN_SYN=FALSE と設定されているコンフィギュレーションでは、この問題は発生しません。

ソリューション


この問題を回避するには、2 つの方法があります。

1. リセットの負のエッジを RDCLK/WRCLK に同期させます。
2. EN_SYN = FALSE に設定します。

回避策 1 (* 13.1 以前の ISE Design Suite に関するアップデート) :

完全に同期させるか、リセット信号の負のエッジ (ディアサート) のみを FIFO RDCLK/WRCLK に同期させます。

ISE Design Suite 13.2 以降のソフトウェアでは、タイミング ツールでリセット パスが正しく解析されます。ISE Design Suite 13.2 以降でタイミング解析する場合は、回避策 1 にこれ以外の要件はありません。

* ISE Design Suite 13.1 以前のソフトウェアに (ザイリンクス アンサー 42444) のパッチが適用されている場合は、タイミング ツールでリセット パスが正しく解析されます。(ザイリンクス アンサー 42444) のパッチを適用した ISE Design Suite 13.1 以前のソフトウェアでタイミング解析する場合は、回避策 1 にこれ以外の要件はありません。これらのデザインでは、次のセクションで説明する制約は必要ありません。

ISE Design Suite 13.1 以前のソフトウェアに (ザイリンクス アンサー 42444) のパッチを適用していない場合は、FIFO のリセット信号の遅延を次のように制約する必要があります。

-1: 150ps<usr_sync_rst < (Tclkper- 768 ps)
-2:150ps < usr_sync_rst < (Tclkper- 684 ps)
-3:150ps < usr_sync_rst < (Tclkper- 612 ps)

ここで、usr_sync_rst はリセット同期化フリップフロップと FIFO の間のパスで、Tclkper は FIFO RDCLK/WRCLK のクロック周期です。

例 :

XC6VLX240T-1FF1156 デバイス、FIFO RDCLK/WRCLK 周波数 = 200MHz、周期 5ns の場合、リセットに次の制約を設定します。

NET "usr_sync_rst" TPTHRU = "constrained_rst";
TIMESPEC TS_tpthru_rst = FROM FFS THRU constrained_rst TO RAMS 4.232 ns;

タイミング解析で次を確認します。
- タイミング エラーが発生していないこと
- どのリセット パスの遅延も 150ps 以下になっていないこと



回避策 2 :

EN_SYN = TRUE に設定されているデザインでは、デザインの機能への影響を最小限に抑える回避策 1 を推奨します。

回避策 1 で指定するタイミングが満たされない場合は、EN_SYN を FALSE に変更する回避策 2 を使用してください。EN_SYN = TRUE と EN_SYN = FALSE では、機能およびタイミングで違いが多くあります。次に、主な違いを示します。EN_SYN = FALSE またはデュアル クロック FIFO の動作の詳細は、『Virtex-6 FPGA メモリ リソース ユーザー ガイド』を参照してください。

EN_SYN = FALSE に変更する場合の主な違いは次のとおりです。
  • FIFO フラグのアサート/ディアサートで複数サイクルのレイテンシがある可能性があり、また FIFO フラグの立ち下りエッジにさらに 1 サイクルの誤差があります。
  • ALMOST_FULL および ALMOST_EMPTY の範囲が異なります。フラグのレイテンシおよび範囲は、下の表を参照してください。
  • EN_SYN = FALSE の場合、REGCE および RSTREG ポート、DO_REG=0 はサポートされていません。これは次の図 2-1 に示すように、DO の clk-to-out のタイミングにわずかな差があるからです。






改訂履歴 :

2011 年 7 月 7 日 - アンサー 42444 のパッチを適用した場合の情報を追加
2011 年 7 月 5 日 - ISE Design Suite 13.2 を使用した場合の情報を追加
2011 年 4 月 11 日 - 初期リリース
AR# 41099
日付 07/08/2011
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス 詳細 概略