setup:在時鐘到來之前,數據保持穩定不變的時間,如果建立時間不夠,數據將不能在這個時鐘上升沿被打入觸發器。(Tlogic_min+Tclock_q_min >Tskew+Thold)(Tskew考慮時鐘樹向前偏斜的情況)
hold:在時鐘到來之后,數據保持穩定不變的時間, 如果保持時間不夠,數據同樣不能被打入觸發器。(Tclock>Tclock_q_max+Tlogic_max+Tseup+Tskew)(Tskew考慮時鐘樹向后偏斜的情況)
降頻一般是可以解決setup violation的,但是如果出現hold violation, 如果負slack的值比較大,一般要修改設計或約束,如果負slack值較小,可以在P&R階段通過insert buffer 來fix掉
在POST Sim或者STA時,用Worst Case下的延遲計算Setup。用Best Case下的最小延時計算Hold。
Worst Case:低電壓,高溫。
Best Case:高電壓,低溫。
在選擇工藝庫的時候,首先,要考慮時序,就是說要考慮選擇的元器件的Worst Case下,要能夠滿足時序要求。再次,在考慮低功耗。特別是對Memory的選擇。
recovery:有些類似于setup檢查,是指撤銷復位時,rst變到非復位狀態的電平必須在clk之前一定的時間到來,可以保證clk在采樣時,DFF處于非復位狀態
removal:有些類似與hold檢查,但又不完全相同,它是指復位時,rst在clk到來之后還需要維持的時間,否則會出現復位不成功
clock skew:clock在不同時序器件clk腳上的時間差異叫做clock skew
clock uncertainty:clock在時序器件clk腳上的不確定性,包括clock jitter和clock skew兩部分的總和.
clock transition:clock信號的skew時間。分為上升沿時間和下降沿時間。
clock gating:指門控時鐘。由于低功耗的要求,有些模塊會停止工作。通過停掉clock減少這些模塊的耗電.
clock jitter:clock源是芯片外部管腳引入或是內部PLL產生的。clock的每個周期時間都會有微小的偏差,這種偏差叫做clock jitter.
clock latency:clock源到時序器件的clk腳的延遲叫做clock latency.
clock tree:從一個clock源出發,clock網絡經過多級buffer,到達每個時序器件的clk腳。為了保證從clock源到每個器件clk腳的延時相差不多,clock在布局布線時做成樹形網絡結構,叫做clock tree
所謂抖動,就是指兩個時鐘周期之間存在的差值,這個誤差是在時鐘發生器內部產生的,和晶振或者PLL內部電路有關,布線對其沒有影響,如圖1-6-7。除此之外,還有一種由于周期內信號的占空比發生變化而引起的抖動,稱之為半周期抖動。總的來說,jitter可以認為在時鐘信號本身在傳輸過程中的一些偶然和不定的變化之總和。