set_disable_timing
コマンドを使用すると、セル内のタイミング アークをディスエーブルにできます。セルの入力ポートから出力ポートまでのタイミング アークのみをディスエーブルにできます。
set_disable_timing
コマンドは、ポートまたはワイヤからのタイミング アークをディスエーブルにするためにも使用できます。この場合、-from
および -to
コマンド ライン オプションは使用せず、ポート オブジェクトまたはタイミング アーク オブジェクトのみを指定します。一部のタイミング アークは、特定の状況を処理するため、自動的にディスエーブルになります。たとえば、組み合わせフィードバック ループは推奨されず、正しくタイミング解析できません。このようなループは、ループ内のタイミング アークの 1 つをディスエーブルにすることにより分割されます。
別の例として、マルチプレクサーに設定されたケース解析があります。デフォルトでは、マルチプレクサーのすべてのデータ入力は出力ポートに伝搬されますが、信号にケース解析が設定されていると、1 つのデータ入力ポートのみが出力ポートに伝搬されます。この場合は、タイマーにより、それ以外のデータ入力ポートから出力ポートへのタイミング アークが分割されます。
set_disable_timing
コマンドを使用すると、デザイン内のセルのタイミング アークを手動で分割できます。たとえば、組み合わせフィードバック ループを分割するためにディスエーブルにするタイミング アークをツールに判断させるのではなく、ユーザーが指定できます。
また、LUT 入力に複数のクロックが供給されているが、LUT 出力ポートには 1 つのクロックだけを伝搬する必要がある場合、伝搬しないクロックに関連するタイミング アークを分割することにより対処します。
LUTRAM が関係する状況もよくあります。LUTRAM 内には書き込みクロックと読み出しクロックの間に WCLK ピンから出力 O ピンへの物理的なパスがありますが、LUTRAM ベースの非同期 FIFO は、WCLK から O への CDC パスが発生しないように設計されています。それでも、このタイミング アークはイネーブルになっており、この WCLK から O へのタイミング アークを介するパスがレポートされ、このアークが原因で TIMING-10 DRC 違反が発生する可能性もあります。その場合、WCLK から O のアークをディスエーブルにし、これらのパスのタイミング解析が実行されて無効な DRC 違反が発生するのを回避する必要があります。このタイミング アークは、AMD LUTRAM ベースの FIFO の現在のインプリメンテーションでは自動的にディスエーブルになっています。
set_disable_arc
コマンドの構文は、次のとおりです。
set_disable_timing [-from <arg>] [-to <arg>] [-quiet] [-verbose] <objects>
-from
および -to
オプションには、Vivado オブジェクトではなく、ピン名のみを指定します。また、ピン名には、デザイン ピン名ではなく、ライブラリ セルからのピン名を使用する必要があります。次に例を示します。
set_disable_timing -from WCLK -to O [get_cells inst_fifo_gen/ gdm.dm/gpr1.dout_i_reg[*]]
上記のコマンドは、LUTRAM ベースの非同期 FIFO inst_fifo_gen/ gdm.dm/gpr1.dout_i_reg[*]
すべてに対し、タイミング アーク WCLK->O をディスエーブルにします。
-from
および -to
の指定はオプションです。-from
を指定しない場合、-to
で指定したピンで終了するすべてのタイミング アークがディスエーブルになります。同様に、-to
を指定しない場合、-from で指定したピンから開始するすべてのタイミング アークがディスエーブルになります。-from
も -to
も指定されていない場合、コマンドで指定したセルのタイミング アークすべてがディスエーブルになります。
report_disable_timing
コマンドを使用すると、ツールにより自動的にディスエーブルにされているタイミング アークとユーザーが手動でディスエーブルにしたタイミング アークがレポートされます。このリストが長い場合があるので注意してください。-file
コマンド ライン オプションを使用すると、ファイルに結果が保存できます。
-cells
を使用して report_disable_timing
を実行する階層モジュールを指定できます。