2 つ以上のクロックがマルチプレクサー (または組み合わせセル) に入力されると、すべてが伝搬され、セルのファンアウトで重複します。現実的には、一度に伝搬できるのは 1 つのクロックのみですが、タイミング解析では同時に複数のタイミング モードがレポートされます。
このため、CDC (クロック乗せ換え) パスを確認し、新しい制約を追加して、一部のクロック関係を無視する必要があります。正しい制約は、クロックがデザインのどこでどのように動作するかによって異なります。
次の図の例に、マルチプレクサーを駆動する 2 つのクロックと、マルチプレクサーの前後でそれらのクロックに可能な関係を示します。
図 1. マルチプレクサーを介するクロック
- パス A、B、C が存在しない場合
clk0
およびclk1
は、マルチプレクサーのファンアウト (FDM0 および FDM1) でのみ関連性があります。clk0
およびclk1
に直接クロック グループ制約を安全に適用できます。set_clock_groups -logically_exclusive -group clk0 -group clk1
- パス A、B、C のいずれかしか存在しない場合
clk0
およびclk1
の両方またはいずれかは、マルチプレクサーを介するクロックと直接関連性があります。タイミング パス A、B、C を保持するために、制約をclk0
およびclk1
に直接適用することはできません。マルチプレクサーのファンアウトのクロック部分に制約を適用する必要があります。これには、クロック定義を追加する必要があります。create_generated_clock -name clk0mux -divide_by 1 \ -source [get_pins mux/I0] [get_pins mux/O] create_generated_clock -name clk1mux -divide_by 1 \ -add -master_clock clk1 \ -source [get_pins mux/I1] [get_pins mux/O] set_clock_groups -physically_exclusive -group clk0mux -group clk1mux