STA靜態(tài)時(shí)序分析(Static Timing Analysis) STA功能 (1) 靜態(tài)時(shí)序分析是一種驗(yàn)證數(shù)字集成電路時(shí)序是否合格的驗(yàn)證方法; (2) 靜態(tài)時(shí)序分析的前提是同步邏輯設(shè)計(jì)(重要!),不能分析異步電路; (3) 靜態(tài)時(shí)序分析工具計(jì)算路徑延遲的總和,并比較相對(duì)于預(yù)定義時(shí)鐘的延遲; (4) 靜態(tài)時(shí)序分析僅關(guān)注時(shí)序間的相對(duì)關(guān)系,而不是評(píng)估邏輯功能; (5) 靜態(tài)時(shí)序分析對(duì)所有的時(shí)序路徑進(jìn)行錯(cuò)誤分析,不需要使用測(cè)試向量激活某個(gè)路徑(與時(shí)序仿真的不同點(diǎn)),分析速度比時(shí)序仿真工具快幾個(gè)數(shù)量級(jí),克服了動(dòng)態(tài)時(shí)序驗(yàn)證的缺陷,適合大規(guī)模的電路設(shè)計(jì)驗(yàn)證,在同步邏輯情況下,能夠達(dá)到100%的時(shí)序路徑覆蓋; (6) 靜態(tài)時(shí)序分析的目的是找到隱藏的時(shí)序問(wèn)題,根據(jù)時(shí)序分析結(jié)果優(yōu)化邏輯或者約束條件,使設(shè)計(jì)達(dá)到時(shí)序閉合(Timing Closure); (7) 靜態(tài)時(shí)序分析能夠識(shí)別的時(shí)序故障:建立時(shí)間(Setup)/保持時(shí)間(Hold)/恢復(fù)時(shí)間(Recovery)/移除時(shí)間(Removal)檢查;最小跳變和最大跳變;時(shí)鐘脈沖寬度、時(shí)鐘畸變(Skew、Jitter);總線競(jìng)爭(zhēng);不受約束的邏輯通道;關(guān)鍵路徑;約束沖突等; STA :時(shí)序路徑覆蓋率 100%,窮盡所有時(shí)序路徑,驗(yàn)證時(shí)序; 形式驗(yàn)證:驗(yàn)證功能; 參考: 數(shù)字IC前端設(shè)計(jì)流程及工具【RTL設(shè)計(jì)+功能仿真】【綜合】【DFT】【形式驗(yàn)證】【STA靜態(tài)時(shí)序分析】 STA分析內(nèi)容 靜態(tài)時(shí)序分析STA: (1)setup time 建立時(shí)間:時(shí)鐘有效沿到來(lái)之前,數(shù)據(jù)必須保持穩(wěn)定的最短時(shí)間,對(duì)應(yīng)的是數(shù)據(jù)路徑的最大延時(shí); 與寄存器的時(shí)鐘有關(guān)。 (2)hold time 保持時(shí)間:時(shí)鐘有效沿到來(lái)之后,數(shù)據(jù)必須保持穩(wěn)定的最短時(shí)間,對(duì)應(yīng)的是數(shù)據(jù)路徑的最小延時(shí); 與寄存器的時(shí)鐘有關(guān)。 ------------------- 分割線 ---------------------------------- 建立時(shí)間或者保持時(shí)間不滿足導(dǎo)致數(shù)據(jù)采樣出錯(cuò),亞穩(wěn)態(tài) 現(xiàn)象。 -------------------------------------------------------------- (3)recovery time 復(fù)位的恢復(fù)時(shí)間:時(shí)鐘有效沿來(lái)臨之前,異步復(fù)位已經(jīng)撤銷的最小時(shí)間(復(fù)位已經(jīng)無(wú)效的最小時(shí)間,對(duì)應(yīng)于數(shù)據(jù)的恢復(fù)); 即在時(shí)鐘有效沿來(lái)臨之前,復(fù)位就要撤銷,數(shù)據(jù)就要開始恢復(fù)的正常狀態(tài)的時(shí)間。 與寄存器的復(fù)位有關(guān)。 (4)removal time 復(fù)位的移除時(shí)間:時(shí)鐘有效沿來(lái)臨之后,異步復(fù)位需要保持有效的最小時(shí)間,類似時(shí)鐘的 hold。 (5)STA 的時(shí)序路徑 STA 四種時(shí)序路徑: 路徑1:輸入端口到寄存器的數(shù)據(jù)輸入 D, 路徑2:內(nèi)部寄存器的時(shí)鐘輸入端到下一個(gè)寄存器的數(shù)據(jù)輸入 D, 路徑3:內(nèi)部寄存器的時(shí)鐘輸入端到輸出端口; 路徑4:輸入端口到輸出端口。 每條時(shí)序路徑包含 1 個(gè)起點(diǎn)和 1 個(gè)終點(diǎn), 起點(diǎn)只能是設(shè)計(jì)的基本輸入端口或內(nèi)部寄存器的時(shí)鐘輸入端, 終點(diǎn)只能是內(nèi)部寄存器的數(shù)據(jù)輸入端或設(shè)計(jì)的基本輸出端口。 對(duì)于路徑 3,分析根據(jù)寄存器的 Tco 延遲和組合路徑延遲等分析 setup 和 hold 是否滿足。 對(duì)于路徑 1 和 3,可以加入 input delay 和 output delay 來(lái)分析,來(lái)滿足寄存器的建立/保持時(shí)間要求。 系統(tǒng)函數(shù)進(jìn)行時(shí)序檢查: 參考: Verilog中用于時(shí)序驗(yàn)證的系統(tǒng)任務(wù)[setup][hold][skew][width][recovery][removal] (1)setup 建立時(shí)間檢查 $setup(data, posedge clk, tSU); (2)hold 保持時(shí)間檢查 $hold(posedge clk, data, tHLD); (3)setuphold 建立/保持時(shí)間檢查 $setuphold(posedge clk, data, tSU, tHLD); (4)recovery 復(fù)位信號(hào)的恢復(fù)時(shí)間檢查 $recovery(posedge rst, posedge clk, 3); (5)removal 復(fù)位信號(hào)的移除時(shí)間檢查 $removal(posedge rst, posedge clk, 3); (6)recrem 復(fù)位信號(hào)的恢復(fù)/移除時(shí)間檢查 $recrem(posedge rst, posedge clk, recovery_limit, removal_limit); |
|
來(lái)自: AMS1117LIB > 《STA分析》