インテル® Quartus® Primeプロ・エディションのユーザーガイド: タイミング・アナライザー

ID 683243
日付 1/31/2023
Public
ドキュメント目次

2.5.1.2. タイミングレポート

タイミング・アナライザーの Reports > Timing Slack > Report Timing… コマンドを使用すると、デザイン内の任意のパスまたはクロックドメインのタイミングレポートに関する設定を指定することができます。同等のスクリプトコマンドは report_timing です。

図 44. Report Timing レポート

さまざまなオプションを指定してレポートをカスタマイズすることができます。Clocks および Targets により、レポートに表示するクロックとターゲットを指定します。Analysis Type では実行する解析タイプ、Extra Info では追加情報をレポートに表示するか、また、Output ではレポートの出力オプションを指定します。例えば、報告するパスの数を増やしたり、Target フィルターの追加や、From Clock を追加したりすることができます。

図 45. Report Timing ダイアログボックス (上部)
図 46. Report Timing ダイアログボックス (下部)
表 6.  Report Timing の設定
オプション 詳細
Clocks From Clock および To Clock でレポートのパスをフィルタリングし、指定した起動クロックまたはラッチクロックのみを表示します。
Targets From Clock および To Clock のターゲットノードを指定し、それらのエンドポイントのみのパスを報告します。このオプションには、I/O またはレジスター名、もしくは I/O ポートを指定します。このフィールドは、ワイルドカード文字もサポートします。例えば、特定の階層内のパスのみを報告するには、次のようになります。
report_timing -from *|egress:egress_inst|* \
     -to *|egress:egress_inst|* -(other options)
FromTo、またはThrough ボックスが未記入の場合は、タイミング・アナライザーはデバイス内の考えられるすべてのターゲットを想定します。Through オプションにより、組み合わせロジックまたはセル上の特定のピンを通過するパスにレポートを制限します。
Analysis type Analysis type オプションには、SetupHoldRecoveryRemoval があります。タイミング・アナライザーは、選択した解析タイプの結果を報告します。
Paths エンドポイントおよびスラックレベルごとに表示するパスの数を指定します。Report number of paths のデフォルト値は 10 です。それ以外の場合は、レポートが非常に長くなる可能性があります。Pairs only を有効にすると、送信元と送信先の各ペアに対して 1 つのパスのみが表示されます。Maximum number of paths per endpoints により、さらに制限します。パスのフィルタリングも可能で、Maximum slack limit フィールドに値を入力します。
Extra Info タイミングエラーの根本原因の診断に関連する追加データを提供します。これには、セットアップ・スラックの内訳、輻輳やホールド時間の修正によって引き起こされる予期しないルーティング迂回などが含まれます。NoneBasicAll を指定し、レポートに含める追加情報を指定します。Extra Info タブのデータは、潜在する不必要なルーティング迂回、およびパスの fMAX パフォーマンスを制限する配置または回路の問題の特定に役立ちます。Extra Info タブにおけるセットアップ・スラックの内訳 を参照してください。
  • All - レポートには Extra Info タブが含まれ、RAM または DSP ブロックのレジスターなし出力を通過する送信元タイミング・エンドポイント、または、DSP ブロックのレジスターなし入力を通過する送信先タイミング・エンドポイントに関する追加情報が報告されます。Data Path タブには、ホールドの推定追加遅延、およびルーティング・ステージの輻輳に対する影響についてのデータが含まれます。
  • Basic - レポートには Extra Info タブが含まれますが、Data Path タブの追加情報はありません。
  • None - レポートには Extra Info タブが含まれません。また、Data Path タブの追加情報もありません。
Output 解析で Detail level の出力に含めるパスのタイプを指定します。
  • Summary - レベルには、基本的な概要レポートが含まれます。Summary レポートの Clock Skew 列を確認します。スキューが +/-150ps 未満であれば、クロックツリーは送信元と送信先の間でバランスが取れています。
  • Path only - すべての詳細情報を表示します。ただし、Data Path タブには、クロックツリーが 1 行の項目として表示されます。
  • Path and Clock - クロックに関して、Path only と同じように表示します。
  • Full path - 大きなクロックスキューが存在する場合は、Full path オプションを有効にします。このオプションはクロックツリーをより詳細に分割し、すべてのセルを表示します。これには、入力バッファー、PLL、グローバルバッファー (CLKCTRL_ と呼ばれる)、およびロジックが含まれます。このデータを確認し、デザインのクロックスキューの原因を特定します。I/O 解析には、Full path オプションを使用します。FPGA には送信元クロックまたは送信先クロックのみがあるため、遅延はタイミングを満たすための重要な要素となります。
