最悪のタイミング違反を解析して修正すると通常全体的な QoR が向上しますが、ほかのクリティカル パスもタイミング クロージャの課題となることがよくあるので、ほかのクリティカル パスも解析する必要があります。次のコマンドを使用すると、ワースト セットアップ タイミング パスを 50 個レポートできます。
report_design_analysis -max_paths 50 -setup
次の図に、このコマンドで生成される Setup Path Characteristics (セットアップ パス特性) の表の例を示します。
図 1. [Setup Path Characteristics] 表の例
この表から、各パスでどの特性がタイミング違反の原因となっているかを特定できます。
- ロジック遅延の割合 ([Logic Delay]) が大きい
- ロジック段数は多いですか ([Logic Levels])。
- ロジック最適化を妨げる制約または属性が設定されていますか ([Dont Touch]、[Mark Debug])。
- パスに RAMB や DSP などのロジック遅延の大きいセルが含まれていますか。
- パスの要件が現在のパス トポロジには厳しすぎませんか ([Requirement])。
- ネット遅延の割合 ([Net Delay]) が大きい
- パスのファンアウトの大きいネットがありますか ([High Fanout]、[Cumulative Fanout])。
- セルが離して配置可能な複数の Pblock に割り当てられていますか ([Pblocks])。
- セルが離れて配置されていますか ([Bounding Box Size]、[Clock Region Distance])。
- SSI デバイスで SLR の境界をまたぐネットがありますか ([SLR Crossings])。
- 配置は正しいようなのにもかかわらず、予測よりもかなり大きいネット遅延がありますか。密集度を参照してください。
- RAMB または DSP セルにパイプライン レジスタがない (パスには存在する)
- パイプライン レジスタが RAMB または DSP セル用にイネーブルになっているかどうかパスを確認します。
- スキューが大きい (セットアップで <-0.5 ns、ホールドで >0.5 ns) ([Clock Skew])。
- そのパスはクロック乗せ換えパスですか ([Start Point Clock]、[End Point Clock])。
- クロックは同期ですか、非同期ですか ([Clock Relationship])。
- パスは I/O 列をまたいでいますか ([IO Crossings])。
タイミング パスとその配置配線の詳細を AMD Vivado™ IDE で表示するには、次のコマンドを使用します。
report_timing -max_paths 50 -setup -input_pins -name worstSetupPaths
パスは、スラック順に [Setup Path Characteristics] 表 (前の図) と同じ順で表示されます。
report_design_analysis
コマンドでは、ワースト パス 1000 個の [Logic Level Distribution] (ロジック レベル分布) 表も生成され、デザインの長いパスを特定するのに使用できます。通常、配置の段階でタイミングを満たすために最長のパスが最初に最適化されるので、短いパスの配置の質が低下する可能性があります。全体的な QoR を向上するため、長いパスをなるべくなくすようにしてください。次の図に、1 つのクロックのみを含むデザインの [Logic Level Distribution] 表の例を示します。
図 2. Logic Level Distribution の表の例
解析結果に基づいて、RTL を変更、異なる合成オプションを使用、またはタイミング制約および物理制約を変更してネットリストを向上できます。