UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

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
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス
  • Virtex-6 CXT
  • Virtex-6 HXT
  • Virtex-6 LX
  • More
  • Virtex-6 LXT
  • Virtex-6 SXT
  • Virtex-6Q
  • Less
このページをブックマークに追加