|
VGA驅(qū)動(dòng)接口時(shí)序設(shè)計(jì)之3時(shí)鐘約束 本文節(jié)選自特權(quán)同學(xué)的圖書《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 如圖8.26所示,F(xiàn)PGA產(chǎn)生的數(shù)據(jù)data_out和時(shí)鐘clk_out的理想波形是時(shí)鐘上升沿鎖存到穩(wěn)定可靠的數(shù)據(jù)。(特權(quán)同學(xué),版權(quán)所有)
圖8.26 源同步接口寄存器和時(shí)序波形關(guān)系 下面我們來探討如何對這個(gè)設(shè)計(jì)進(jìn)行約束。首先,對系統(tǒng)的輸入時(shí)鐘(25MHz)、PLL產(chǎn)生的時(shí)鐘進(jìn)行約束。約束腳本如下。(特權(quán)同學(xué),版權(quán)所有) create_clock -name {clk} -period 40.000 -waveform { 0.000 20.000} [get_ports {clk}] derive_pll_clocks –use_tan_name derive_pll_clocks語句將會(huì)自動(dòng)且準(zhǔn)確覆蓋PLL產(chǎn)生的所有時(shí)鐘路徑。在本實(shí)例中,以上的約束將會(huì)覆蓋如圖8.27所示的時(shí)鐘。(特權(quán)同學(xué),版權(quán)所有)
圖8.27 時(shí)鐘約束可覆蓋路徑 接著,對lcd_clk這個(gè)時(shí)鐘進(jìn)行約束,它需要約束為虛擬(virtul)時(shí)鐘,將會(huì)被用于output port上的數(shù)據(jù)鎖存時(shí)鐘。因?yàn)槲覀冞@個(gè)工程可能會(huì)用到25MHz的lcd_clk,也會(huì)用到50MHz的lcd_clk,因此我們以頻率更高的50MHz為例進(jìn)行說明。系統(tǒng)的50MHz是PLL的clk[1]輸出的,因此我們約束這個(gè)虛擬時(shí)鐘如圖8.28所示。(特權(quán)同學(xué),版權(quán)所有)
圖8.28 虛擬時(shí)鐘約束 對應(yīng)的腳本如下。(特權(quán)同學(xué),版權(quán)所有) create_generated_clock -name LCD_CLK -source [get_ports {vga_clk}] 這個(gè)虛擬時(shí)鐘將會(huì)在FPGA內(nèi)部對tx_data的reg2pin進(jìn)行時(shí)序分析時(shí)作為latch時(shí)鐘。實(shí)際對于一般的reg2reg路徑的分析,由于他們的launch和latch時(shí)鐘都在FPGA內(nèi)部,若像前面一樣做過時(shí)鐘的約束,那么FPGA對這些內(nèi)部的時(shí)鐘就已心知肚明,無需什么虛擬時(shí)鐘。而對于pin2reg或reg2pin的路徑分析,則一般都需要用戶指定一個(gè)符合相關(guān)時(shí)鐘要求的虛擬時(shí)鐘,這個(gè)虛擬時(shí)鐘就作為pin端的時(shí)鐘來分析時(shí)序,我們這里所約束的虛擬時(shí)鐘對應(yīng)的路徑如圖8.29所示。(特權(quán)同學(xué),版權(quán)所有)
圖8.29 虛擬時(shí)鐘路徑 如圖8.30所示,有了時(shí)鐘lcd_clk,我們才能對數(shù)據(jù)路徑進(jìn)行合適的約束。本例中,有兩條關(guān)于時(shí)鐘的路徑延時(shí),我們假設(shè)PLL輸出的時(shí)鐘是源和目的時(shí)鐘的起點(diǎn),以這個(gè)點(diǎn)為基準(zhǔn),時(shí)鐘到達(dá)源寄存器,其路徑延時(shí)為Tc2t;時(shí)鐘到達(dá)目的寄存器,即ADV7123芯片的引腳輸入端,其路徑延時(shí)為Tc2r,這個(gè)延時(shí)包括了時(shí)鐘從PLL輸出到FPGA引腳的延時(shí)以及時(shí)鐘從FPGA的引腳到ADV7123引腳的延時(shí),后者的延時(shí)是PCB走線產(chǎn)生的延時(shí)。再來看數(shù)據(jù)路徑,數(shù)據(jù)首先進(jìn)入源寄存器的輸入端口后,在源寄存器內(nèi)部經(jīng)過延時(shí)Tco,接著數(shù)據(jù)從源寄存器的輸出端口到FPGA引腳上的延時(shí)Tr2p,還有就是數(shù)據(jù)在PCB上的延時(shí)Tdpcb,最后在計(jì)算ADV7123的時(shí)序時(shí),我們必須將數(shù)據(jù)的建立時(shí)間Tsu和保持時(shí)間Th考慮在內(nèi)。(特權(quán)同學(xué),版權(quán)所有)
圖8.30 時(shí)序路徑模型 |