Show routing レポートにルーティング・データを表示します。
Split the report by operating conditions タイミングコーナーの動作条件に関して、データを動作条件ごとに細分化します。
Report panel name レポートパネルの名前を指定します。オプションで File name を有効にして、情報をファイルに書き込むことができます。.htm または .html をサフィックスとして追加すると、タイミング・アナライザーはレポートを HTML として生成します。File name を有効にすると、最新のデータでファイルを上書き (Overwrite) または追加 (Append) することができます。
Tcl command 選択した GUI オプションに対応する Tcl 構文を表示します。コマンドは、Console から Tcl ファイルにコピーすることができます。
図 47. Extra Info タブ

Extra Info タブにおけるセットアップ・スラックの内訳

Extra Info タブには、タイミング・ クロージャーの問題の診断に役立つその他のタイミングメトリクスが含まれます。それには、パスのセットアップ・スラックの内訳を示す Setup Slack Breakdown などがあります。

パスのスラックは、パスがタイミング要件を満たしているマージンを指定します。セットアップ・スラックの内訳は、タイミング・アナライザーが次のタイミング要件とパス要素の遅延から計算する数値です。

図 48.  Setup Slack Breakdown の計算

パスは、さまざまな理由でタイミング要件を満たすことができません。例えば、クロック関係が実現不可能なほど厳密な場合や、過剰なルーティング遅延が存在する場合は、それだけでタイミングパスの不合格につながることがあります。タイミングパス固有のマージンを計算し、そのマージンをパスの他の遅延と比較することは、パスでタイミング要件が満たされない特定の理由を診断するのに役立ちます。

Extra Info タブは、輻輳やホールド時間の修正によって発生する重大または予期しない潜在的なルーティング迂回の特定に役立ちます。Extra Info タブでは、RAM または DSP ブロックのレジスターなし出力を通過する送信元タイミング・エンドポイント、または、DSP ブロックのレジスターなし入力を通過する送信先タイミング・エンドポイントに関する追加情報を報告することもできます。

Extra Info のデータ、Chip Planner の Locate Path または Locate Chip Area、Technology Map Viewer、もしくは Resource Property Viewer を確認し、変更を加えて配置配線を改善するかを決定します。

遅延要素には、他の要素よりもパスの配置と配線に影響を受けやすいものがあります。Setup Slack Breakdown の一部である固有遅延は配置配線の影響を受けにくく、RTL およびタイミング要件に内在するものです。非固有遅延は、配置配線の影響を受けやすいその他の遅延です。

表 7.  Extra Info タブのデータ
Extra Info のデータ 詳細
Intrinsic Margin

タイミングパスのスラック値を構成する固有および非固有のタイミング要素を報告します。固有マージンは、タイミング・アナライザーがタイミング要件とパス要素の遅延から算出する数値です。タイミング・アナライザーは、同じ要件と遅延からパスのスラックも導出しますが、計算方法は異なります。固有遅延は、配置配線の影響を受けにくく、RTL およびタイミング要件に内在するものです。非固有遅延は、配置配線の影響を受けやすいその他の遅延です。

From Node Info From Node のノードタイプ、リタイミング制約、パワーアップ時の「Don't Care」属性を指定します。リタイミング制約を解除してリタイミングを許可し、タイミング・クロージャーのパフォーマンスを向上させることを検討します。
To Node Info To Node のノードタイプ、リタイミング制約、パワーアップ時の「Don't Care」属性を指定します。リタイミング制約を解除してリタイミングを許可し、タイミング・クロージャーのパフォーマンスを向上させることを検討します。
Max Fanout

パス内のレジスターノードと組み合わせノードの最大ファンアウトを報告します。

