タイミング・アナライザーの set_clock_groups コマンド

author-image

投稿者:

1 つのデザインに多くのクロックを存在させることはできますが、すべてのクロックが相互に作用するわけではなく、特定のクロック相互作用を起こすこともできません。アシンクロナス・クロックは無関係なクロックです (アシンクロナス・クロックは理想的なクロックソースが異なります)。排他クロックが同時にアクティブになることはありません (例: マルチプレクス・クロック)。タイミング・アナライザーがこれらのクロック相互作用を分析できないようにするためには、相互排他性を宣言する必要があります。

set_clock_groups コマンドを使用して、排他またはアシンクロナスのクロックを指定できます。次のリストは、set_clock_groups コマンドと使用可能なオプションを示します。

set_clock_groups
     [-asynchronous | -exclusive]
     -group <クロック名>
     -group <クロック名>
     [-group <クロック名>] ...

表 1 に set_clock_groups コマンドのオプションを示します。

以下の例では、set_clock_groups コマンドとそれに対応する set_false_path コマンドを示します。

# クロック B と D がアクティブな場合、クロック A と C は決してアクティブになりません
set_clock_groups -exclusive -group {A C} -group {B D}

# Equivalent specification using false paths
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]