电竞比分网-中国电竞赛事及体育赛事平台

分享

靜態(tài)時(shí)序分析的理解(建立時(shí)間、保持時(shí)間)

 雨在路上 2022-06-15 發(fā)布于廣東

一、概念

建立時(shí)間:觸發(fā)器(DFF)時(shí)鐘上升沿到來之前,數(shù)據(jù)需要保持穩(wěn)定的最小時(shí)間間隙就是建立時(shí)間。簡而言之,時(shí)鐘邊沿觸發(fā)前,要求數(shù)據(jù)必須存在一段時(shí)間, 這就是器件需要的建立時(shí)間。如不滿足建立時(shí)間,這個(gè)數(shù)據(jù)就不能被這一時(shí)鐘打入觸發(fā)器。
保持時(shí)間:觸發(fā)器(DFF)時(shí)鐘上升沿到來之后,數(shù)據(jù)需要保持穩(wěn)定的最小時(shí)間間隙就是保持時(shí)間。簡而言之,時(shí)鐘邊沿觸發(fā)后,數(shù)據(jù)也必須保持一段時(shí)間,以便能夠穩(wěn)定讀取, 這就是器件需要的建立時(shí)間。如果hold time 不夠,數(shù)據(jù)同樣不能被打入觸發(fā)器。
在這里插入圖片描述
?? 通過時(shí)序邏輯的Setup和Hold作約束,即可保證時(shí)鐘邊沿采集數(shù)據(jù)的穩(wěn)定狀態(tài),從而達(dá)成消除毛刺的目的。
??我們都知道數(shù)據(jù)是在時(shí)鐘信號(hào)上升沿的那一瞬間被打進(jìn)觸發(fā)器從而被采樣的,那么我們只需要在時(shí)鐘上升沿的那一瞬間或者那一小段時(shí)間保持穩(wěn)定不就行了?理論上這么想是沒問題的,但對(duì)于實(shí)際工程來講,這是幾乎不可能達(dá)到的。
??要分析這個(gè)問題,我們不妨先看一下D觸發(fā)器里面到底長啥樣,下圖是經(jīng)典上升沿D觸發(fā)器的內(nèi)部結(jié)構(gòu)圖:
在這里插入圖片描述
??與非門G1到G4是維持阻塞電路,G5和G6構(gòu)成一個(gè)RS觸發(fā)器用于數(shù)據(jù)的鎖存。如有不明白R(shí)S觸發(fā)器的真值表和工作機(jī)理的可以在網(wǎng)上找到資料,這里不再累述。
??圖中可以看到,時(shí)鐘信號(hào)直接作用在了G2和G3上面,也就意味著G2和G3是真正的采樣傳輸門電路,輸入信號(hào)應(yīng)該要正確的被G2和G3采樣后傳輸至后面的RS觸發(fā)器。我們注意到,數(shù)據(jù)在傳輸?shù)紾3之前經(jīng)過了G4,傳輸至G2之前經(jīng)過了G4和G1。我們知道,實(shí)際情況中信號(hào)經(jīng)過門電路是有延遲的。所以輸入信號(hào)在到達(dá)G2和G3之前經(jīng)過了G1和G4的延遲,因此就引入了建立時(shí)間的概念:建立時(shí)間就是為了補(bǔ)償信號(hào)在G1和G4上的延遲。也就是數(shù)據(jù)在時(shí)鐘沿來臨之前,需要足夠的建立時(shí)間讓信號(hào)經(jīng)過G1和G4到達(dá)G2和G3。觸發(fā)器的建立時(shí)間主要取決于G1和G4.
??那么保持時(shí)間呢?一樣的,上升沿來臨時(shí),數(shù)據(jù)通過G2和G3傳輸至后面的RS觸發(fā)器,但G2和G3也會(huì)存在延時(shí)。因此又引入了保持時(shí)間的概念:保持時(shí)間就是為了補(bǔ)償信號(hào)在G2和G3上的延遲。也就是數(shù)據(jù)在時(shí)鐘沿來臨之后,需要足夠的保持時(shí)間讓信號(hào)正確的從G2和G3傳輸至RS觸發(fā)器。觸發(fā)器的保持時(shí)間主要取決于G1到G4,進(jìn)而可以推斷出,一般D觸發(fā)器的保持時(shí)間比建立時(shí)間要長。
??建立時(shí)間和保持時(shí)間存在的意義就是為了使數(shù)據(jù)隨時(shí)鐘信號(hào)被準(zhǔn)確采樣。如果不滿足建立時(shí)間和保持時(shí)間會(huì)怎樣?很簡單,因?yàn)樵趥鬏數(shù)倪^程中數(shù)據(jù)并不是處于穩(wěn)定狀態(tài)而處于亞穩(wěn)態(tài)區(qū)(metastability ),則會(huì)導(dǎo)致采樣的數(shù)據(jù)可能會(huì)出錯(cuò)。