Route Stage Congestion Impact ルーティングが輻輳におよぼす影響を LowMedium、または High のいずれかで報告します。値が Low の場合、タイミングの問題と輻輳には関係がないことを示しています。値が High の場合は、不十分なルーティング・ リソースをめぐる競合が原因でタイミングが悪化していると考えることができます。
Estimated Delay Added for Hold ホールドを満たすために最速の遅延ルートに追加される推定遅延量を報告します。この値は、遅延がルーティングの輻輳に関連するのかホールドに関連するのかを判断するのに役立ちます。
Sufficient Setup Margin for Hold セットアップ・マージンがホールドタイミングに対して適切かを報告します。Yes は、セットアップ・マージンが十分であることを示しています。No は、セットアップ・マージンがホールドタイミングに対して不足していることを示しています。
Source/Destination Bounding Box 送信元レジスターと送信先レジスターを囲む境界ボックスの左下と右上の座標を報告します。

理想的なケースでは、Source/Destination Bounding BoxCell Bounding Box、および Interconnect Bounding Box の値はほぼ同じで、相対面積は約 1.0 です。セルのバウンディング・ボックス・サイズが Source/Destination Bounding Box に対して大きくなる場合は、パス上に不要なルーティング迂回が潜在することを示している可能性があります。

Source/Destination Area Covered LAB の観点でカバーされる総面積を報告します。
Source/Destination Relative Area Source/Destination Bounding Box に対する送信元と送信先の面積を報告します。値は常に 1.0 で、同じサイズであることを意味します。
Cell Bounding Box パス内の送信元レジスターと送信先レジスター、およびセルを囲む境界ボックスの左下と右上の座標を報告します。
Cell Area Covered Source/Destination Bounding Box に対するセルの面積を報告します。値の 1.0 は、同じサイズであることを意味します。1.0 より大きい値は、パス内のレジスター間のスペース外部にセルがあることを示している可能性があります。

次に、Setup Slack Breakdown で示されるタイミング条件の解釈を説明します。

  • Setup Slack Breakdown が 0 未満である - パスのタイミング関係が非常に厳しい、マイクロパラメーターに大きな差がある、またはクロックソースの不確実性が非常に大きいため、遅延を追加する前にパスが不合格になります。SDC 制約を確認し、タイミング関係が正しいことを確認します。不正確な関係は、適切なタイミング切断が行われていない、関係のないクロック間に存在する場合があります。パラメーター化が可能なハードブロック (20K RAM および DSP ブロックなど) が完全にレジスターされていることを確認します。クロックソースを見直し、クロックがルーティングにグローバル信号を使用していることを確認します。
  • クロックスキューが Setup Slack Breakdown を上回っている - クロック転送を見直し、パスでタイミングを満たすようにします。場合によっては、クロック領域の割り当てを作成する必要があります。また、クロックが交差する転送を再設計し、同期から非同期の実装に切り替えが必要になることもあります。その場合は、FIFO やその他のハンドシェイクなどを使用します。
  • セル遅延が固有マージンより大きい - セル遅延を小さくします。クロックが完全で、ルーティング・ワイヤーを使用していない場合でも、パスでタイミングが不合格になることがあります。RTL を書き直してロジック深度を減らし、ロジックを再構築してコンパイラーでより高速な LUT 入力を使用できるようにします。もしくは、リタイミング最適化のブロックを解除します。コンパイラーでは、レジスターを自動的にリタイミングしてロジック深度を減らすことができますが、機能を維持し、デバイスのアーキテクチャーがサポートする方法でのみ可能です。Hyper-Retimer のブロックを解除するには、非同期リセットと初期条件を削除します。
  • インターコネクト遅延が固有のマージンより大きい - クロックが完全で、ロジックがない場合でも、パスでタイミングが不合格になることがあります。これは、レジスターが離れすぎている場合、またはタイミングパスが混雑しているチップ領域を迂回している場合に発生します。離れているレジスターのファンインとファンアウトを確認します。Logic Lock 領域を適用すると、フィッターでレジスターがより近くに配置されるようになります。Logic Lock 領域は、最初の配置が良いものにならなかった理由を特定してから使用します。