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

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

1.2.10.1. 時間借用における制限

Fitter (Finalize) ステージで発生する時間借用最適化は、次のレジスターでは発生しません。これらのレジスターでの時間借用最適化は 0 であり、Fmax Summary レポートの最大動作周波数の時間借りは 0 になります。
  • クロックが交差する転送の送信元となるレジスター
  • set_max_skew または set_max_delay 割り当ての送信元となるレジスター
  • 1 つまたは複数のレベル・センシティブ・ラッチのあるクロックドメイン内のレジスター

さらに、クロックが交差する転送、set_max_skew または set_max_delay 制約の送信先となるレジスターは、それらの転送に最適化された借用値をもちません (ただし、他の転送からの借用が 0 ではない場合があります)。

そのようなレジスターがクリティカルなタイミングパス上にある場合は、動的時間借用モードを有効にすると、より良いパフォーマンスが報告される可能性があります。このモードでは、借用対応レジスターすべての借用時間が報告されます。動的時間借用モードでは、より正確な (悲観的ではない) 解析を提供することができますが、.sdc で指定したクロック周波数の特定のセットでのみになります。

このようなレジスターの時間借用結果を表示するには、次の手順に従います。

  1. .sdc ファイルで、クロック周波数を Fmax Summary で報告されるクロック周波数よりも高い値に設定します。
  2. デザインをリセットし、タイミング・アナライザーで SDC ファイルを再度読み込みます。
  3. update_timing_netlist -dynamic_borrow コマンドを実行します。
  4. Slack Summary レポートの結果を表示します。 (Reports > Slack で、タイミングが合格しているかを確認します。Fmax Summary レポートには、動的借用で得た内容は反映されません。)
注: 時間借用は有益なクロックスキュー手法に類似しており、特定のレジスターへのクロックを遅らせ、出力パスを犠牲にして入力パスにより多くの時間を与えるものです。ただし、時間借用と有益なクロックスキューには、次の重要な違いがあります。
  • 時間借用では、クロックスキューよりも柔軟にセットアップ・スラックを分配することができます。スキューは通常、固定インクリメントに制限されます。借用を使用すると、利用可能な借用ウィンドウ内に借用量が収まる限り、任意の量のスラックをレジスターの一方から他方にシフトすることができます (小さい場合でも)。さらに、借用量は動作条件ごとに個別に計算されるため、動作条件ごとに最適なスラック量をシフトすることができます。このタイプのシフトは、スキュー調整では行うことができません。
  • 有益なクロックスキューを使用すると、クロックがスキュー調整されているレジスターからの出力パスでホールドスラックを増やすことができます。時間借用にこの利点はありません。