引言
??本文主要介紹了靜態時序分析 STA。
一、靜態時序分析的相關概念
??靜態時序分析 STA(Static Timing Analysis)也稱靜態時序驗證,是一種以與輸入激勵無關的方式進行的,其目的是通過遍歷所有的傳輸路徑,尋找所有的組合邏輯電路的最壞延遲情況(以及毛刺、時鐘偏差等等),主要是通過檢查建立時間和保持時間是否滿足要求,而它們又是通過最大組合邏輯路徑延遲和最小組合邏輯路徑延遲的分析得到的。
??靜態時序分析是 VLSI 設計中非常重要的一個環節,它能夠驗證設計在時序上的正確性,并決定設計是否能夠在要求的工作頻率下運行(在 VLSI 設計中,動態時序驗證不僅有著難以承受的工作量和時間量,而且還難以保證足夠的覆蓋率,促使了時序分析技術從動態向靜態遷移)。
二、靜態時序分析的原因和路徑
??兩大靜態時序分析原因:
- 器件內延時:邏輯門、DFF 等等;
- 互連線延時:導線、時鐘等等。
??四大靜態時序分析路徑:
??其中,最關心的依舊是數據信號和時鐘上升沿之間的建立時間和保持時間的關系(不同的 FPGA 廠家的器件時序參數各有不同,同時也是固定的數值)。
三、靜態時序分析的優點和缺點
??靜態時序分析的優點:
- 執行速度快;
- 不需要測試向量;
- 測試覆蓋率可以近乎達到 100%;
- 能夠完成動態仿真所不能實現的復雜分析。
??靜態時序分析的缺點:
- 不能驗證設計的功能;
- 只能驗證同步時序電路的時序特性,如果設計中含有較多的異步電路,則應該通過門級動態仿真來驗證;
- 不能自動識別設計中的特殊路徑,如多周期路徑(Multi-Cycle Path)、非正常路徑(False Path)、多時鐘分配(Multiple Path)等等。
四、建立時間、保持時間在靜態時序分析中的要求
??建立時間、保持時間在靜態時序分析中的要求(這里不考慮時鐘偏差與時鐘抖動):時鐘周期應該大于寄存器最大傳播延時(從 D 觸發器的輸入數據被時鐘打入到 D 觸發器,到數據到達 D 觸發器輸出端的延遲時間)、組合邏輯最大延時與目標寄存器(D 觸發器)建立時間之和:Tcycle >= Tcq + Tlogic + Tsu。目標寄存器保持時間應該小于寄存器污染延時與組合邏輯污染延時之和:Th <= Tcq,cd + Tlogic,cd。保持時間希望中間的組合邏輯延時越大越好,反之,建立時間則希望中間的組合邏輯越小越好。
??寄存器最大傳播延時 Tcq,是指時鐘翻轉之后(0→1),數據從 D 觸發器的輸入端 D 到輸出端 Q 的最大延時;
??電路的線延時和組合邏輯最大延時 Tlogic,是指本級寄存器的輸出到達下一級寄存器的輸入之間的最大延時;
??最大延時和污染延時相互對應,污染延時表示最小延時的意思,一般添加后綴名 “cd” 加以表示;
五、建立時間裕量和保持時間裕量
- 建立時間裕量:Tsu_slack = Tcycle - Tcq - Tlogic - Tsu
- 保持時間裕量:Th_slack = Tcq,cd + Tlogic,cd - Th
- 以上二者都應該大于零
六、建立時間裕量和保持時間裕量
- 數據要求時間:Trequired = Tcycle - Tsu
- 數據到達時間:Tarrived = Tlogic + Tcq
- 裕量 = 數據要求時間 - 數據到達時間:Slack = Data Required Time - Data Arrival Time
建立時間裕量和保持時間裕量
七、FPGA 開發與 STA
??FPGA 開發軟件也是通過這種方法來計算系統最高運行速度 Fmax。因為 Tcq 和 Tsu 是由具體的器件工藝決定的,故設計電路時只能改變組合邏輯的延遲時間 Tlogic,所以說縮短觸發器間組合邏輯的延時時間是提高同步電路速度的關鍵所在。
??可以將較大的組合邏輯分解為較小的 N 塊,通過適當的方法平均分配組合邏輯,然后在中間插入 D 觸發器,并和原 D 觸發器使用相同的時鐘,就可以避免在兩個 D 觸發器之間出現過大的延時,消除速度瓶頸,這樣可以提高電路的工作頻率,這就是所謂的 "流水線" 技術的基本設計思想,即 “插入流水線”,從而提高 Fmax,加快系統工作速度,增大吞吐量。值得注意的是,流水線設計會在原數據通路上加入延時,另外硬件面積也會稍有增加,這也是面積換速度的基本設計思想。
-
時鐘
+關注
關注
11文章
1746瀏覽量
131690 -
時序邏輯電路
+關注
關注
2文章
94瀏覽量
16575 -
STA
+關注
關注
0文章
51瀏覽量
19004 -
VLSI
+關注
關注
0文章
73瀏覽量
42959 -
靜態時序分析
+關注
關注
0文章
28瀏覽量
9602
發布評論請先 登錄
相關推薦
評論