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

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

5.5.9.14.4. コンパイル間のクリティカル・パスをモニターする .tcl スクリプト作成のヒント

多くのデザインでは、各コンパイル後に同じクリティカル・パスが表示されます。他のデザインでは、クリティカル・パスは異なる階層間を行き来し、コンパイルごとに変化します。

この動作は、多くのレジスター間パスのスラックがほとんどない高速デザインで発生します。配置が異なると、周辺パスでタイミングエラーが発生する可能性があります。

  1. プロジェクト・ディレクトリーに、TQ_critical_paths.tcl という名前のスクリプトを作成します。
  2. コンパイル後、クリティカル・パスを確認し、このクリティカル・パスをキャプチャするために、一般的な report_timing コマンドを記述します。
    例えば、下位レベルの階層で複数のパスが失敗する場合、次のようなコマンドを追加します。
    report_timing –setup –npaths 50 –detail path_only \
       –to “main_system: main_system_inst|app_cpu:cpu|*” \
       –panel_name “Critical Paths||s: * -> app_cpu”
  3. 他の *count_sync* レジスターへ進むステートマシンのビットのような特別なパスには、以下のコマンドを追加します。
    report_timing –setup –npaths 50 –detail path_only \
       –from “main_system: main_system_inst|egress_count_sm:egress_inst|update” \
       –to “*count_sync*” –panel_name “Critical Paths||s: egress_sm|update -> count_sync”
  4. コンパイル後に タイミング・アナライザー でこのスクリプトを実行し、新しいクリティカル・パスが表示されたら新しい report_timing コマンドを追加します。
    これにより、常に問題の発生するパスと重要でないパスをモニターできるので、効率的にパスの優先順位を付けることが可能となります。