AN 899: 高速保存によるコンパイル時間の短縮

ID 683493
日付 11/06/2019
Public
ドキュメント目次

1.3.2. ステップ2: タイミングがクリティカルなデザインブロックの特定

次の手順に従い、タイミングがクリティカルなデザインブロックを インテル® Quartus® Primeタイミング・アナライザーで特定します。
  1. タイミング・アナライザーを開くには、Tools > タイミング・アナライザー をクリックします。
  2. タイミング・アナライザーのTasksペインで、Update Timing Netlistをダブルクリックし、コンパイル中に生成された最終的なタイミング・ネットリストをロードします。
    図 5. タイミング・アナライザーのTasksペイン
  3. report_timing.tclスクリプトを実行し、タイミングがクリティカルなデザインブロックにおける要件を満たさないパスを特定するには、Consoleウィンドウで次のコマンドを入力します。Consoleウィンドウが表示されていない場合は、タイミング・アナライザーのView > ConsoleをクリックしてConsoleを表示します。このスクリプトは、要件を満たさないパスを特定するコマンドを実行します。
    source report_timing.tcl

    tclスクリプトはreport_timingコマンドを実行し、最低スラックをもつ上位100パスのタイミングをキャプチャーします。このスクリプトは、一部のデザインブロックの特定のノード間のタイミングをキャプチャーするように事前にコンフィグレーションされています。これらのノードのタイミングは、このチュートリアルの後半で解析します。

    図 6. タイミング・アナライザーのReportフォルダー
    表 2.  report_timing.tclによって生成されるタイミング解析のレポート
    タイミング解析のフォルダー 対象 タイミングレポートによって表示される内容
    inst_big u_big_partition1_top 最低スラックをもつ上位100パスの解析
    inst_i1 u_blinking_led_i1
    inst_i2 u_blinking_led_i2
    inst_i3 u_blinking_led_i3
    inst_i4 u_blinking_led_i4
    inst_big_path1 u_big_partition1_top 特定のノード間のタイミングの解析
    inst_i1_path1 u_blinking_led_i1
    inst_i2_path1 u_blinking_led_i2
  4. inst_bigフォルダーのSlow 900 mV 100C Modelレポートを右クリックした後、Generate in All Cornersをクリックします。この手順を、inst_i1inst_i2inst_i3、およびinst_i4フォルダーで繰り返します。
  5. Reportペインの各フォルダーに生成されるMulti Corner Summaryレポートを表示します。inst_i3フォルダーおよびinst_i4フォルダーの赤い文字のレポートは、要件を満たしていないパスがあるタイミングがクリティカルなデザインブロックを示しています。
  6. inst_i3フォルダーのMulti Corner Summaryレポートを開きます。From NodeフィールドおよびTo Nodeフィールドの値を確認します。解析により、u_blinking_led_i3の要件を満たしていないパスは、64ビットカウンターにあることが示されています。このカウンターは、8秒に相当するサイクル数をカウントします。各サイクルは1.818 nsです。
    図 7. u_blinking_led_i3のMulti Corner Summary
    注: 配置と配線の結果は、プロセッサー、OS、およびソフトウェアのバージョンによって異なる場合があります。
  7. inst_i4フォルダーのMulti Corner Summaryレポートを開きます。From NodeフィールドおよびTo Nodeフィールドの値を確認します。解析により、u_blinking_led_i4の要件を満たしていないパスは、64ビットカウンターにあることが示されています。このカウンターは、16秒に相当するサイクル数をカウントします。各サイクルは1.818 nsです。
    図 8. u_blinking_led_i4のMulti Corner Summary
    タイミング解析は、最適化に向けて、u_blinking_led_i3およびu_blinking_led_i4をタイミングがクリティカルなデザインブロックとして特定しています。