デザインには多くのクロックが存在する場合がありますが、すべてのクロックが関連性のあるクロックとして扱われるわけではありません。例えば非同期クロックは、関連性のないクロックとして扱う必要があります(非同期クロックは別のクロック・ソースを持っています)。また、互いに排他的なクロックは同時にアクティブになることはありません(例:マルチプレクスされたクロック)。TimeQuest タイミングアナライザがこれらクロックの必要のない相互作用を解析しないように、TimeQuest タイミングアナライザに対して相互に排他性を宣言する必要があります。
set_clock_groups コマンドを使用して、排他的動作、または非同期クロックを指定することができます。以下のリストに、set_clock_groups コマンドを利用可能なオプションと共に示します。
set_clock_groups
[-asynchronous | -exclusive]
-group <clock name>
-group <clock name>
[-group <clock name>] ...
表 1 は set_clock_groups コマンドのオプションを説明したものです。
| 表 1. set_clock_groups コマンドのオプションの説明 | |
| オプション | 説明 |
|---|---|
-asynchronous | |
相互に排他的なクロックを指定します。 |
-group <clock name> |
相互に排他的で有効なディスティネーション・クロック名を指定します。 <clock name> を使用してクロック名を指定します。 |
以下の例は、set_clock_groups コマンドと同等に作用する set_false_path コマンドを示しています。
# クロック A & C は クロック B & D がアクティブなときは、アクティブにならない。
set_clock_groups -exclusive -group {A C} -group {B D}
# フォルスパスを使用した同等な指定
set_false_path -from [get_clocks A] -to [get_clocks B]
set_false_path -from [get_clocks A] -to [get_clocks D]
set_false_path -from [get_clocks C] -to [get_clocks B]
set_false_path -from [get_clocks C] -to [get_clocks D]
set_false_path -from [get_clocks B] -to [get_clocks A]
set_false_path -from [get_clocks B] -to [get_clocks C]
set_false_path -from [get_clocks D] -to [get_clocks A]
set_false_path -from [get_clocks D] -to [get_clocks C]
関連リンク
- オンライン・トレーニング (英語)
- TimeQuest タイミング・アナライザ 操作チュートリアル (英語)
