《我們之中VR》預告公佈 今年年底發售
阿新 • • 發佈:2022-04-21
在FPGA 做系統同步輸入介面的情況下,很多時候上游器件送入的資料並不是跟某個FPGA 中已經存在的真實的時鐘相關,而是來自於一個不同的時鐘,這時就要用到虛擬時鐘(Virtual Clock)。
舉例來說,上游器件用一個100MHz 的時鐘送出資料到FPGA,實際上這個資料每兩個時鐘週期才變化一次,所以可以用50MHz 的時鐘來取樣。FPGA 有個100MHz 的輸入時鐘,經過MMCM 產生一個50MHz 的衍生時鐘,並用其來取樣上游器件送來的同步資料。當然,系統級的設計上,必須有一定的機制來保證上游器件中的傳送時鐘和FPGA 中的接收時鐘的時鐘沿對齊。
此時,我們可以藉助虛擬時鐘的幫助來完成相應的Input 介面約束。
create_clock -period 10 -name clk_100 [get_ports i_clk_100MHz] ;
create_clock -period 20 -name clk_50_virtual ;
set_input_delay -max 5.2 -clock clk_50_virtual [get_ports i_data_50] ;
set_input_delay -min 2.0 -clock clk_50_virtual [get_ports i_data_50] ;