時(shí)鐘偏移 (clock skew)由于路徑延遲,同一個(gè)時(shí)鐘信號(hào)到達(dá)兩個(gè)不同的寄存器之間的時(shí)間差值,根據(jù)差值可以分為正偏移和負(fù)偏移。
在這里插入圖片描述
時(shí)間裕量(setup/hold slack)如果數(shù)據(jù)信號(hào)在時(shí)鐘沿觸發(fā)前后持續(xù)的時(shí)間均超過建立和保持時(shí)間,那么超過量就分別被稱為建立時(shí)間裕量和保持時(shí)間裕量。

最大時(shí)鐘頻率fmax:fmax = 1/Tmin ?? Tmin—— 最小時(shí)鐘周期
?? 電路正常工作時(shí),所允許的系統(tǒng)時(shí)鐘脈沖頻率最大值。下面會(huì)給出最大始終頻率計(jì)算方法。
時(shí)鐘抖動(dòng)(clock jitter):指的是時(shí)鐘周期的變化。指兩個(gè)時(shí)鐘周期之間存在的差值,這個(gè)誤差是在時(shí)鐘發(fā)生器內(nèi)部產(chǎn)生的,和晶振或者PLL內(nèi)部電路有關(guān),布線對(duì)其沒有影響。由于跟晶振本身的工藝有關(guān),所以在設(shè)計(jì)中無法避免它能帶來的影響,通產(chǎn)只能在設(shè)計(jì)中留有一定的margin。

二、時(shí)序分析

??分析Setup需要分析數(shù)據(jù)路徑時(shí)鐘路徑,下面結(jié)合一個(gè)比較經(jīng)典的模型來看看我們?cè)谶M(jìn)行電路設(shè)計(jì)的時(shí)候要如何去滿足建立時(shí)間和保持時(shí)間。
在這里插入圖片描述
??圖中,Tcomb表示兩個(gè)觸發(fā)器之間組合邏輯電路延時(shí)(可變,可通過電路優(yōu)化);Tskew1,Tskew2分別為CLK1處相和CLK2處對(duì)于原始CLK的時(shí)鐘偏移,clock skew主要是由于時(shí)鐘線存在長度而導(dǎo)致的時(shí)鐘偏移;Tco表示數(shù)據(jù)從輸入端到輸出端的最小時(shí)間間隔(屬于器件延時(shí));兩個(gè)D觸發(fā)器均為上升沿觸發(fā)。

??假設(shè)D觸發(fā)器的建立時(shí)間為Tsetup,保持時(shí)間為Thold,則存在如下關(guān)系式:
?????? Tsetup < = Tclk+Tskew-Tco-Tcomb (1)
?????? Thold < = Tco+Tcomb-Tskew (2)
其中:
??Tclk : 時(shí)鐘周期
??Tskew : Tclk2相對(duì)于Tclk1時(shí)鐘線上的延時(shí),Tskew=Tskew2-Tskew1
??Tco: DFF1觸發(fā)器從D端到Q端的時(shí)延
??Tcomb : 數(shù)據(jù)信號(hào)經(jīng)過組合邏輯電路的延時(shí)(例如緩沖器)

