IC君的第32篇原創(chuàng)文章 (歡迎關(guān)注公眾號 icstudy 和 知識星球哦)
眼看著國慶假期快結(jié)束了,大家應(yīng)該玩得都挺high的吧? 趁著快收假的時候,IC君寫了一篇相對輕松的文章,為假期結(jié)束之后的學(xué)習(xí)和工作熱熱身。這篇文章主要聊一下靜態(tài)時序分析和動態(tài)時序分析。在筆試或者面試中也會常常問到這個問題。
靜態(tài)時序分析(static timing analysis,STA)是遍歷電路存在的所有時序路徑,根據(jù)給定工作條件(PVT)下的時序庫.lib文件計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足約束要求,根據(jù)最大路徑延時和最小路徑延時找出違背時序約束的錯誤。

靜態(tài)時序分析的優(yōu)點:
不需要給輸入激勵;
幾乎能找到所有的關(guān)鍵路徑(critical path);
運(yùn)行速度快;
靜態(tài)時序分析的缺點:?
只適用同步電路;
無法驗證電路的功能;
需要比較貴的工具支持;
對于新工藝可能還需要建立一套特征庫,建庫的代價可能要幾百萬。
靜態(tài)時序分析的工具:
Synopsys的prime time,
Cadence的Encounter Timing System等
動態(tài)時序分析(dynamic timing analysis,DTA)通常是所有的輸入信號都會給一個不同時刻的激勵,在testbech(.sp或者.v)中設(shè)置一段仿真時間,最后對仿真結(jié)果進(jìn)行時序和功能分析。 這里的仿真可以是門級或者晶體管級,包括spice格式和RTL格式的網(wǎng)表。
如下圖所示的spice中給激勵的語句和波形:
動態(tài)時序分析的優(yōu)點
晶體管級的仿真比較精確,直接基于工廠提供的spice 工藝庫計算得到;
適用于任何電路,包括同步、異步、latch等等;
不需要額外搞一套特征庫;
不需要很貴的時序分析工具。
缺點:
需要給不同的測試激勵;
關(guān)鍵路徑無法檢查全 (致命性的);
規(guī)模大的電路spice仿真特別慢 (致命性的)。
動態(tài)時序的工具 :
spice仿真器: hspice, finesim, hsim, spectre等;
verilog仿真器: ModelSim,VCS,NC-Verilog,Verilog-XL等。
從上面的分析可以看出,靜態(tài)時序的主要缺點是燒錢,需要很貴的工具。這一點國內(nèi)的公司也容易解決,要么融資很多不差錢,要么用盜版。
而動態(tài)時序分析有2個致命性的缺點:關(guān)鍵路徑無法檢查全意味著里面可能有fail的path,芯片流片出來無法工作;仿真特別慢意味著你的schedule可能受到影響,無法按時交貨。所以動態(tài)時序分析只適用于小規(guī)模的電路,通過給激勵就能完成時序的檢查,同時仿真的時間還能接受。
那么如何從動態(tài)時序分析轉(zhuǎn)到靜態(tài)時序分析呢?需要可以靜態(tài)時序分析的庫文件和靜態(tài)時序分析軟件。
靜態(tài)時序分析的庫文件可以通過
Cadence的Liberate, ENCOUNTER LIBRARY CHARACTERIZER,
Synopsys的NanoTime , SiliconSmart等建庫工具來生成。

以上圖的liberate為例,只要提供spice格式的netlist和models,就可以生成業(yè)界標(biāo)準(zhǔn)的.lib文件。下圖中示意的模塊都可以生成哦:

有了這些.lib文件,再生成一個verilog的門級網(wǎng)表,我們就可以做靜態(tài)時序分析啦!
強(qiáng)烈推薦一下IC君的知識星球(文件、討論都可以長期保存),在這里你可以得到:
提供公眾號文章所分享技術(shù)更多的細(xì)節(jié)和實現(xiàn)方法,包括文檔、電路、RTL代碼、腳本等;
星球成員不斷積累的優(yōu)質(zhì)內(nèi)容分享和討論;
回答星球成員提出的IC相關(guān)問題
優(yōu)質(zhì)分享的現(xiàn)金紅包贊賞;
可能的技術(shù)分享、讀書分享、項目實戰(zhàn)。
