インテル® Quartus® Prime プロ・エディションのユーザーガイド: Timing Analyzer

ID 683243
日付 9/30/2019
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

2.2.9. フィッターの過剰制約の使用

Fitterの過剰制約は、モデリングの不正確さ、誤相関、またはロジック最適化におけるその他の欠陥を克服するために調整するタイミング制約です。 特定のパスのタイミングをより積極的に最適化するために、Fitterでセットアップを過剰に制約し、パスを保持することができます。

インテル® Stratix® 10デザインの過剰制約

インテル® Stratix® 10デバイスでのためにデザインするとき、Fitterの過剰制約を使用して特定のノードをターゲットにして、Compilerがこれらのパスをリタイミングおよび最適化するのを防ぐことができます(ノードには複数のタイミング要件があり、Compilerは「タッチしない」として扱います)。制約が特定のノードをターゲットにしている場合、is_post_route Tcl関数を使用します。この機能により、Fitterのモジュール(Plan、Place、Route)に過剰な制約を適用し、スラックを調整しながら、配線後のリタイミングを許可し、サインオフタイミング解析に影響を与えません。

# Example Fitter overconstraint targeting specific nodes (allows for post-route retiming)
if { ! [is_post_route]} {
  set_max_delay -from ${my_src_regs} -to ${my_dst_regs} 1ns
}
注: is_post_route関数は包括的です。関数を除外するには、否定構文( )を使用します。

他のすべてのデバイスファミリをターゲットとするデザインの過剰制約

現在の実行可能ファイルの名前( quartus_fitまたはquartus_staのいずれか)をチェックするFitter オーバー制約を割り当てて、Fitter最適化およびサインオフタイミング解析にさまざまな制約を適用できます。

set fit_flow 0
if { $::TimingAnalyzerInfo(nameofexecutable) == "quartus_fit" } {
   set fit_flow 1
}
if {$fit_flow} {
  # Example Fitter overconstraint targeting specific nodes (restricts retiming)
  set_max_delay -from ${my_src_regs} -to ${my_dst_regs} 1ns
}