下圖是這個(gè)模型的時(shí)序圖,結(jié)合圖四我們可以推導(dǎo)出這兩個(gè)約束關(guān)系式。
在這里插入圖片描述
建立時(shí)間約束:
??(1)式的思想其實(shí)就是 在第二個(gè)時(shí)鐘沿(數(shù)據(jù)采樣邊沿)來臨之前,數(shù)據(jù)穩(wěn)定的時(shí)間一定要大于等于建立時(shí)間。因此在一個(gè)時(shí)鐘周期內(nèi),數(shù)據(jù)穩(wěn)定的時(shí)間為Tclk-Tco-Tcomb,因?yàn)闀r(shí)鐘也存在偏移,因此要把這個(gè)時(shí)鐘偏移加上,于是最后數(shù)據(jù)穩(wěn)定的時(shí)間為Tclk+Tskew-Tdq-Tcomb,滿足這個(gè)穩(wěn)定時(shí)間大于建立時(shí)間即可。

??理論上能夠承載的最大時(shí)鐘頻率為:f_max = 1/(Tsetup+Tco+Tcomb-Tskew)

保持時(shí)間約束:
??(2)式的思想為 在第二個(gè)時(shí)鐘沿(數(shù)據(jù)采樣邊沿)來臨之后,數(shù)據(jù)穩(wěn)定的時(shí)間一定要大于等于保持時(shí)間。因此在時(shí)鐘沿來臨之后,數(shù)據(jù)穩(wěn)定的時(shí)間為Tco+Tcomb,再減去時(shí)鐘偏移則為Tco+Tcomb-Tskew,滿足這個(gè)穩(wěn)定時(shí)間大于等于保持時(shí)間即可。

??為什么計(jì)算的時(shí)候要取第二個(gè)時(shí)鐘沿時(shí)刻來計(jì)算這些關(guān)系式,為什么不能取第一個(gè)是時(shí)鐘沿呢?這是由于在第一個(gè)時(shí)鐘上升沿通常是采集不到數(shù)據(jù)的,在Tclk1與Tclk2之間的時(shí)鐘偏移Tskew通常可以通過做時(shí)鐘樹將其控制的很小,一般在ps級(jí)別,而在有效數(shù)據(jù)通過數(shù)據(jù)路徑傳輸?shù)紻2時(shí),還要經(jīng)歷器件延時(shí)、組合邏輯延時(shí)和線延時(shí)等過程,而在這個(gè)過程中Tclk2的第一個(gè)時(shí)鐘邊沿早已過去,因此只能在下一個(gè)時(shí)鐘邊沿采集數(shù)據(jù)。

如果setup time violation或者h(yuǎn)old timeviolation應(yīng)該怎么辦?

  • Setup time violation solution:調(diào)整上述公式中的變量:Tclk, Tcomb,Tskew
    ? - 增大Tclk
    ????就是降低數(shù)字系統(tǒng)的工作頻率 (很多產(chǎn)品等級(jí),是根據(jù)頻率來分的;品質(zhì)好的芯片,頻率高,價(jià)格貴)
    ?-減少Tcomb:
    ????從數(shù)字電路邏輯功能設(shè)計(jì)的角度看
    ??????在組合電路之間插入寄存器,增加流水線(pipeline);
    ??????在不改變邏輯功能的前提下,對(duì)組合邏輯電路進(jìn)行優(yōu)化;
    ??????減少扇出或者負(fù)載;
    ????從數(shù)字物理版圖實(shí)現(xiàn)的角度看
    ??????更換速度更快的標(biāo)準(zhǔn)單元(HVT – High Voltage Threshold, SVT – Standard Voltage Threshold)
    ??????更換驅(qū)動(dòng)能力更強(qiáng)的標(biāo)準(zhǔn)單元(X2, X4)
    ??????跟換阻值更低的金屬層以減少標(biāo)準(zhǔn)單元電路的負(fù)載和金屬線網(wǎng)的延遲
    ?-增加Tskew
    ????在時(shí)鐘路徑上,插入buffer,增加時(shí)鐘路徑的延遲,但是不能影響hold timing。

  • hold time violation solution:
    ??-增大Tcomb
    ????在組合電路的數(shù)據(jù)傳輸路徑上,插入延遲單元(buffer),增加組合邏輯延遲;但是當(dāng)組合邏輯延時(shí)增加時(shí),setup time可能會(huì)出現(xiàn)違例。這時(shí)候就需要做平衡(balance)。由此可以看出setup和hold time是相互制約的。
    ??-減小Tskew
    ????時(shí)鐘樹調(diào)整,做好clock tree balance,hold就容易收斂。因?yàn)閔old time與時(shí)鐘周期沒有關(guān)系

