ヒント:
UltraScale デバイスのクロッキング アーキテクチャの柔軟性を考慮し、
report_methodology
コマンドには最適なクロッキング トポロジを作成するのに役立つチェックが含まれています。次の手法は、一般的な状況で使用できます。
- 不要なバッファーを削除するか、次の図に示すようにバッファーを並列に接続することにより、カスケード接続されたクロック バッファー間のタイミング パスを回避します。
図 1. カスケード接続された BUFG を並列に接続し直した同期クロッキング トポロジ
- 次の図に示すように、並列クロック バッファーを 1 つのクロック バッファーに統合し、クロック バッファーのクロック イネーブル ロジックを対応するシーケンシャル セルのイネーブル ピンに接続します。一部のクロックがバッファーのビルトイン分周器により分周されている場合は、クロック イネーブル ロジックを使用して同等の分周をインプリメントし、必要に応じてマルチサイクル パス タイミング例外を適用します。ダウンストリームのロジックで立ち上がりクロック エッジと立ち下がりクロック エッジの両方が使用される場合、または消費電力が重要な要素である場合は、この手法は適切でないことがあります。図 2. 並列クロック バッファーを 1 つのバッファーに統合した同期クロッキング トポロジ
- クロック パスにある LUT または組み合わせロジックは削除します。クロック パスに LUT または組み合わせロジックがあると、配置中のクロック遅延とクロック スキューが予測不可能なものになり、QoR が低下します。また、クロック パスの一部が汎用インターコネクトを使用して配線されていると、グローバル クロック リソースを使用している場合よりもノイズの影響を受けやすくなります。組み合わせロジックは通常、最適でないクロック ゲーティングの変換により作成されるので、クロック バッファーまたはシーケンシャル セルに接続されているクロック イネーブル ロジックに移動できます。
次の図では、最初の BUFG (
clk1_buf
) が LUT3 で使用され、ゲーテッド クロックが作成されています。図 3. クロック ネットワークでローカル配線が使用されるために発生するスキュー
重要:
7 シリーズと UltraScale デバイスのクロッキング アーキテクチャは異なります。ターゲット アーキテクチャのクロッキング ガイドラインに従い、デザインがコンパイルできるかどうかを確認する必要があります。