(轉)讓你徹底理解:靜態時序分析


估計面試的時候都會讓大家解釋一下建立時間和保持時間,幾乎所有人都能背出來。建立時間(setup time):時鍾的有效沿到來之前數據必須提前穩定的時間。保持時間(hold time):時鍾有效沿到來之后數據必須繼續保持穩定的時間。

我們知道,整個ASIC設計流程主要兩個目的:功能和性能。 除了要保證設計的功能,另外一個就是要保證性能。性能通俗的講,主要是看電路跑得多快,也就是時鍾頻率有多高。保證性能的方法就是通過靜態時序分析保證電路能夠跑到要求的頻率。而靜態時序分析(Static Timing Analyze),其本質是檢查電路中所有寄存器是否滿足工藝庫規定的固有建立時間和保持時間。可咋一看,寄存器的建立保持時間跟時鍾周期是沒有關系的。因此,帶着這些困惑,我們一起來了解一下靜態時序分析的真正原理。

首先,所有電路都可以抽象成上圖的形式,這是因為RTL(Register Transition Level)代碼描述的是寄存器的傳輸行為,信號從DFF1通過組合邏輯CMB的行為,傳輸到DFF2。另外,靜態時序分析都是假設所有信號每個周期都可能變化,也就是單周期檢查。這樣,D1從時鍾沿開始,DFF1出來,通過組合邏輯CMB,下一個時鍾沿,D2要能正確寄存在DFF2中,就需要滿足建立和保持時間的要求。 因此, D1從時鍾CK的上升沿開始,通過DFF1的CK->Q的延時Tck,組合邏輯的延時Tcmb,在第二個CK上升沿分析DFF2的建立和保持時間。


建立時間:Tx1 = T – Tck -Tcmb > Tsetup    Tck + Tcmb + Tsetup  < T
如果考慮時鍾的Skew,也就是CK1和CK2的時鍾沿不是同時到達,對於悲觀的影響,也就是CK2比CK1要提前到來Tskew時間,則
Tck + Tcmb + Tsetup + Tskew < T    Tcmb < T – Tck – Tsetup – Tskew
因此,建立時間與時鍾周期扯上關系了,也就是約束了組合邏輯的延時不能太大。
當然,對於樂觀的Tskew,也就是CK2比CK1要晚到,這是有利於建立時間的,通過這個原理,可以在做時鍾樹時,特意的加大這個Tskew來修復建立時間違規,這就是后端常用的Useful skew技術。
保持時間:Tx2 = Tck + Tcmb > Thold
如果考慮時鍾Skew悲觀的影響,也就是CK2比CK1要晚到來Tskew時間,
Tck + Tcmb > Thold + Tskew    Tcmb > Thold +Tskew – Tck
因此,保持時間與時鍾周期是沒有關系的,它約束了組合邏輯的延時不能太小。
    綜上所述,靜態時序分析,就是來約束電路中所有路徑的以下關系,通俗的講,就是組合邏輯的延時不能太大,也不能太小。

Thold + Tskew – Tck  <  Tcmb  <  T – Tck – Tsetup – Tskew

 

注:作者:wayne_cao  E課網知名講師

參考文獻:

[1] 讓你徹底理解:靜態時序分析.http://www.eecourse.cn/article/120.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM