靜態(tài)時(shí)序分析基礎(chǔ)
建立時(shí)間,保持時(shí)間
為了確保寄存器在時(shí)鐘沿穩(wěn)定采集數(shù)據(jù),那么必須要滿足寄存器的建立,保持時(shí)間要求。
建立時(shí)間要求:在寄存器有效時(shí)鐘沿之前至少Tsetup時(shí)間,數(shù)據(jù)必須到達(dá)且穩(wěn)定。如下圖所示。
保持時(shí)間要求:在數(shù)據(jù)采集有效時(shí)鐘沿之后,數(shù)據(jù)必須維持最短Thold時(shí)間不變。如下圖所示。
建立時(shí)間裕量計(jì)算
同步時(shí)序電路如下圖所示。這里對(duì)后面一個(gè)寄存器進(jìn)行建立時(shí)間裕量分析。
其中寄存器的輸出延時(shí)為T(mén)cq,即時(shí)鐘有效沿之后延時(shí)Tcq時(shí)間,數(shù)據(jù)才到達(dá)寄存器Q端。第一個(gè)寄存器有效時(shí)鐘沿之后Tcq時(shí)間,數(shù)據(jù)才到達(dá)Q1端,如下圖所示。
再經(jīng)過(guò)組合邏輯運(yùn)算,得到數(shù)據(jù)C1,其中組合邏輯的延時(shí)為T(mén)logic。時(shí)序如下圖。
從這里可以看到,如果clk2和clk1之間沒(méi)有延時(shí)。那么對(duì)于后面的寄存器而言,數(shù)據(jù)提前于采樣時(shí)鐘沿之前Tcycle-(Tcq+Tlogic)時(shí)間到來(lái),且穩(wěn)定。其中Tcycle為時(shí)鐘周期。
由于寄存器要求的建立時(shí)間為T(mén)setup,故電路必須滿足 Tcycle -(Tcq+Tlogic)- Tsetup>0 。建立時(shí)間裕量 Tset_slack =Tcycle -(Tcq+Tlogic)- Tsetup
如果clk1與clk2之間存在skew,如下圖所示,如正skew。得建立時(shí)間裕量為
Tset_slack =Tcycle -(Tcq+Tlogic)- Tsetup + Tskew
這是對(duì)建立時(shí)間有益的。
保持時(shí)間裕量計(jì)算
在時(shí)鐘沒(méi)有skew的情況下。在后一個(gè)寄存器有效采樣時(shí)鐘沿之后,同時(shí)新的C1只有經(jīng)過(guò)Tcq+Tlogic之后才會(huì)到達(dá)。故要滿足保持時(shí)間要求,只需要滿足Tcq+Tlogic>Thold。保持時(shí)間裕量Thold_slack =Tcq+Tlogic-Thold
如果clk1與clk2之間存在skew。如下圖所示(正skew)。
可以看到,C1_NEW在clk2時(shí)鐘沿后,Tlogic+Tcq-Tskew就改變了。此時(shí)保持時(shí)間裕量Thold_slack =Tcq+Tlogic-Thold - Tskew 。可以看到,正skew對(duì)保持時(shí)間是無(wú)益的。
總結(jié)
可以看到,必須滿足建立時(shí)間要求和保持時(shí)間要求,級(jí)滿足如下關(guān)系式。
Tset_slack =Tcycle -(Tcq+Tlogic)- Tsetup + Tskew>0
Thold_slack =Tcq+Tlogic-Thold - Tskew > 0
從中可以看出,建立時(shí)間與保持時(shí)間要求是一對(duì)矛盾的關(guān)系,在設(shè)計(jì)電路時(shí),我們要折中考慮。
-
電路
+關(guān)注
關(guān)注
172文章
5852瀏覽量
171945 -
時(shí)鐘
+關(guān)注
關(guān)注
10文章
1721瀏覽量
131378 -
靜態(tài)時(shí)序
+關(guān)注
關(guān)注
0文章
19瀏覽量
6940
原文標(biāo)題:靜態(tài)時(shí)序分析基礎(chǔ)
文章出處:【微信號(hào):LF-FPGA,微信公眾號(hào):小魚(yú)FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論