|
VGA驅(qū)動接口時序設計之4建立和保持時間分析 本文節(jié)選自特權同學的圖書《FPGA設計實戰(zhàn)演練(邏輯篇)》 配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 下面我們可以簡單的來分析一下數(shù)據(jù)的建立時間和保持時間應該滿足怎樣的關系才能保證被時鐘lcd_clk穩(wěn)定的鎖存到ADV7123芯片中。首先,我們需要來看看這個實例的時鐘launch edge和latch edge的概念。如圖8.31所示,這是一個源寄存器和目的寄存器傳輸時鐘一致的理想路徑,他們所對應的launch edge和latch edge的示意。我們可以這么理解,對于setup時間,launch edge是latch edge的上一個時鐘節(jié)拍,latch edge通常是要去采樣launch edge已經(jīng)采樣過的數(shù)據(jù)。而對于hold時間,launch edge和latch edge通常是同一個時鐘沿,latch edge的hold時間不被冒犯,也就意味著latch edge不采樣它前一拍的數(shù)據(jù)。(特權同學,版權所有)
圖8.31 時鐘launch edge和latch edge 對于建立時間,有基本的時序關系需要滿足,其公式如下: Launch edge + Tc2t + Tco + Tr2p+Tdpcb < latch edge + Tc2r - Tsu 對于保持時間,有基本的時序關系需要滿足,其公式如下: Launch edge + Tc2t + Tco + Tr2p +Tdpcb> latch edge + Tc2r + Th 前面我們已經(jīng)約束好了源時鐘和目的時鐘(虛擬時鐘),因此,latch edge和launch edge都是FPGA已經(jīng)明確的時序參數(shù)。同樣的,Tco、Tc2t、Tr2p和Tc2r的FPGA內(nèi)部的延時,也都是FPGA能夠本身就能夠確定的,并且FPGA會通過設計者的約束,來控制這些內(nèi)部的時序延時,使得前面給出的兩個基本公式得到滿足。但是,F(xiàn)PGA并不知道這兩個公式中FPGA外部的路徑延時參數(shù),所以我們下一步的數(shù)據(jù)路徑約束要做的就是把這些參數(shù)告訴FPGA。Quartus II軟件內(nèi)部集成的TimeQuest中的set output delay約束的功能就是要傳遞這個信息。我們下面來看看set output delay的值如何計算。(特權同學,版權所有) 如圖8.32所示,這是Altera的Handbook給出了set output delay的max和min值計算方法。
圖8.32 Altera官方給出的reg2pin時序分析模型 這個路徑中,output delay參數(shù)值的計算公式如下: output delay max = dd_max + tsu_ext +(cd_altr_min - cd_ext_max) output delay min = dd_min – th_ext +(cd_altr_max – cd_ext_min) 都說具體問題具體分析,如果我們不問青紅皂白,依葫蘆畫瓢的照搬這個模型的公式進行計算,我們往往要碰一鼻子灰,很多參數(shù)我們可能找不到或者找錯了。那么,對于每一個特定的路徑,我們往往需要根據(jù)實際情況進行適當?shù)淖兺ǎf變不離其宗,reg2pin的分析原理和官方給出的這個模型肯定是一致的。下面我們變通一下,看看我們的實例又是如何做分析的。(特權同學,版權所有) |