Contoh Clock Multiplexer Penganalisis Waktu

author-image

Oleh

Penganalisis Waktu memudahkan penggunaan perintah Synopsys® Design Constraint (SDC) untuk membatasi struktur clock yang kompleks, seperti clock multiplexed. Berikut ini menunjukkan tiga contoh sirkuit dan perintah SDC yang sesuai untuk membatasinya.

Gambar 1. Menunjukkan sirkuit register-to-register sederhana yang di-clock oleh port clk.

Asumsikan bahwa port clk didorong oleh multiplexer off-chip yang memilih antara dua clock, satu dengan periode 10 ns dan satu dengan periode 8 ns. Perintah SDC berikut menunjukkan cara menetapkan beberapa clock ke port clk. Ini juga menunjukkan cara menambahkan pengecualian yang menunjukkan bahwa dua clock tidak akan pernah aktif secara bersamaan di FPGA.

# Buat dua clock pada port
create_clock -name clk_100 -period 10 [get_ports clk]
create_clock -name clk_125 -period 8 [get_ports clk] -add
# Set the two clocks as exclusive clocks
set_clock_groups -exclusive -group {clk_100} -group {clk_125}

Gambar 2. Menunjukkan sirkuit register-to-register sederhana dengan clock multiplexer pada FPGA, dengan dua port clock: clkA dan clkB.

Asumsikan bahwa port clkA didorong oleh clock dengan periode 10 ns, dan port clkB didorong oleh clock dengan periode 8 ns. Perintah SDC berikut menunjukkan cara menetapkan clock. Contoh ini mirip dengan contoh sebelumnya, tetapi clock ditetapkan ke port terpisah.

# Buat clock pada setiap port
create_clock -name clk_100 -period 10 [get_ports clkA]
create_clock -name clk_125 -period 8 [get_ports clkB] -add
# Set the two clocks as exclusive clocks
set_clock_groups -exclusive -group {clk_100} -group {clk_125}

Gambar 3. Menunjukkan sirkuit clocking yang lebih kompleks dengan multiplexer clock yang terhubung di FPGA.

Dalam hal ini, Anda harus menggunakan perintah set_clock_groups untuk mengindikasikan bahwa clock A dan D, A dan B, C dan D, serta B dan C, tidak akan dapat aktif secara bersamaan.

create_clock -name A -period 10 [get_ports clkA]
create_clock -name B -period 8 [get_ports clkB]
create_clock -name C -period 8 [get_ports clkC]
create_clock -name D -period 10 [get_ports clkD]
# cut paths between clocks
set_clock_groups -exclusive -group {A C} -group {B D}

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.