Membatasi Keluaran Sinkron Sumber Edge-Aligned

author-image

Oleh

Dalam antarmuka output yang sinkron sumber, FPGA sumber clock untuk perangkat tujuan. Dalam antarmuka sinkron sumber yang sejajar edge, transisi clock terjadi secara bersamaan dengan transisi data. Gambar 1 menunjukkan antarmuka output sampel yang sinkron sumber.

Gambar 1. Antarmuka keluaran sinkron sumber.

Gunakan langkah-langkah berikut untuk membatasi antarmuka keluaran sinkron sumber yang diselaraskan edge:

  1. Membuat clock dasar dan yang dihasilkan
  2. Tambahkan batasan penundaan output
  3. Tambahkan pengecualian jalur palsu untuk mengecualikan jalur yang tidak valid dari analisis waktu dan pelaporan

Untuk detail lebih lanjut tentang salah satu langkah ini, atau perhitungan dan batasan yang dijelaskan di bawah ini, lihat Batasan dan Analisis Antarmuka Sumber-Sinkron (PDF).

Jam

Clock dasar diperlukan pada port input FPGA.

Clock yang dihasilkan diperlukan pada semua keluaran phase-locked loop (PLL). Output sinkron sumber dengan kecepatan data ganda yang diselaraskan edge menyelaraskan clock output dengan clock data.

Clock yang dihasilkan diperlukan pada port clock keluaran FPGA. Clock yang dihasilkan adalah referensi clock untuk nilai penundaan output untuk bus data.

Batasan Penundaan Output

Anda dapat menggunakan spesifikasi sate maksimum untuk menghitung nilai tunda output. Spesifikasi skew maksimum mengindikasikan variasi waktu yang diizinkan untuk setiap bit bus data untuk meninggalkan FPGA.

Nilai penundaan maksimum output adalah periode clock - nilai skew maksimum.

Nilai keterlambatan minimum output adalah nilai sate maksimum.

Pengecualian Jalur Palsu

Dalam contoh yang diselaraskan edge ini, data ditransfer pada transisi rise-rise and fall-fall source dan clock tujuan. Gunakan pengecualian jalur palsu untuk mengurangi transisi clock rise-fall dan fall-rise, karena data tidak ditransfer pada transisi clock edge yang berlawanan.

Contoh File SDC

# Buat clock dasar pada port input FPGA, dengan periode 10 ns
create_clock -name input_clock -periode 10 [get_ports clk_in]

# Membuat clock yang dihasilkan pada output PLL
# Output clk[0] mendorong register data
# Output clk[1] mendorong port clock output
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
[get_pins pll|clk[0]]
create_generated_clock -name clock_clock -source [get_pins pll|inclk[0] \
[get_pins pll|clk[1]] # Buat clock yang dihasilkan pada port clock output FPGA create_generated_clock
-name output_clock -source [get_pins pll|clk[1]] \
[get_ports clk_out]

# Tambahkan batasan penundaan output maksimum dan minimum #
dengan asumsi persyaratan miring +/- 250ps
# Gunakan persamaan untuk nilai tunda output yang tercantum di atas
set_output_delay -max -clock output_clock [expr { 10 - 0,250 }] \
[get_ports data_out*]
set_output_delay -max -clock output_clock -clock_fall \
[expr { 10 - 0,250 }] [get_ports data_out*] -add
set_output_delay -min -clock output_clock 0,250 [get_ports data_out*]
set_output_delay -min min -clock output_clock -clock_fall 0,250 \
[get_ports data_out*] -add

# Tambahkan pengecualian jalur palsu untuk transfer lintas clock set_false_path
-setup -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -setup -end -fall_from [get_clocks data_clock] \
-rise_to [get_clocks output_clock]
set_false_path -hold -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -hold -end -fall_from
[get_clocks data_clock] \ -rise_to [get_clocks output_clock]

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.