Quartus® Prime プロ・エディションのユーザーガイド: デザイン最適化

ID 683641
日付 7/08/2024
Public
ドキュメント目次

5.5.9.14.3. クリティカル・パス分析のヒント

デザインで障害のあるパスを分析する際は、クリティカル・パス周辺の相互作用を理解することが役立ちます。

クリティカル・パス上で何か行われているかを調べるには、以下の report_timing コマンドが役立ちます。

  1. プロジェクト・ディレクトリーで、report_timing コマンドを実行してクリティカル・パス内のノードを見つけます。
  2. 以下のコードを .tcl ファイルにコピーし、最初の 2 つの変数をワーストパスの From Node および To Node 列のノード名に置き換えてください。このスクリプトは、ワースト・ソースとデスティネーション・レジスター間のパスを解析します。
    set wrst_src <insert_source_of_worst_path_here>
    set wrst_dst <insert_destination_of_worst_path_here>
    report_timing -setup -npaths 50 -detail path_only -from $wrst_src \
    -panel_name "Worst Path||wrst_src -> *"
    report_timing -setup -npaths 50 -detail path_only -to $wrst_dst \
    -panel_name "Worst Path||* -> wrst_dst"
    report_timing -setup -npaths 50 -detail path_only -to $wrst_src \
    -panel_name "Worst Path||* -> wrst_src"
    report_timing -setup -npaths 50 -detail path_only -from $wrst_dst \
    -panel_name "Worst Path||wrst_dst -> *"
  3. Script メニューから、.tcl ファイルをソースします。
  4. 結果として表示されるタイミングパネルで、Chip Planner 内のタイミング失敗したパス (赤で強調表示されたもの) を見つけ、ノード間の距離や大きなファンアウトなどの情報を確認します。

    下の図は、これらのレポートが解析したものを略図化して示したものです。

    図 71. Timing Report

    デザインのクリティカル・パスは赤色で表されています。この図と .tcl スクリプトの関係は次のとおりです。

    • 最初の 2 つのラインは、クリティカル・パスの 2 つのエンドポイント内にあるすべての要素を示しており、それらが異なる方向に引っ張られていることを示しています。
      • 最初の report_timing コマンドは、ソースが駆動しているすべてのパス (緑色で表示) を解析します。
      • 2 つ目の report_timing コマンドは、クリティカル・パスを含む (オレンジ色で表示) デスティネーションに進むすべてのパスを解析します。
    • 最後の 2 つの report_timing コマンドは、他の方向に進むエンドポイント外部のすべてを表示します。
これらの隣接するパスのいずれかでクリティカル・パスの近くにスラックがある場合、フィッターは最も望ましいスラックを達成しようとしてクリティカル・パスでこれらパスを調整します。