Clock Penganalisis Waktu Mengaktifkan Multicycle

author-image

Oleh

Dengan set_multicycle_path Synopsys® Design Constraint (SDC) dan perintah get_fanouts, Anda dapat membuat pengecualian multicycle berdasarkan register aktif.

Gambar 1 menunjukkan sirkuit sederhana di mana enable_reg register digunakan untuk membuat sinyal yang diaktifkan terdaftar untuk register din_a_reg[7..0], din_b_reg[7..0], din_x_reg[7..0], din_y_reg[7..0], a_times_b, dan x_times_y.

Gambar 1. Desain aktif yang terdaftar sederhana.

Register aktifkan enable_reg menghasilkan pulsa aktif yang dua kali periode clock register dan, karenanya, pengecualian multicycle harus diterapkan untuk analisis yang benar. Pengaturan multicycle 2 dan multicycle hold 1 harus diterapkan ke register enable-driven yang diberikan oleh register enable_reg. Pengecualian multicycle diterapkan hanya untuk jalur register-to-register di mana register tujuan dikontrol oleh enable_reg.

Untuk mencapainya, Anda dapat menerapkan pengecualian set_multicycle_path untuk semua register yang didukung aktif. Metode ini biasanya membosankan, karena semua register enable-driven harus ditentukan. Atau, kombinasi set_multicycle_path dan get_fanouts dapat digunakan sebagai berikut:

#Setup multicycle 2 untuk register tujuan driven yang diaktifkan

set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end -setup

#Hold multicycle dari 1 register tujuan yang didukung

set_multicycle_path 1 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end –hold

Target pengecualian set_multicycle_path terbatas pada semua kipas register reg_en yang memberi umpan ke port pemberdayaan register, yang dilakukan dengan opsi berikut:

[get_fanouts [get_pins enable_reg|q*] -through [get_pins -hierarchical *|*ena*]]

Tabel 1 menunjukkan hubungan pengaturan dan penahanan baru dari semua jalur register-to-register yang didorong aktif dalam desain setelah pengecualian multicycle diterapkan.

Dari Tabel 1, perhatikan bahwa hubungan pengaturan dan penahanan yang dimulai dari register enable_reg dan berakhir di register yang didukung aktif secara beruratan masing-masing adalah 2 dan 1. Jika jalur ini tidak memerlukan hubungan pengaturan dan penahanan untuk dimodifikasi, Anda dapat menerapkan pengecualian multicycle berikut untuk menerapkan hubungan asli:

set_multicycle_path 1 -from [get_pins enable_reg|q*] –end -setup

set_multicycle_path 0 -from [get_pins enable_reg|q*] –end –hold

Unduh contoh sirkuit clock_enable_multicycle.qar.

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.