Antarmuka input yang sinkron sumber dibatasi dengan cara yang sama seperti antarmuka input yang sinkron sistem. FPGA menerima clock dan menggunakan clock tersebut untuk memasukkan data. Dalam antarmuka sinkron sumber yang sejajar edge, transisi clock terjadi secara bersamaan dengan transisi data. Gambar 1 menunjukkan antarmuka input sampel yang sinkron sumber.
Gunakan langkah-langkah berikut untuk membatasi antarmuka input sinkronis sumber yang diselaraskan edge:
-
Membuat clock virtual, dasar, dan dihasilkan
-
Tambahkan batasan penundaan input
-
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 href="/literature/an/an433.pdf">AN 433: Membatasi dan Menganalisis Antarmuka Sumber-Sinkron (PDF).
Jam
Clock virtual memodelkan clock di perangkat eksternal yang mendorong data mendaftar untuk mengirimkan data ke FPGA.
Clock dasar diperlukan pada port input FPGA. Clock dasar menjelaskan karakteristik clock pada input clock FPGA.
Clock yang dihasilkan diperlukan pada semua keluaran phase-locked loop (PLL). Dalam antarmuka input sinkron sumber yang diselaraskan edge, PLL harus mengubah clock yang diterima sebesar 90 derajat untuk memenuhi persyaratan waktu internal register penangkapan data.
Batasan Penundaan Input
Anda dapat menggunakan spesifikasi sate maksimum untuk menghitung nilai tunda input. Spesifikasi skew maksimum menunjukkan variasi waktu yang diizinkan untuk bit masing-masing bus data untuk tiba di FPGA.
Nilai keterlambatan maksimum input adalah nilai sate maksimum.
Nilai dari keterlambatan minimum yang dimasukkan adalah -maximum skew value.
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 virtual untuk menjelaskan clock data di # perangkat eksternal create_clock -nama virt_clk -periode 10 # Buat clock dasar pada port input FPGA, dengan periode 10 ns create_clock -name input_clock -period 10 [get_ports clk_in] # Buat clock yang dihasilkan pada output PLL create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \ -phase 90 [get_pins pll|clk[0]] # Tambahkan maksimum dan batasan penundaan input minimum # dengan asumsi persyaratan miring +/- 250ps # Gunakan persamaan untuk nilai tunda input yang tercantum 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 # Tambahkan pengecualian jalur palsu untuk transfer 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 -end -end -fall_from [get_clocks virt_clk] \ -fall_to [get_clocks data_clock]