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# 20278

LogiCORE FIFO Generator - PROG_EMPTY と PROG_FULL が誤ってアサートされる

説明

キーワード : CORE Generator, IP, update, #3, ip3_h, hip_3, ip1_h, hip_1, asynchronous, FIFO, FOFO, 16, BRAM, asymmetric, ports, programmable, assert, negate, fifo16, v2.1, v2.3. v3.1, flags, アップデート, 非同期, 非対称, ポート, プログラマブル, アサート, ネゲート, フラグ

FIFO16 をベースとした FIFO Generator のインプリメンテーションで、出力ワード数に選択した入力ワード数よりも大きい値を指定した場合、Programmable Empty または Programmable Full のしきい値が上下限に近いと、PROG_EMPTY および PROG_FULL で不正にアサートされることがあります。

例 (PROG_EMPTY) :
Input/Output Depth (入力/出力ワード数) = 4096
Primitive Depth (プリミティブ ワード数) = 1024
Programmable Empty しきい値 = 1013
FIFO に対して読み出しと書き込みを同時に行うと、FIFO のワード数が 1013 を大きく超えるこえていても、PROG_EMPTY が 1
周期アサートされることがあります。 (この例では、2059 ワードで PROG_EMPTY がアサートされます。)

原因 (PROG_EMPTY) :
FIFO16 プリミティブをチェーン接続すると、どうしても遅延が発生します。 この遅延のため、読み出し操作を行うと、最後の FIFO は、チェーンの次の FIFO によって補充されるすこし前に空になります。 上の例では、PROG_EMPTY フラグがアサートされたときに、1013 ワードのしきい値より若干下になるよう、深さ 1024 ワードのプリミティブが空になります。 したがって、FIFO が合計 2059 ワードなのに、PROG_EMPTY は最後の FIFO16 が 1013 ワード以下になったと警告します。

原因 (PROG_FULL) :
FIFO16 プリミティブをチェーン接続すると、どうしても遅延が発生します。 チェーンの最初の FIFO からのワードがチェーンを伝搬し、読み出しインターフェイスから読み込まれる前に、FIFO がフルになる可能性があります。 このため、最初の FIFO16 がデザイン全体よりも早くフルになり、PROG_FULL が予期せぬときにアサートされてしまいます。 FIFO は、指定したワード数から大きく離れた値であっても PROG_FULL をアサートする場合があります。 これは、Programmable Full しきい値が、有効範囲の下限に近い場合によく起きます。

ソリューション

ビルトイン FIFO コンフィギュレーションを使用している場合は、読み出しおよび書き込みクロックに正しい周波数が入力されていることを確認してください。
これらの 2 つのクロックの相対的周波数は FIFO 生成に重要です。



AR# 20278
日付 12/15/2012
ステータス アクティブ
種類 一般
このページをブックマークに追加