目錄
1.時鐘抖動 clock jitter 與時鐘偏斜 clock skew
2.建立時間Tsu與保持時間Thold/Th
3.Tco/Tcq與Tcomb/Tlogic/Tdata
4.Tsu與Th所要滿足的關系
5.為什麼非阻塞指派延時一個時鐘
6.異步複位的recovery time(恢複時間檢查)和removal time(移除時間檢查)
1.時鐘抖動 clock jitter 與時鐘偏斜 clock skew
Clock Skew: The spatial variation in arrival time of a clocktransition on an integrated circuit;
Clock jitter: The temporal vatiation of the clock period at a givenpoint on the chip;
簡言之,skew通常是時鐘相位上的不确定,而jitter是指時鐘頻率上的不确定(uncertainty)[1]。
時鐘偏斜 clock skew
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBHL0FWby9mZvwVZnFWbp1zczV2YvJHctM3cv1Ce-cnW3BXbMBTRq5UejRVT2tGRNhXRE1Ue4MVWwJ1VaRXO5pld41WW2BjMipWN5NWMOJjYtZ1VaV3YzQ2M5knYtVzVhVXRHRGaSdVY0ZlMjVXUXlld4d0YxkTeMZTTINGMShUYvwlbj5yZtlmbkN3YuQnclZnbvN2Ztl2Lc9CX6MHc0RHaiojIsJye.jpg)
圖1
由于時鐘源到達不同寄存器所經曆路徑的驅動和負載的不同,導緻時鐘相位不同即造成的延時,是以就帶來了skew[2]。
如圖1,時序分析的起點是源寄存器(reg1),終點是目的寄存器(reg2)。時鐘信号從時鐘源傳輸到源寄存器的延時定義為 Tc2s,傳輸到目的寄存器的延時定義為Tc2d。時鐘網絡延時就定義為二者之差,即Tskew = Tc2d - Tc2s[1]。
Tc2s即clock to source,Tc2d即clock to destination
圖2
時鐘抖動 clock jitter
由于晶振本身穩定性,電源以及溫度變化等原因造成了時鐘頻率的變化,就是jitter,即時鐘周期的不穩定性。時鐘的邊沿變化不可能總是理想的瞬變,它會有一個從高到低或者從低到高的變化過程,實際的情況抽象出來就如圖3所示,時鐘信号邊沿變化的不确定時間我們稱之為時鐘抖動 clock jitter [2]。
圖3
2.建立時間Tsu與保持時間Thold/Th
建立時間:在觸發器的時鐘信号邊沿來臨之前,資料穩定不變的時間
保持時間:在觸發器的時鐘信号邊沿來臨之後,資料穩定不變的時間[3]
如果不滿足建立和保持時間的話,那麼DFF(D type flip-flop/D類型觸發器) 将不能正确地采樣到資料,将會出現亞穩态(metastability )的情況。如果資料信号在時鐘沿觸發前後持續的時間均超過建立和保持時間,那麼超過量就分别被稱為建立時間裕量和保持時間裕量(Slack/Margin)[4]。
圖4
3.Tco/Tcq與Tcomb/Tlogic/Tdata
Tco即Clock-to-Output Delay
資料輸出延時(Tco):這個時間指的是當時鐘有效沿變化後,資料從寄存器輸入端到輸出端的最小時間間隔[4]。下圖中的Tco=8ns.
圖5
Tcomb即Combinational Logic Delay組合邏輯延時。
圖6
4.Tsu與Th所要滿足的關系
圖7
Tclk +Tskew > Tsu + Tco +Tcomb
是以 SET UP margin = Tclk - Tco – Tcomb + Tskew - Tsu> 0
最大時鐘頻率即剛好上式等于0,Tclk = Tco + Tcomb - Tskew + Tsu
Tco + Tcomb – Tskew > Thold
是以 Hold ON margin = Tco + Tcomb – Tskew - Thold> 0
解決setup violation,可以從一下角度考慮:
1、Tclk(時鐘周期) : 增加Tclk,即降頻
2、Tcomb(觸發器之間組合邏輯延時): 減小Tcomb,即優化關鍵路徑組合邏輯,減小負載,或者增加一個觸發器來分割組合邏輯延時
3、Tskew(觸發器之間時鐘偏移):增加Tskew,即增加時鐘路徑的skew,可能會影響hold time violation
4、Tco 和 Tsu (庫中器件固定屬性):更換更快的标準單元庫,即hvt - > lvt。
解決hold violation,可以從一下角度考慮:
1、Tcomb :增加Tcomb,即增加組合邏輯延時,插入buffer。可能會影響setup violation
2、Tskew :減小Tskew,做好時鐘樹的balance
5.為什麼非阻塞指派延時一個時鐘
由上一步的時序分析圖就可以看出,由資料由reg1的輸出,由于Tco及Tdata的作用使得reg2不能在reg1鎖存的上升沿再鎖存了,而是等到下一個上升沿鎖存,且其保持時間就是靠Tco及Tdata的延時(減去Tskew),是以,非阻塞指派才延時一個時鐘。
6.異步複位的recovery time(恢複時間檢查)和removal time(移除時間檢查)
(1)recovery time:恢複時間
撤銷複位時,恢複到解複位狀态的電平必須在時鐘有效沿來臨之前的一段時間到來,才能保證時鐘能有效恢複到解複位狀态,此段時間為recovery time。類似于同步時鐘的setup time。
如下圖所示,rst_n為1’b0表示複位,clk上升沿觸發,rst_n從1’b0到1’b1的上升沿與時鐘上升沿必須不小于recovery time才能保證寄存器恢複到正常狀态。
(2)removal time :移除時間
複位時,在時鐘有效沿來臨之後複位信号還需要保持的時間為移除時間removal time。類似同步時鐘hold time。
如下圖所示,rst_n為1’b0表示複位有效,clk為上升沿觸發,rst_n保持為1’b0經過clk上升沿後仍需要保持一段時間,才能保證寄存器有效複位,防止亞穩态。[5]
圖8
參考資料
[1]時鐘屬性jitter和skew
[2]時鐘相關概念
[3]數字IC筆試題(4) ——Nvidia前端設計2018
[4]靜态時序分析(一):基本概念
[5]2020大疆校招晶片崗真題解析