タイミングが満たされていないデザインがあります。
タイミング レポートの「パルス幅」というカテゴリで問題がレポートされています。
問題が起きているクロック名をチェックすると、問題は「最大スキュー」の制限に関しています。
この最大スキューの制限チェックとは何ですか。また問題の原因を突き止めるにはどうしたらよいでしょうか。
スキューは、ネット/信号により駆動されるロードすべての遅延の差です。
最大スキュー制限チェックとは、BRAM、PCI、GTX などのクリティカル ブロックに対して定義されているパラメーターです。
この値が満たされていない場合は、修正する必要があります。
なぜ最大スキューのタイミング違反が発生しているのかを見極めるには、まず、問題が起きているとレポートされているクロック ツリー パスのトポロジをチェックします。
クロック パスの 1 つは「参照パス」で、もう 1 つのパスのスキューが制限値を超えています。
この 2 つのクロック パスを判別できたら、この 2 つの共通ノード ポイントを見つける必要があります。
この 2 つのクロックは同じソースから生成されている可能性が高いのです (それぞれ独立しておらず、関係していない場合)。
たとえば、MMCM や PLL といった、共通ポイントがあるはずです。
Vivado では、次のコマンドを実行して、クロック信号パスをトレースすることができます。
report_timing -to [get_pin <full_hierarchy_pin_failing_clock_skew/CLK>]
このコマンドは、入力ポート クロックからデバイスのピンまでの遅延、および共通ノードのクロッキング リソースをレポートします。
両方の入力ピンに対してこのレポートを生成すると、2 つのクロックの最大スキューの差がわかるはずです。
理想的には、2 つのクロックが枝分かれする共通ポイントまでは、同じであるべきです。
同じソース (MMCM が共通ポイント) から生成されたクロックが 2 つある PCIe を例にとってみましょう。
参照パス (この場合は MMCM/CLKOU2) と、MMCM/CLKOUT3 から USERCLK までと、USERCLK2 までのパスの遅延差がスキューです。
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
36138 | 14.x タイミング解析 - MAXSKEW 制約が適用されるとスキュー計算が間違っている | N/A | N/A |
40773 | 14.x タイミング解析 - MAXSKEW の算出方法 | N/A | N/A |
39744 | Timing Analyzer/TRCE - タイミング解析でのクロック スキューの算出方法 | N/A | N/A |
AR# 53083 | |
---|---|
日付 | 01/14/2015 |
ステータス | アクティブ |
種類 | 一般 |
デバイス | |
ツール |