你有沒有感覺做設(shè)計的時候,似乎用到的各種模型和算法都很模糊?特別是cell delay和繞線delay。本文力圖消除這種模糊的感覺。
電流源模型和電壓源模型
電壓源,即理想電壓源,是從實際電源抽象出來的一種模型,在其兩端總能保持一定的電壓而不論流過的電流為多少。電壓源具有兩個基本的性質(zhì):第一,它的端電壓定值U或是一定的時間函數(shù)U(t)與流過的電流無關(guān)。第二,電壓源自身電壓是確定的,而流過它的電流是任意的。理想的電壓源是不存在的,以電池來說,它總是有內(nèi)電阻的,所獲得的能量是化學(xué)反應(yīng)給予的定值能量(也就是電動勢)與內(nèi)電阻損耗能量的差值。由于內(nèi)電阻的損耗與電流有關(guān),電流越大,損耗也越大,端電壓越低,這樣電池就不具有端電壓定值的特點。這樣我們可用理想電壓源E,和電阻相串聯(lián)的模型來表征實際電壓源。
能為電路提供一定電流的電源叫電流源。實際的電流源可以用一個恒定電流I 和內(nèi)阻r 并聯(lián)起來的模型表示。若電源內(nèi)阻r =∞,輸出電流I=IS,電源始終輸出恒定的電流IS。把內(nèi)阻r =的電流源叫做理想電流源或恒流源。實際上,理想電流源是不存在的,因為電源內(nèi)阻不可能為無窮大。
電壓源以輸出電壓形式向負(fù)載供電,電流源以輸出電流形式向負(fù)載供電。在滿足一定條件下,電壓源與電流源可以等效變換。等效變換是指對外電路等效,即把它們與相同的負(fù)載連接,負(fù)載兩端的電壓、流過負(fù)載的電流、負(fù)載消耗的功率都相同。
NLDM delay模型和CCS delay模型
NLDM, none lineal delay model即非線性模型,這個模型屬于電壓源模型。輸出v不變,load上cap變化不會對電壓影響。明顯不適用與現(xiàn)在的大規(guī)模先進(jìn)工藝design。已經(jīng)淘汰了,米勒效應(yīng),溫度的變化,高阻互聯(lián)這些效應(yīng)也解釋不了。
CCS,con_current source即復(fù)合電流源模型,這個模型屬于電流源模型,輸出I不變,load上cap變化會對I影響,V也變化。
圖
在給定input transition和load capacitance,NLDM得出的 cell delay具有極高的精確性,因為只有插值誤差。如果input transition和load cap恰好落在查找表的格點上,得到的cell delay就是spice的仿真結(jié)果。
而對于CCS模型,在給定input transition和load capacitance下可以得到output current的波形,如果要計算出cell delay就需要重構(gòu)出output voltage的波形然后再把cell delay計算出來。當(dāng)然,CCS模型使用兩段電容來模擬cell的input pin cap,load capacitance要比NLDM模型準(zhǔn)確,因此CCS模型計算出的cell delay可能比NLDM模型準(zhǔn)確。 對于計算Net delay,CCS模型中的驅(qū)動模型(隨時間變化的電流源模型)肯定要比NLDM模型中的驅(qū)動模型(線性變化的電壓源模型)更準(zhǔn)確。
Net delay的多種計算模型
Wire Load Model
以常見的0線負(fù)載模型(Zero Wire Load Model)為例,它是根據(jù)net的扇出(fanout)來預(yù)估長度(length),然后再根據(jù)所定義的單位長度的電阻,以及單位長度電容來計算net的寄生RC參數(shù)。不過圖中的例子比較理想化,都是設(shè)成了0,完全不考慮net delay。在實際項目中,必要時,可以自己定義Wire Load Model,盡量在綜合階段將Net Delay的影響考慮進(jìn)去。
Elmore Delay 模型
對于單輸入單輸出的net,假設(shè)不考慮net之間的耦合電容(即不考慮噪聲的影響),并且也不存在電阻性的反饋回路的情況,可以用Elmore Delay模型來計算Net Delay,如下圖:
根據(jù)Elmore Delay公式,各節(jié)點的delay可以表示為:
高階互連線延遲估計
Elmore延遲考慮的是脈沖響應(yīng)的第一時刻,而AWE(漸近波形評估)、Arnoldi或其他方法能夠匹配更高階的響應(yīng)時刻。通過進(jìn)行更高階的估計,可以提高計算互連線延遲的精度。
Net上的RC到底怎么算的
繞線上電阻計算公式:
其中ρ是導(dǎo)線的電阻率,L是導(dǎo)線的長度;P是導(dǎo)線的寬度;T是導(dǎo)線的厚度。
繞線上電容計算公式:
其中k是真空介電常數(shù),ε0是真空介電常數(shù),L是導(dǎo)線長度,P是導(dǎo)線寬度,T是導(dǎo)線厚度。Cll和Cv分別是導(dǎo)線對水平臨近的導(dǎo)線的耦合電容和對垂直臨近的導(dǎo)線的耦合電容。
從評估delay的角度我們基本可以認(rèn)為net delay正比于導(dǎo)線的RC乘積。
導(dǎo)線寄生電容計算的數(shù)學(xué)模型
現(xiàn)在先進(jìn)工藝中越來越使用三維提取來提高寄生參數(shù)提取的精度。基本原理是使用泊松方程以及拉普拉斯方程等空間基本方程對根據(jù)版圖建立的三維空間里的版圖連線長度。驅(qū)動能力和負(fù)載進(jìn)行計算機(jī)CAD模擬,從而得到最為精確_的模擬數(shù)據(jù)。不過工作量和計算量很大。
靜電場的泊松方程和拉普拉斯方程 若空間分區(qū)充滿各向同性、線性、均勻的媒質(zhì),則從靜電場強(qiáng)與電勢梯度的關(guān)系方程和高斯定理微分式,即可導(dǎo)出靜電場的泊松方程:
式中ρ為自由電荷密度,純數(shù)εr為各分區(qū)媒質(zhì)的相對介電常數(shù),真空介電常數(shù)εo=8.854×10-12法/米。在沒有自由電荷的區(qū)域里,ρ=0,泊松方程就簡化為拉普拉斯方程
延伸思考
ccs模型是在給定input transition和load capacitance下可以得到output current的波形,如果要計算出cell delay就需要重構(gòu)出output voltage的波形然后再把cell delay計算出來。這里面設(shè)計到了前一級驅(qū)動cell,后一級接收cell。在靜態(tài)時序分析的時,前一級的delay的output voltage波形是已知的(這就類似于數(shù)學(xué)中的遞推求解),每一級的cell delay計算其實是一個個output voltage 波形在timing path上不斷傳播。
所以對于drive model(就是前一級驅(qū)動cell的output voltage波形)這是一個已知條件。一個確定的output voltage波形經(jīng)過具有一定的RC參數(shù)的(對于標(biāo)準(zhǔn)單元只有C),產(chǎn)生的曲線波形的變化和delay變化,這個過程是什么?這其實就是spice仿真,模擬電路就是這么一個一個仿真出來的。
為什么receive model中的delay計算要考慮input slew?如上所述,其實對于receive cell來說 drive cell是一個已知output voltage波形,這個input slew其實就是drive cell的output voltage波形的電平變化快慢,這個會影響receive cell的電容C的計算。
為什么ccs模型中把柵極電容變成了兩部分C1和C2,主要是因為要模擬米勒效應(yīng):對于MOSFET,米勒效應(yīng)(Miller Effect)指其輸入輸出之間的分布電容(柵漏電容)在反相放大作用下,使得等效輸入電容值放大的效應(yīng)。由于米勒效應(yīng),MOSFET柵極驅(qū)動過程中,會形成平臺電壓,引起開關(guān)時間變長,開關(guān)損耗增加,給MOS管的正常工作帶來非常不利的影響。