Banyak clock yang dapat ada dalam desain; namun, tidak semua clock berinteraksi satu sama lain, dan interaksi clock tertentu tidak mungkin dilakukan. Clock asynchronous adalah clock yang tidak terkait (clock asynchronous memiliki sumber clock ideal yang berbeda). Clock eksklusif tidak aktif secara bersamaan (misalnya, clock multiplexed). Eksklusivitas bersama harus dinyatakan ke Timing Analyzer untuk mencegahnya menganalisis interaksi clock ini.
Anda dapat menggunakan perintah set_clock_groups untuk menentukan clock yang eksklusif atau asynchronous. Daftar berikut menunjukkan perintah set_clock_groups, termasuk opsi yang tersedia:
set_clock_groups [-asynchronous | -exclusive] -group <clock name> -group <clock name> [-group <clock name>] ...
Tabel 1 menguraikan opsi untuk perintah set_clock_groups.
Tabel 1. Deskripsi Opsi untuk Perintah set_clock_groups
Deskripsi | Opsi|
---|---|
-asynchronous | Clock asynchronous adalah yang sepenuhnya tidak terkait (misalnya, memiliki sumber clock ideal yang berbeda) |
-eksklusif | Clock eksklusif tidak digunakan secara aktif dalam desain di secara bersamaan (misalnya, clock multiplexed) |
nama -group <clock> | Menentukan nama clock tujuan yang valid yang saling eksklusif. nama <clock> digunakan untuk menentukan nama clock. |
Contoh berikut menunjukkan perintah set_clock_groups dan perintah set_false_path yang setara.
# Clock A & C tidak pernah aktif ketika clock B & D aktif set_clock_groups -exclusive -group {A C} -group {B D} # Spesifikasi yang setara menggunakan jalur palsu set_false_path -dari [get_clocks A] -hingga [get_clocks B] set_false_path get_clocks dari set_false_path dari [get_clocks A] hingga [get_clocks D] dari [get_clocks C] hingga [get_clocks B] set_false_path dari [get_clocks C] -ke [get_clocks D] set_false_ dari set_false_path [get_clocks B] -ke [get_clocks A] dari [get_clocks B] -ke [get_clocks C] set_false_path dari [get_clocks D] menjadi [get_clocks A] set_false_path dari [get_clocks D get_clocks]