AR# 38408

Spartan-6 のデザイン アドバイザリ - IODELAY2 のエッジ遅延が早い/遅い、またはシングル データ ビットが破損する

説明

Spartan-6 FPGA デバイスの IODELAY2 ブロックのデータ エッジ遅延が遅かったり早かったり、またはシングル データ ビットが破損する可能性があります。『Spartan-6 FPGA プロダクション エラッタ』 (EN148) は、プロダクション ステータスの Spartan-6 FPGA デバイスすべてに対して、この問題を含めてアップデートされています。

https://japan.xilinx.com/support/documentation/errata/en148.pdf

このアンサーでは、以前のマスク リビジョン デバイスの動作を説明します。

新しいマスク リビジョン デバイスの詳細は、(Xilinx Answer 41083) を参照してください。 以前のマスク リビジョンと新しいマスク リビジョンを識別する方法は、XCN11012 を参照してください。

XA オートモティブ、XQ、Q グレード、および XC 低消費電力 -1L デバイスは、新しいマスク リビジョンでのみリリースされる予定です。

メモ: MCB は、この問題の影響を受けません。

ソリューション

IDELAY および ODELAY モードでのデータ エッジ遅延が遅い
すべての IDELAY_TYPE 設定で ODELAY_VALUE が 4 以上の場合、または出力遅延として使用されている場合、IODELAY2 ブロックで立ち上がりまたは立ち下がりエッジの遷移に最大 350 ps の遅延が追加される可能性があります。

これはすべてのデータ レートで発生する可能性があるので、システムのタイミング マージン解析に含める必要があります。

データ エッジ遅延が遅い場合の回避策
これに対する回避策はなく、システムのタイミング マージン解析で考慮する必要があります。遅延の変化を考慮したタイミング制約に関するガイダンスは、(Xilinx Answer 39046) を参照してください。

ODELAY モードでのデータ エッジ遅延が早い
ODELAY モードで使用されている IODELAY2 ブロックで立ち上がりまたは立ち下がりエッジ遷移が最大 350 ps 早く発生する可能性があります。このデータ エッジは、予測されるデータ エッジまたは標準データ エッジよりも早くなっています。この動作は 533 Mb/s を超えるデータ レートで、すべての ODELAY_VALUE 設定に対して発生する可能性があるので、システムのタイミング マージン解析に含める必要があります。

データ エッジ遅延が早い場合の回避策
これに対する回避策はなく、システムのタイミング マージン解析で考慮する必要があります。遅延の変化を考慮したタイミング制約に関するガイダンスは、(Xilinx Answer 39046) を参照してください。

IDELAY および ODELAY モードでのシングル データ ビット破損
すべての IDELAY_TYPE 設定、または出力遅延として使用されている場合に、IODELAY2 ブロックでシングル データ ビットが破損する可能性があります。

シングル データ ビット破損の回避策
この回避策は、IDELAY_TYPE の設定に基づきます。次のガイドラインでは、使用しているモードに基づいて IODELAY2 の使用を制限してください。DELAY_TYPE は操作モードを定義する属性です。IDELAY_MODE または SERDES_MODE 属性とは関連していません。また、すべてのパフォーマンス制限は、実際のデータ レートに関するもので、クロック周波数に関するものではありません。これらの値は、SDR や DDR、または ISERDES2 の DATA_RATE 属性の使用とは無関係です。

  • IDELAY_TYPE=DEFAULT: データ破損を回避するため、データ レートは 250 Mb/s 以下にする必要があります。このモードは低速のレジスタを介した入力で最もよく使用され、影響は小さいと考えられます。
  • IDELAY_TYPE=FIXED または VARIABLE_FROM_ZERO、あるいは ODELAY モードで使用される場合: 指定のデータ レートでのデータ破損を回避するため、IDELAY_VALUE または ODELAY_VALUE は表 2 にある値を超えないようにする必要があります。


  • IDELAY_TYPE=VARIABLE_FROM_HALF_MAX: データ破損を回避するため、データ レートは 400 Mb/s 以下にし、IODELAY2 IOCLK 周波数はデータ レートと等しくし、正のインクリメントは 5 以下にする必要があります。
  • IDELAY_TYPE=DIFF_PHASE_DETECTOR: データ レートは 400 Mb/s 以下にする必要があります。データ破損を回避するため、400 Mb/s 以下で、パッケージ トレース差を含むデータからクロックへのスキューは 0.15 UI (単位間隔) を超えないように設定します。この場合、データからクロックへのスキューは、クロック エッジがデータ パルスの後 0.15 IU 以内に発生する必要があることを意味します。クロックが遅く到達するとタップ値がインクリメントするので、スキューが大きいとタップがサポートされている範囲を超えてインクリメントされる可能性があることから、この 0.15 UI という値に制限されています。

この問題の対象となるデバイス

  • Spartan-6 の以前のマスク リビジョン デバイスすべてに影響します。以前のマスク リビジョンと新しいマスク リビジョンを識別する方法は、XCN11012 を参照してください。
  • Spartan-6 の新しいマスク リビジョン デバイスに対するこの問題の影響は、(Xilinx Answer 41083) を参照してください。
  • -1L デバイスに対するこの問題の影響は、(Xilinx Answer 41356) を参照してください。

エラーの特徴

  • エッジ遅延の増加、データ破損、またはこの両方がピンで発生する可能性があります。
  • データ破損を避けるための回避策を適用しても、データ遅延の増加は回避されません。
  • 問題は断続的に発生します。
  • FIXED モードの最大タップ制限は、400 Mb/s を超えるすべてのデータ レートの中点前です。これにより、VARIABLE_FROM_HALF_MAX などの可変モードでは 400 Mb/s 以下に制限されます。

リスク

問題が発生する確率は非常に低く、データ レートおよび使用される IODELAY2 エレメント数によって異なります。

メモリ コントローラー ブロック

メモリ コントローラー ブロック (MCB) インターフェイスは、IODELAY2 の問題の影響を受けません。

ソフトウェア/ユーザー ガイド
この問題に対処するためのソフトウェアまたはユーザー ガイドの変更はありません。

追加ガイダンス
上記の回避策を使用するにあたっての追加ガイドラインを次に示します。IDELAY_TYPE を VARIABLE_FROM_ZERO または VARIABLE_FROM_HALF_MAX に設定している場合、現在のタップ値を監視して指定した値に違反しないようにすることが重要です。監視するには、タップ遅延値をインクリメントするたびに 1 を加算し、デクリメントするたびに 1 を減算するカウンター回路を作成します。この値を監視してタップ値が指定値よりも大きくならないようにし、シングル データ ビット破損を回避します。

  • 影響を受けるピンの数を最小限に抑えるため、ビットごとにスキューを調整するのではなく、クロック スキューを調整します。
  • これらのソリューションを使用してもこの問題を解決できない場合は、https://japan.xilinx.com/ からサービス リクエストを開いてください。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
34856 Spartan-6 FPGA のデザイン アドバイザリのマスター アンサー N/A N/A

関連アンサー レコード

AR# 38408
日付 03/02/2017
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス