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

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

2.4.2. 時間借用最適化のイネーブル

High または Superior の Performance コンパイル時に、コンパイラーは、Optimal 時間借用値を自動的に計算して格納します。これは、 インテル® Stratix® 10 および インテル® Arria® 10 のデザインの Finalize ステージで行われます。デフォルトでは、後続のタイミング解析の結果は、Finalize ステージからの Optimal 借用値を反映します。

次の手順に従い、サポートされているデバイスで時間借用を有効にします。

  1. Assignments > Settings > Compiler Settings > Optimization Mode をクリックします。Performance 設定は、任意の High または Superior を選択します。
  2. フィッターおよびタイミング・アナライザーを実行します。詳細は、ステップ 3: タイミング・アナライザーの実行 で説明しています。
  3. 時間借用データを示すレポートを生成するには、Reports > Timing Slack > Report Timing をクリックします。時間借用データは、特定のクロックドメインのクリティカル・パスに示されます。詳細は、時間借用データレポート で説明しています。
図 42. Performance コンパイラー最適化モードの設定


  • コンパイラーの Optimization Mode を変更せずに時間借用の最適化を指定するには、次の割り当てをプロジェクトの .qsf で指定します。

    set_global_assignment -name ENABLE_TIME_BORROWING_OPTIMIZATION <ON|OFF>
  • タイミング解析時に時間借用モードを手動で指定するには、次の update_timing_netlist コマンドオプションのいずれかを実行します。
表 5.  時間借用モード
時間借用モード コマンドオプション デフォルトとなる状態

Optimal - タイミング解析には、Finalize ステージからの最適な時間借用値が含まれます。オプションで recompute_borrow オプションを update_timing_netlist に追加し、借用量を再計算することができます (借用ウィンドウサイズではありません)。

update_timing_netlist インテル® Stratix® 10 および インテル® Arria® 10 のデザインに向けた Performance コンパイル (High および Superior)
Dynamic - タイミング解析により、SDC 制約に対してデバイスで物理的に発生する時間借用を報告します。最適化は含まれません。つまり、タイミング解析では、すべての負のスラックを修正するために必要なだけの借用が適用されます。タイミング解析は、すべての負のスラックを除去するのに最大量の時間借用では不十分なタイミングパスに対して、最大限の借用を想定します。このモードは、レベル・センシティブ・ラッチの時間借用を許可する唯一のモードです。 update_timing_netlist -dynamic_borrow なし
Zero - タイミング解析では 0 の時間借用を使用します。 update_timing_netlist –no_borrow サポートされていないデバイス、または Performance モード以外のコンパイラーの最適化モード
注: Dynamic モードでは、制約が過剰なクロックでは最適な結果が得られません。クロックが過剰に制約されていると、ほぼすべてのパスで過剰な負のスラックが発生します。この状態では、いずれの位置でも最大の時間借用が使用されるため、最適とは言えません。パーシャル・リコンフィグレーションを使用する際に、時間借用を有効にしてベースデザインをコンパイルする場合は、時間借用を有効にして実装デザインをコンパイルします。これに従わない場合、ベースデザインの時間借用量が 0 にリセットされ、デザインがタイミングを満たさない可能性があります。この状態が発生した場合は、update_timing_netlist –recompute_borrow コマンドを使用して、デザイン全体の時間借用量を復元することができます。