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

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

1.2.10.2. ラッチでの時間借用

インテル® Quartus® Prime タイミング・アナライザーは、レベル・センシティブなラッチをレジスターと同様に扱います。タイミング・アナライザーは、ラッチ・イネーブル・ピンをクロックピンとして扱い、クロックの関係を適切に変更します。

タイミング・アナライザーTasks ペインの Reports > Constraint Diagnostics > Check Timing を実行すると、デザイン内のレベル・センシティブ・ラッチのリストを表示することができます。

ラッチの時間借用を実装するには、動的借用モード (update_timing_netlist -dynamic_borrow) を有効にする必要があります。有効にしない場合、タイミング・アナライザーはラッチに対して時間借用 0 で計算します。動的モードでは、タイミング・アナライザーは SDC 制約で指定されているクロック周波数に基づき、回路内で物理的に発生する時間の借用量を報告するだけになります。実際に借用を最適化するわけではありません。

ラッチの場合、セットアップ関係はラッチの開始エッジに対するもので、時間の借用が可能です。ホールド関係は、ラッチのクローズエッジに対するものです。例えば、正のレジスターから別の正のレジスターへのパスには、デフォルトで 1 クロック周期のセットアップ・クロック関係があります。正のレジスターから正 (オープン High) のレベル・センシティブ・ラッチへのパスには、デフォルトで 0 クロック周期のセットアップ・クロック関係があり、これに任意の時間借用値を加えます。

タイミング・アナライザーは、ラッチへのパスとラッチからのパスを 2 つの個別パスとして扱います。例えば、正のレジスター --> 正のラッチ --> 負のレジスターの転送では、ラッチが転送期間全体にわたってトランスペアレントであると考えられる場合でも、タイミング・アナライザーはレジスターからレジスターへの転送全体を解析しません。タイミング・アナライザーは、ラッチへのパスとラッチからのパスを個別に解析して報告します。

タイミング・アナライザーは、各ラッチで利用可能な最大時間借用量を自動的に計算します。通常、利用可能な最大時間借用量は、クロック周期のほぼ半分に相当します。実際に利用可能な時間借用量は、次の内容に基づいています。

  • ラッチエッジが開閉するタイミング
  • 物理的なラッチの実装 (ラッチのクローズエッジの µtSU)
  • クロックの不確実性とその他の影響

時間の借用が最大借用値を超えることはありません。ただし、set_max_time_borrow SDC制約を使用して、より小さい最大借用時間を指定することができます。次に例を示します。

#Borrow at most 3ns at all "lat*" latches:
set_max_time_borrow 3 [get_registers lat*]

負の借用ウィンドウでクロックを指定すると、負の最大借用可能時間が発生する可能性があります。これは、最小パルス幅違反と同等です。例えば、この状態は、クロック周期の半分がラッチのクローズエッジの µtSU よりも小さい場合に発生します。このような違反が発生すると、警告により、デザインがタイミングに合格しないことが示されます。

注: 時間借用を使用するかしないかに関係なく、ラッチを含むすべてのクロックドメインでは、タイミング解析の Fmax Summary レポートに依存しないでください。このようなクロックドメインに対する Fmax Summary の値には借用が含まれないため、非常に悲観的になります。