インテルのみ表示可能 — GUID: mwh1410471242895
Ixiasoft
インテルのみ表示可能 — GUID: mwh1410471242895
Ixiasoft
5.4.4.3. ホールドに向けて追加された配線の評価
Estimated Delay Added for Hold Timing レポートで特定のレジスターパスを確認し、フィッターがホールドタイミングを満たすために過剰な配線を追加しているかどうかを判断します。
ルーターがホールド要件のために配線を追加する原因となる不正確な制約の一例は、1x クロックから 2x クロックへのデータ転送がある場合です。例えば、転送ごとに 2 サイクルを許容することがデザインの意図であるとすると、データは、以下の例で示すようにマルチサイクル・セットアップ制約を追加することで、データは 2 つのデスティネーション・クロックのいずれかの時間に到達することができます。
set_multicycle_path -from 1x -to 2x -setup -end 2
タイミング要件は波形図の黒の破線で示すように、1 つの 2x クロックサイクル分緩和されます。
set_multicycle_path -from 1x -to 2x -setup -end 2 set_multicycle_path -from 1x -to 2x -hold -end 1
図中のオレンジ色の破線はホールド関係を表し、データを遅らせるには余分な配線は必要ではありません。
ルーターは、同じクロックドメイン内でデータ転送が行われる場合でも、異なるバッファリングを使用するクロックブランチ間でホールドタイミング要件のために配線を追加することがあります。クロック・ネットワーク・タイプ間の転送は、ペリフェラルとコアの間でより頻繁に発生します。次の図では、データがデバイスに着信し、ペリフェラル・クロックがソースレジスターを駆動し、グローバルクロックがデスティネーション・レジスターを駆動しています。グローバルクロック・バッファーはペリフェラル・クロック・バッファーよりも挿入遅延が大きくなります。デスティネーション・レジスターへのクロック遅延はソースレジスターへの遅延よりもはるかに大きいため、ホールド要件を確実に満たすには、データパスに追加の遅延が必要です。
パスにある異なるクロック・ネットワーク・タイプを特定するには、タイミング・アナライザーでパスを確認し、ソースとデスティネーションのクロックパス上のノードを確認します。また、ソースとデスティネーションのクロック周波数が同じか、倍数か、およびパスにマルチサイクルの例外があるかどうかを確認します。最後に、意図的にフォルスであるすべてのクロスドメイン・パスに関連するフォルスパス例外があることを確認します。
実際のホールドの問題を修正するために配線が追加されていると思われる場合、Optimize hold timing の詳細なフィッター設定 (Assignments > Settings > Compiler Settings > Advanced Settings (Fitter) > Optimize hold timing) を無効にできます。Optimize hold timing を無効にしてデザインを再コンパイルし、タイミング解析を再実行して、ホールドタイム要件を満たさないパスを特定して修正します。