三、擴(kuò)展等式關(guān)系

引入時(shí)間裕量,建立等式關(guān)系:
?????? Tsetup slack= Tclk+Tskew-Tsetup-Tco-Tcomb-Tnet ?? (1)
?????? Thold slack = Tco+Tcomb+Tnet-Thold-Tskew ?? ?? (2)
其中:
??Tnet為走線的延時(shí);
??Tsetup slack為建立時(shí)間裕量;
??Thold slack為保持時(shí)間裕量

對(duì)于有意義的時(shí)序約束,建立時(shí)間余量Tslack,setup和保持時(shí)間余量Tslack,hold都要大于0才行。故原有公式轉(zhuǎn)化如下:

??????Tclk > Tco+Tcomp+Tnet+Tsetup-Tskew ?? (1)

??????Tco+Tcomp+Tnet > Thold+Tskew ????? (2)

為了得到更加簡單的理解,我們按照常規(guī),忽略Tnet和Tskew。原因在于Tnet,Tskew通常太小。
??????Tclk > Tco+Tcomp+Tsetup ??(3)

??????Tco+Tcomp > Thold ????(4)

(3)式表明,數(shù)據(jù)從第一個(gè)觸發(fā)器采樣時(shí)刻傳到第二個(gè)觸發(fā)器采樣時(shí)刻,不能超過一個(gè)時(shí)鐘周期!假如數(shù)據(jù)傳輸超過一個(gè)時(shí)鐘周期,那么就會(huì)導(dǎo)致第二個(gè)觸發(fā)器開始采樣的時(shí)候,想要的數(shù)據(jù)還沒有傳過來。

對(duì)于(4)式兩邊同時(shí)加上Tsetup,得到(5):

??????Tco+Tcomp+Tsetup > Thold+Tsetup ?? (5)

結(jié)合(3)式和(5)式,我們得到如下的式子:

??????Thold+Tsetup < Tco+Tcomp+Tsetup < Tclk ?? (6)

Tco+Tcomp+Tsetup是指數(shù)據(jù)從第一級(jí)觸發(fā)器采樣瞬間開始,傳輸?shù)降诙?jí)觸發(fā)器并被采樣的傳輸延時(shí)。我們簡稱為數(shù)據(jù)傳輸延時(shí)。

(6)式右側(cè)Tco+Tcomp+Tsetup< Tclk表明 :約定數(shù)據(jù)傳輸延時(shí)不能太大,如果太大(超過一個(gè)時(shí)鐘周期),那么第二級(jí)觸發(fā)器就會(huì)在采樣的時(shí)刻發(fā)現(xiàn)數(shù)據(jù)還沒有到來。
(6)式左側(cè)Thold+Tsetup <Tco+Tcomp+Tsetup表明:約定數(shù)據(jù)傳輸延時(shí)不能太小。Thold+Tsetup的時(shí)間寬度叫做觸發(fā)器的采樣窗口,在窗口期內(nèi),D觸發(fā)器是脆弱的,對(duì)毛刺沒有免疫力的。假如數(shù)據(jù)傳輸延時(shí)特別小,那么就會(huì)發(fā)現(xiàn),當(dāng)?shù)诙?jí)觸發(fā)器開始采樣的時(shí)候,第一級(jí)觸發(fā)器的窗口期還沒有結(jié)束!也就是說,如果這個(gè)時(shí)候輸入端數(shù)據(jù)有變化,那么不僅第一級(jí)觸發(fā)器處于亞穩(wěn)態(tài),第二級(jí)觸發(fā)器也將處于亞穩(wěn)態(tài)!

綜上,可以知道,數(shù)據(jù)傳輸延時(shí)既不能太大以至于超過一個(gè)時(shí)鐘周期,也不能太小以至于小于觸發(fā)器采樣窗口的寬度。這就是靜態(tài)時(shí)序分析的內(nèi)涵。

參考:https://www.sohu.com/a/339791710_505888
http://blog.sina.com.cn/s/blog_78e87ba10102x14t.html
https://blog.csdn.net/dongdongnihao_/article/details/80951413

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多