このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
2.1. Intel Agilex® 7 M シリーズ M20K ブロックのファブリック・ネットワークオンチップ (NoC)
2.2. Intel Agilex® 7エンベデッド・メモリー・ブロックにおけるバイト・イネーブル
2.3. アドレス・クロック・イネーブルのサポート
2.4. 非同期クリアと同期クリア
2.5. メモリーブロックの誤り訂正コード (ECC) のサポート
2.6. Intel Agilex® 7エンベデッド・メモリーのクロックモード
2.7. Intel Agilex® 7 エンベデッド・メモリーのコンフィグレーション
2.8. Force-to-Zero
2.9. コヒーレント読み出しメモリー
2.10. フリーズロジック
2.11. トゥルー・デュアルポートのデュアルクロック・エミュレーター
2.12. 読み出しアドレスレジスターと書き込みアドレスレジスターの初期値
2.13. M20K ブロックのタイミングまたは消費電力の最適化機能
2.14. Intel Agilex® 7 でサポートされるエンベデッド・メモリー IP
4.3.1. FIFO Intel® FPGA IP のリリース情報
4.3.2. コンフィグレーション方法
4.3.3. 仕様
4.3.4. FIFO の機能におけるタイミング要件
4.3.5. SCFIFO の ALMOST_EMPTY 機能のタイミング
4.3.6. FIFO の出力ステータスフラグとレイテンシー
4.3.7. FIFO の準安定状態の保護および関連オプション
4.3.8. FIFO の同期クリアと非同期クリアの影響
4.3.9. SCFIFO および DCFIFO の Show-ahead モード
4.3.10. 異なる入力幅と出力幅
4.3.11. DCFIFO のタイミング制約の設定
4.3.12. 手動インスタンス化のコーディング例
4.3.13. デザイン例
4.3.14. クロック・ドメイン・クロッシングでのグレイコード・カウンター転送
4.3.15. エンベデッド・メモリーの ECC 機能に関するガイドライン
4.3.16. FIFO Intel® FPGA IP のパラメーター
4.3.17. リセットスキーム
4.3.14. クロック・ドメイン・クロッシングでのグレイコード・カウンター転送
このセクションでは、クロック・ドメイン・クロッシング (CDC) でのグレイコード・カウンター・ビット転送間における大きなスキューの影響と、推奨されるソリューションについて説明します。グレイコード・カウンターは、書き込みドメインから読み出しドメインに、もしくはその逆の方向にデータを転送する際に発生する 1 ビットの遷移です。他のビットは安定した状態で維持されます。送信先ドメインで準安定範囲内でデータをラッチしている (セットアップ時間またはホールド時間に違反している) 場合は、1 ビットのみが不定になり、送信先ドメインではカウンター値を古いカウンターまたは新しいカウンターで読み取ります。この場合、カウンターシーケンスが破損していない限り、DCFIFO は引き続き機能します。
次のセクションでは、グレイコード・カウンター・ビット間の大きなスキューにより、カウンターシーケンスが破損する場合の例を示します。3 ビット幅のカウンター幅を取り出し、それを書き込みクロックドメインから読み出しクロックドメインに転送すると仮定します。すべてのカウンタービットの遅延は送信先のクロックに対して 0 であると仮定します。ただし、bit[0] には、送信元クロックの 1 クロック周期の遅延があります。つまり、カウンタービットのスキューは、送信先のレジスターに到着した際に、送信元クロックの 1 クロック周期になります。
正しいグレイコード・カウンター・シーケンスは次のとおりです。
000, 001, 011, 010, 110....
その後、データが読み出しドメイン、そして送信先のバスレジスターに転送されます。
bit[0] のスキューのため、送信先のバスレジスターでは次のシーケンスで受信します。
000, 000, 011, 011, 110....
スキューがあるため、2 ビットの遷移が発生します。このシーケンスは、タイミングが満たされている場合は許容されます。2 ビットの遷移が発生し、両方のビットでタイミングに違反している場合は、カウンターバスが以降または以前のカウンター値で整定するため、DCFIFO の破損につながります。
そのため、スキューを特定のスキュー内にし、シーケンスが破損しないようにする必要があります。
注: ユーザーでコンフィグレーション可能なタイミング制約を使用している場合は、タイミング・アナライザーの report_max_skew および report_net_delay レポートを使用し、タイミングを検証します。組み込まれているタイミング制約の場合は、skew_report.tcl を使用して、デザインの実際のスキューと必要なスキューを解析します。