# Static Timing Analysis --- ## 什麼是STA? STA全名為Static Timing Analysis,中文稱作靜態時序分析,是一種不需要透過模擬時間周期就能判斷該電路是否滿足設計的Timing Spec. ### 原理 先抓取時序起點和終點、IO port、暫存器/鎖定器,並透過從起點到終點的時序路徑去追每段delay,將路徑的delay與clock 進行比較,以查看是否滿足 constraints。同時建立hold time並檢查是否violation,並檢查 transition violations等。此方式僅聚焦在<font color="#f00">時序表現的分析,並不涉及設計的邏輯功能</font>。 ### 限制 1. 必需工作在同步邏輯電路(Synchronous logic) 2. 很難學習(分析每個cell或電路很麻煩) 3. 要花時間定義每條電路的時序需求 4. 很難分析multiple clock、false path、latch、multicycle path ### 差別 我們知道最常見分析時序的方式是DTA和STA。 - DTA是針對實際應用去分析(spice-level/gate-level simulation) >方式: 利用netlist+sdf得到gate跟net的delay。 >舉例: 真實應用功能驗證、頻率的動態切換、跨時脈域訊號同步確認、上下電的順序確認。 >優點: 驗證邏輯的功能性(貼近真實結果)+分析時序。 >缺點: 分析慢,需要大量測試pattern,並且可能會有沒測到(完)的地方、無法分析crosstalk、noise(glitch)、on-chip variations。 - STA是針對單純時序作分析 >方式: 利用netlist+sdc做時序分析,給定sdc(環境、時序約束)分析chip在此模擬狀態下的timing。 >舉例: 使用PrimeTime做STA,可以分析crosstalk、noise(glitch)、on-chip variations...等。 >優點: 分析快,成本低,完整驗證電路每個地方。 >缺點: 較悲觀(pessimism),實際應用可能不會發生,且邏輯功能並沒有驗證到。 兩者在設計IC都是需要的,通常是會在設計電路的同時做STA,確定有一版出來後再做DTA。 因此會做很多次的STA(Pre-sim/Post-sim)跟少次的DTA(Post-sim)。 ><font color="#f00">時序分析=動態時序分析+靜態時序分析</font> ### STA涉及的三個主要步驟 1. Design is broken down into sets of timing paths. 2. Delay of each path is calculated. 3. Path delay are checked to see if timing contraints have been met. 簡單來說,<font color="#f00">將timing path切成很多段</font>,仍要符合constraints。 ### STA涉及的三個設定 1. wire setting: - Rre-sim: Ideal wire, wire load model(WLM)。 - Post-sim: 近似RC值的gobal layout或具有精確RC值的real layout。 2. clock setting:ideal clock(零延遲)或是Propagation delay(實際延遲)。 3. other setting: signal coupling、crosstalk noise。 ### 四種 clock paths 分別是: In2reg, reg2reg, reg2out, in2out。 | Path Type | Start Point | End Point | | -------- |-------- | -------- | | Input | Input Port | Register Non Clock pin | | Reg2Reg | Register Clock pin | Register Non Clock pin | | Output | Register Clock pin | Output port | | Combo | Input Port | Output port | <font color="#f00">起點必須是clock</font>,<font color="#f00">終點不能是clock</font> !!! <div style="page-break-after:always"></div> ### STA做法 - 用Start point跟End point將電路切割成不可計數條timing path。 - 每條timing path都有one start point、one end piont、many standard cell(或是自行設計元件...這部分參數需要跟foundry合作)、many net。 - STA: - 根據cell的輸入transition跟output loading,從設定的technology lib裡讀取standard cell的delay跟output transition,或從technology lib裡讀取對應的參數,依據CCS model/NLDM model計算cell的delay跟輸出的transition。 - 根據讀入的SPEF將RC值標註到每段net上,並根據net delay計算模型計算net的delay。 - 得到整條timing path的delay後,再跟客戶所訂下的spec.來比對時序,確定每條timing path是否滿足客戶需求。簡而言之,也就是下constrain看timing滿不滿足spec.。 ### CCS model vs. NLDM model 這部分請參看PrimeTime筆記,STA的signoff tool就是PrimeTime。 ### Refence: 1. [Static Timing Analysis for Nanometer Designs](https://vlsitesting.files.wordpress.com/2017/02/ref-for-unit6.pdf) 2. [KuoGavin's study](https://blog.csdn.net/yueguangmuyu/category_11910473.html)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up