ケース解析 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: 制約の使用 (UG903)

Document ID
UG903
Release Date
2022-06-01
Version
2022.1 日本語

デザインによっては、一部の信号が特定のモードで定数になります。たとえば、動作モードでは、テスト信号はトグルしないので、そのアクティブ レベルによって VDD または VSS に接続されます。デザインに電源が投入された後にトグルしない信号もこの対象になります。また、多くのデザインには複数の動作モードがあり、ある動作モードではアクティブな信号が別のモードでは非アクティブである場合があります。

解析空間、実行時間、およびメモリ消費量を削減するため、信号が定数値となることを指定しておくことが重要です。これは、機能しないパスおよび無関係なパスがレポートされないようにするためにも重要です。

信号が非アクティブであることを宣言するには、set_case_analysis コマンドを使用します。このコマンドは、ピンまたはポートに適用できます。

注記: ピンにケース解析を設定すると、そのピンに関連するタイミング アークがすべてディスエーブルになり、通過するパスはレポートされなくなります。
ビデオ: set_case_analysis などの高度なタイミング例外については、Vivado Design Suite QuickTake ビデオ: 高度なタイミング例外 - フォルス パス、最小/最大遅延、ケース解析を参照してください。

set_case_analysis コマンドの構文は、次のとおりです。

set_case_analysis <value> <pins or ports objects>

<value> は、次のいずれかになります。

01zerooneriserisingfall、または falling

rise、rising、fall、または falling を指定した場合、指定のピンまたはポートは指定の遷移でのみタイミング解析で考慮され、ほかの遷移は考慮されません。

ケース値は、ポート、最下位セルのピン、階層モジュールのピンに設定できます。

次の例では、マルチプレクサー clock_sel の入力ピンに 2 つのクロックが作成されていますが、セレクト ピン S に定数値が設定されているため、clk_2 のみが出力ピンを介して伝搬されます。

図 1. クロック例

create_clock -name clk_1 -period 10.0 [get_pins clock_sel/I0] 
create_clock -name clk_2 -period 15.0 [get_pins clock_sel/I1] 
set_case_analysis 1 [get_pins clock_sel/S]

次の例では、BUFG_GT のダイナミック クロック分周ピン DIV[2:0] は、VCC/GND に接続されているのではなく、ロジックにより駆動されます。

図 2. BUFG_GT/DIV の例

この場合、ツールで出力クロック (1 で分周) のワースト ケースが想定され、入力クロックがバッファー出力に伝搬されます。クロック分周 1 が使用されない場合、このワースト ケースの状況により見積もりが不必要に悪くなり、デザインの制約が厳しすぎるものになる可能性があります。DIV[2:0] バスに set_case_analysis 制約を設定すると、BUFG_GT 出力ピンに自動生成されるクロックを制御できます。

たとえば、ワースト ケースのクロック分周が 3 の場合、BUFG_GT に次のケース解析を適用する必要があります。

set_case_analysis 0 [get_pins bufg_gt_pclk/DIV[0] ] 
set_case_analysis 1 [get_pins bufg_gt_pclk/DIV[1] ] 
set_case_analysis 0 [get_pins bufg_gt_pclk/DIV[2] ]
注記: UltraScale™ および UltraScale+™ デバイスでは、GT_CHANNEL に複数の内部マルチプレクサーを介して GT_CHANNEL の出力に伝搬される複数の入力クロック (TXOUTCLK など) があります。この場合、ケース解析は GT_CHANNEL のクロック多重化制御信号 (TXSYSCLKSELTXOUTCLKSEL など) に同様の方法で使用し、GT_CHANNEL の出力に伝搬する入力または内部クロックを選択します。