Sistem input yang sinkron sumber dibatasi dengan cara yang sama seperti seperti input yang sinkron sistem. FPGA clock dan clock clock lebih baik untuk data. Dalam antariksa sinkron sumber yang diselaraskan pusat, clock transisi terjadi di tengah jendela data yang valid. Gambar 1 menunjukan input sampel yang sinkron sumber.
Gunakan langkah-langkah untuk berikut dengan memasukkan antar muka sumber-sinkron yang diselaraskan pusat:
- Clock virtual, dasar, dan ruang pembuatan
- Input menambahkan batasan penundaan
- Tambah jalur pengecualian untuk mengecualikan jalur yang tidak valid dari analisis waktu dan pelaporan
Untuk detail lebih lanjut tentang salah satu langkah ini, atau pengintaian dan batasan yang di bawah ini, lihat AN 433: Pembatasan dan Analisa Satu Langkah Sumber (PDF).
Selai
Clock virtual memodelkan clock di alat data yang dialihkan untuk data data yang dikirim ke FPGA.
Input clock dasar dibutuhkan port pada FPGA. Clock dasar karakter karakter clock pada clock input FPGA. Jika clock masukan di tengah data selaras dengan, Anda harus pakai opsi -waveform untuk tepi clock naik dan turun yang sesuai shift fase clock.
Clock yang berdampak baik pada keluaran phase-locked loop (PLL).
Batasan Penundaan Input
Anda dapat sate sate secara maksimum untuk nilai tunda input. Data bus bermigrasi secara luas mengindikasikan variasi waktu yang memungkinkan untuk data bus masing-masing bit untuk tiba di FPGA.
Nilai keterlambatan maksimum input adalah nilai sate maksimum.
Nilai dari keterlambatan minimum yang berarti nilai sate maksimum.
Pengecualian Jalur Palsu
Dalam contoh yang diselaraskan pusat ini, ditransfer data pada clock transisi clock rise-rise dan fall-fall serta. Gunakan pengecualian jalur palsu untuk transisi clock rise-fall dan fall-rise, data tidak ditransfer pada transisi clock edge yang berlawanan.
Contoh File SDC
# Buat clock virtual untuk data clock clock di # alat dialihkan. create_clock -name virt_clk -periode 10 # Buat clock dasar pada port input FPGA, dengan periode 10 ns # dan pergeseran fase 90 derajat karena disejajarkan tengah create_clock -nama input_clock -periode 10 -waveform { 2,5 7,5 } [get_ports clk_in] # Buat hasil clock pada keluaran PLL create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \ [get_pins pll|clk[0]] # Minimum input maksimum dan batasan penundaan # dengan asumsi giring +/- 250ps # Gunakan persamaan untuk nilai tunda input yang di atas set_input_delay -max -clock virt_clk 0.250 [get_ports data_in*] set_input_delay -min -clock virt_clk -0.250 [get_ports data_in*] set_input_delay -max -clock virt_clk \ clock_fall \ 0.250 [get_ports data_in*] -add set_input_delay -min -clock virt_clk -clock_fall \ -0.250 [get_ports data_in*] -add # Penamaan jalur pengecualian untuk mentransfer cross-clock set_false_path -setup -end -rise_from [get_clocks virt_clk] \ -fall_to [get_clocks data_clock] set_false_path -setup -end -fall_from [get_clocks virt_clk] \ -rise_to [get_clocks data_clock] set_false_path -hold -end -rise_from \ -get_clocks virt_clk rise_to [get_clocks data_clock] set_false_path fall_from -end -get_clocks virt_clk] \ -fall_to [get_clocks data_clock]