計經(jīng)驗法則:從管子尺寸到頻率補償?shù)膶崙?zhàn)指南)
1. 模擬IC設(shè)計里那些“只可意會”的經(jīng)驗法則到底在說什么做模擬IC設(shè)計的人大概都有過這種體驗翻開一本教材里面全是小信號模型、拉普拉斯變換、噪聲分析公式推導能寫滿三頁紙但真到了要調(diào)一個兩級運放的時候腦子里反而一片空白——管子該取多大電流給多少補償電容放多少這些問題教材上不會給你一個“標準答案”因為模擬電路的設(shè)計空間太大了大到幾乎不存在唯一解。但有意思的是那些做了十幾二十年模擬設(shè)計的老手往往能在幾分鐘內(nèi)給出一個“差不多能用”的初始方案。他們靠的不是精確計算而是一套內(nèi)化在直覺里的經(jīng)驗法則。這些法則不是玄學而是從大量流片數(shù)據(jù)、仿真迭代和失效分析中提煉出來的統(tǒng)計規(guī)律。它們不保證最優(yōu)但能保證你從一個合理的起點出發(fā)而不是在無窮大的設(shè)計空間里瞎撞。這篇文章想做的事情很明確把模擬IC設(shè)計中那些散落在各處、口口相傳的經(jīng)驗法則整理出來結(jié)合我自己在幾個模擬項目中的實際體會講清楚每條法則背后的邏輯、適用邊界以及什么時候該打破它。適合正在學模擬IC的學生、剛?cè)胄械某跫壒こ處熞策m合做了幾年數(shù)字想轉(zhuǎn)模擬的朋友——如果你曾經(jīng)對著一堆管子不知道從哪下手這些內(nèi)容應該能幫你少走一些彎路。需要提前說明的是經(jīng)驗法則的本質(zhì)是啟發(fā)式不是物理定律。它們來自特定工藝節(jié)點、特定電路拓撲下的統(tǒng)計歸納換一個工藝或者換一種架構(gòu)數(shù)值可能需要調(diào)整。所以我在講每條法則的時候會盡量把“為什么是這個數(shù)”講清楚這樣你在遇到新場景時才能自己判斷該往哪個方向調(diào)。2. 從“瞎調(diào)”到“有章法”模擬設(shè)計經(jīng)驗法則的底層邏輯2.1 為什么模擬設(shè)計需要經(jīng)驗法則模擬電路的設(shè)計變量太多了。以一個簡單的五管OTA為例你需要決定輸入對管的尺寸、尾電流源的尺寸和電流、負載管的尺寸和過驅(qū)電壓這還沒算溝道長度調(diào)制、體效應、失配這些二階效應。如果每個變量都從第一性原理去推導你會在方程組的海洋里淹死。經(jīng)驗法則的價值在于降維。它把高維的設(shè)計空間壓縮到幾個關(guān)鍵維度上讓你先找到一個“大致合理”的區(qū)域然后再在這個區(qū)域里做精細優(yōu)化。這就像你去一個陌生的城市找餐廳不會把每條街都走一遍而是先看大眾點評上評分4.5以上的——經(jīng)驗法則就是模擬設(shè)計里的“評分篩選”。另一個重要原因是模擬電路的很多性能指標之間存在硬性折中。增益和帶寬、噪聲和功耗、速度和精度這些矛盾不是靠聰明就能繞過去的。經(jīng)驗法則往往編碼了這些折中的“平衡點”告訴你在這個工藝下、這個功耗預算下什么樣的參數(shù)組合是“通常能work”的。2.2 經(jīng)驗法則的三種來源我觀察下來模擬設(shè)計里的經(jīng)驗法則大致來自三個地方。第一種是物理約束的簡化。比如“MOS管過驅(qū)電壓取100mV到200mV”這條背后是強反型區(qū)和弱反型區(qū)之間的權(quán)衡。過驅(qū)太小管子進入亞閾值區(qū)匹配性變差、速度變慢過驅(qū)太大電壓余度不夠而且功耗上去了。100到200mV這個范圍是在大多數(shù)工藝下能同時兼顧速度和余度的“甜點區(qū)”。第二種是統(tǒng)計規(guī)律。比如“運放的輸入對管面積取負載管面積的4倍以上”這條來自失配的統(tǒng)計模型。Pelgrom定律告訴我們失配與器件面積的平方根成反比輸入對管的失配直接影響失調(diào)電壓所以給它更大的面積是劃算的。4倍這個數(shù)不是精確的但在這個量級上失調(diào)通常能控制在可接受的范圍內(nèi)。第三種是設(shè)計流程的慣性。比如“先定電流再定尺寸最后調(diào)補償”這是大多數(shù)模擬設(shè)計師的工作順序。先定電流是因為電流決定了功耗和速度的大致范圍尺寸可以在電流確定后通過過驅(qū)電壓反推補償則是在前兩者基礎(chǔ)上做頻率響應優(yōu)化。這個順序不是唯一的但它符合“從粗到細”的優(yōu)化邏輯。2.3 經(jīng)驗法則的適用邊界這里要潑一盆冷水經(jīng)驗法則不是萬能的。我見過不少新手把“過驅(qū)取200mV”當成金科玉律結(jié)果在低壓工藝下怎么調(diào)都調(diào)不通。問題出在哪那條法則默認了電源電壓足夠高能給出足夠的電壓余度。如果電源電壓降到1V以下200mV的過驅(qū)可能就太大了。所以用經(jīng)驗法則之前先問自己三個問題這個法則是在什么工藝節(jié)點下總結(jié)出來的它假設(shè)了什么樣的電源電壓和功耗預算它針對的是哪種電路拓撲如果這三個問題的答案和你的場景對不上那這條法則就需要打折扣甚至放棄。還有一個常見的誤區(qū)是把經(jīng)驗法則當成設(shè)計目標。經(jīng)驗法則給的是起點不是終點。你從過驅(qū)200mV開始仿真發(fā)現(xiàn)增益不夠那就得回去調(diào)尺寸或者換拓撲。經(jīng)驗法則的作用是讓你少走彎路不是替你走路。3. 核心經(jīng)驗法則逐條拆解從管子尺寸到頻率補償3.1 管子尺寸與過驅(qū)電壓的選取先說過驅(qū)電壓。在大多數(shù)0.18um及以上的工藝里過驅(qū)電壓取100mV到200mV是一個很穩(wěn)的起點。為什么是這個范圍過驅(qū)電壓決定了管子的工作狀態(tài)。過驅(qū)小于50mV時管子接近亞閾值區(qū)跨導效率高但匹配差、速度慢過驅(qū)大于300mV時管子進入強反型區(qū)速度快但電壓余度緊張而且同樣的電流下尺寸要做得更大。我自己的習慣是信號路徑上的管子取150mV左右電流鏡取200mV左右。信號路徑上的管子需要一定的跨導效率過驅(qū)小一點有利于增益電流鏡對匹配要求高過驅(qū)大一點能減小失配的影響。當然這不是絕對的如果你做的是低壓設(shè)計可能所有管子都得壓到100mV以下。再說溝道長度。最小溝道長度只用在速度關(guān)鍵且匹配要求不高的地方比如高頻路徑的輸入管。對于電流鏡和負載管溝道長度通常取最小值的2到4倍。原因很簡單溝道長度調(diào)制效應。L越小lambda越大輸出電阻越小增益就越低。取2到4倍Lmin能在面積和增益之間取得一個不錯的平衡。這里有個容易踩的坑很多人為了省面積把所有管子都取Lmin結(jié)果仿真出來增益只有40dB怎么調(diào)都上不去。后來把電流鏡的L加大到3倍Lmin增益直接跳到60dB。面積確實大了但模擬電路里面積換性能往往是最劃算的交易。3.2 電流與功耗的分配原則電流怎么定這個問題沒有標準答案但有一個實用的起點根據(jù)負載電容和帶寬要求反推。如果你需要驅(qū)動1pF的負載帶寬要求10MHz那么輸出級的跨導大致需要滿足gm 2piBWCL算下來大約是60mS左右。再根據(jù)gm和過驅(qū)電壓的關(guān)系gm 2ID/Vov就能反推出電流。對于兩級運放第一級電流通常占總電流的20%到30%。第一級是增益級不需要驅(qū)動大負載電流可以小一點第二級是輸出級需要驅(qū)動負載電容電流要大一些。這個比例不是固定的如果第一級需要很高的增益可以適當加大第一級電流因為gm/ID在中等過驅(qū)下會隨電流增加而提升。還有一個經(jīng)驗值是每級電流不超過總電流的70%。這是為了防止某一級功耗過大導致局部過熱或者電壓余度不夠。我見過一個設(shè)計輸出級占了90%的電流結(jié)果輸出擺幅怎么都上不去因為輸出管的過驅(qū)電壓太大了。3.3 補償電容與相位裕度的關(guān)系兩級運放的補償是個經(jīng)典問題。米勒補償電容Cc通常取負載電容CL的0.2到0.5倍。這個范圍來自相位裕度的要求。Cc太小次極點頻率不夠低相位裕度不夠Cc太大單位增益帶寬被壓縮速度變慢。更精確一點如果你希望相位裕度在60度左右次極點頻率至少是單位增益帶寬的2到3倍。根據(jù)這個條件可以反推Cc的值。具體推導這里不展開但記住一個實用公式Cc ≈ 0.22 * CL * (gm2/gm1)其中g(shù)m1和gm2分別是第一級和第二級的跨導。這個公式假設(shè)了調(diào)零電阻為零實際設(shè)計中通常會加一個調(diào)零電阻來消除右半平面零點。調(diào)零電阻的取值也有經(jīng)驗法則Rz ≈ 1/gm2。這個值能把右半平面零點推到無窮遠同時引入一個左半平面零點來補償相位。實際取值可以在0.8/gm2到1.2/gm2之間微調(diào)仿真看相位裕度的變化。注意米勒補償會引入一個右半平面零點這個零點會惡化相位裕度。調(diào)零電阻的作用就是把這個零點搬走。但調(diào)零電阻不能太大否則會引入新的極點反而降低相位裕度。3.4 噪聲與匹配的權(quán)衡噪聲和匹配是模擬設(shè)計里的一對老冤家。輸入對管的面積越大閃爍噪聲越小匹配越好但寄生電容越大速度越慢。經(jīng)驗法則是輸入對管的面積取負載管面積的4倍以上同時輸入對管的過驅(qū)電壓取100mV到150mV這樣能在噪聲和速度之間取得平衡。對于電流鏡匹配精度要求高的地方過驅(qū)電壓取200mV以上并且溝道長度取最小值的2倍以上。這是因為電流鏡的失配主要來自閾值電壓失配和電流因子失配而過驅(qū)電壓越大閾值電壓失配的影響越小。這里有一個我踩過的坑有一次做帶隙基準電流鏡的過驅(qū)取了100mV結(jié)果輸出基準電壓的溫漂怎么都調(diào)不好。后來把過驅(qū)加到250mV溫漂直接從50ppm降到10ppm。原因就是過驅(qū)太小的時候電流鏡的失配導致兩支路的電流比隨溫度變化進而影響了基準電壓。3.5 版圖層面的經(jīng)驗法則電路圖調(diào)通了只是第一步版圖畫不好流片回來照樣翻車。匹配要求高的管子必須做共質(zhì)心布局這是鐵律。共質(zhì)心布局能抵消工藝梯度帶來的失配比如氧化層厚度變化、摻雜濃度梯度。信號線和電源線要分開走這是另一個鐵律。電源線上的噪聲會通過寄生電容耦合到信號線上尤其是高增益的節(jié)點。我通常會把電源線走在信號線的垂直方向上減少耦合面積。大電流路徑要用寬金屬這個大家都知道但具體多寬經(jīng)驗值是每1mA電流用1um寬的金屬對于鋁工藝銅工藝可以稍微窄一點。如果電流是10mA金屬寬度至少10um。這還沒算溫度升高帶來的電阻變化實際設(shè)計中通常留2倍余量。提示版圖完成后一定要做DRC和LVS但更重要的是做后仿真。前仿真通過的電路后仿真可能因為寄生電容和電阻而性能下降。我見過一個運放前仿真增益80dB后仿真只有60dB原因就是輸出節(jié)點的寄生電容太大了。4. 從紙面到硅片一個兩級運放的完整設(shè)計實錄4.1 設(shè)計目標與初始參數(shù)估算假設(shè)我們要設(shè)計一個兩級米勒補償運放指標要求是直流增益大于60dB單位增益帶寬10MHz相位裕度大于60度負載電容2pF電源電壓1.8V總電流小于1mA。第一步定電流。總電流1mA按照第一級20%、第二級80%的分配第一級200uA第二級800uA。這個分配不是拍腦袋是因為第二級要驅(qū)動2pF的負載需要足夠的跨導。第二步定過驅(qū)。信號路徑取150mV電流鏡取200mV。電源電壓1.8V輸出擺幅大概能到1.2V左右夠用了。第三步算尺寸。第一級輸入管的跨導gm1 2ID1/Vov 2100uA/150mV ≈ 1.33mS注意第一級差分對每邊電流是100uA因為尾電流200uA。第二級跨導gm2 2ID2/Vov 2800uA/150mV ≈ 10.7mS。第四步算補償電容。Cc ≈ 0.22 * CL * (gm2/gm1) 0.22 * 2pF * (10.7/1.33) ≈ 3.5pF。取3.5pF。第五步算調(diào)零電阻。Rz ≈ 1/gm2 1/10.7mS ≈ 93歐姆。取100歐姆。這些初始參數(shù)不是最終值但已經(jīng)是一個合理的起點了。4.2 仿真迭代與參數(shù)微調(diào)把初始參數(shù)代入仿真器先跑DC看工作點。所有管子都在飽和區(qū)嗎輸出節(jié)點的電壓是否在合理范圍內(nèi)如果輸出節(jié)點電壓偏離VDD/2太多說明第二級的上下管尺寸比例不對需要調(diào)整。然后跑AC看頻率響應。增益夠不夠單位增益帶寬對不對相位裕度是多少如果增益不夠先加大溝道長度尤其是第二級輸出管的L。如果帶寬不夠加大電流或者減小Cc。如果相位裕度不夠加大Cc或者調(diào)整Rz。我自己的迭代順序是先調(diào)增益再調(diào)帶寬最后調(diào)相位裕度。因為增益主要取決于溝道長度和拓撲帶寬取決于電流和電容相位裕度取決于補償網(wǎng)絡(luò)。這個順序符合“從粗到細”的邏輯。這里有一個實用技巧用參數(shù)掃描代替手動調(diào)。比如把Cc從1pF掃到10pF看相位裕度和帶寬的變化曲線找到滿足指標的最小Cc值。這樣比手動試快得多。4.3 工藝角與溫度仿真前仿真通過只是第一步必須跑工藝角和溫度仿真。工藝角包括TT、SS、FF、SF、FS溫度從-40度到125度。模擬電路的性能在這些極端條件下可能會大幅退化。我通常關(guān)注三個指標增益、帶寬、相位裕度。在SS角下管子速度慢帶寬可能下降20%到30%在FF角下速度快但增益可能下降。溫度升高時遷移率下降跨導降低增益和帶寬都會受影響。如果某個工藝角下指標不達標就需要做設(shè)計余量。比如增益要求60dB設(shè)計時做到70dB留10dB余量給工藝波動。帶寬要求10MHz設(shè)計時做到12MHz。余量留多少取決于工藝的成熟度和指標的嚴格程度通常10%到20%是合理的。4.4 后仿真與版圖迭代版圖畫完之后提取寄生參數(shù)做后仿真。后仿真和前仿真的差異主要來自三個方面寄生電容、寄生電阻、耦合效應。寄生電容會降低帶寬和相位裕度寄生電阻會降低增益耦合效應可能引入意外的反饋路徑。如果后仿真指標退化太多就需要回去改版圖。常見的改進措施包括加大關(guān)鍵節(jié)點的金屬間距減少耦合用寬金屬走大電流路徑減少電阻在敏感節(jié)點周圍加屏蔽減少噪聲。后仿真通過之后還要做DRC和LVS確保版圖沒有違反設(shè)計規(guī)則且與電路圖一致。這兩步通常由版圖工程師完成但電路設(shè)計者也要檢查關(guān)鍵節(jié)點的連接是否正確。注意后仿真通過不代表流片一定成功。工藝波動、封裝應力、測試環(huán)境都會影響最終性能。所以第一次流片通常做多項目晶圓把多個設(shè)計拼在一起分攤成本。5. 那些年我踩過的坑常見問題與排查技巧5.1 增益不夠先查溝道長度再查工作點增益不夠是最常見的問題。排查順序應該是先看所有管子是否在飽和區(qū)再看溝道長度是否足夠最后看負載是否太重。如果管子不在飽和區(qū)先調(diào)偏置。如果都在飽和區(qū)但增益還是不夠加大電流鏡和負載管的L。如果L已經(jīng)很大了檢查輸出節(jié)點的負載是不是太重比如后級電路的輸入電容太大。有一個容易被忽略的點體效應會降低增益。如果輸入對管的源極和襯底之間存在電壓差閾值電壓會升高跨導會下降。解決辦法是把輸入對管放在獨立的阱里源極和阱短接。5.2 相位裕度不足補償電容和調(diào)零電阻的聯(lián)合調(diào)試相位裕度不足的表現(xiàn)是階躍響應振鈴嚴重或者AC仿真中增益交點處的相位接近零度。解決辦法通常是加大Cc但加大Cc會降低帶寬。所以更好的辦法是調(diào)整調(diào)零電阻。調(diào)零電阻的作用是把右半平面零點推到高頻同時引入一個左半平面零點。如果Rz太小右半平面零點還在相位裕度改善不明顯如果Rz太大引入的左半平面零點太低反而會降低相位裕度。Rz的最佳值通常在1/gm2附近可以通過參數(shù)掃描找到。還有一個技巧在輸出級加一個小的負載電容有時能改善相位裕度。這是因為負載電容會把輸出極點往低頻推反而讓次極點成為主導相位裕度變好。但這個技巧不通用需要具體仿真驗證。5.3 噪聲超標輸入對管面積和過驅(qū)的再平衡噪聲超標通常表現(xiàn)為輸出噪聲譜密度在低頻段太高。排查順序是先看輸入對管的面積再看過驅(qū)電壓最后看電流鏡的貢獻。輸入對管的閃爍噪聲與面積成反比所以加大面積是最直接的辦法。但面積加大后寄生電容增加帶寬會下降。這時候可以適當加大電流來補償帶寬但功耗會上去。所以噪聲、速度、功耗三者之間的折中是模擬設(shè)計里最考驗功力的地方。如果輸入對管的噪聲已經(jīng)優(yōu)化到位檢查電流鏡的噪聲貢獻。電流鏡的噪聲會通過鏡像作用傳到輸出端尤其是尾電流源的噪聲會直接調(diào)制輸入對管的電流。加大尾電流源的面積和過驅(qū)電壓能有效降低它的噪聲貢獻。5.4 常見問題速查表問題現(xiàn)象可能原因排查順序解決方向增益不夠溝道長度太短、管子不在飽和區(qū)、負載太重工作點→L→負載加大L、調(diào)偏置、減小負載相位裕度不足Cc太小、Rz不合適、次極點太低Cc→Rz→次極點加大Cc、調(diào)Rz、加大第二級電流噪聲超標輸入對管面積小、過驅(qū)小、電流鏡噪聲大輸入對管→過驅(qū)→電流鏡加大面積、調(diào)過驅(qū)、加大電流鏡面積輸出擺幅不夠輸出管過驅(qū)太大、電源電壓低輸出管過驅(qū)→電源減小過驅(qū)、換低壓拓撲帶寬不夠電流小、Cc大、寄生電容大電流→Cc→寄生加大電流、減小Cc、優(yōu)化版圖溫漂大電流鏡失配、基準結(jié)構(gòu)不合理電流鏡→基準結(jié)構(gòu)加大過驅(qū)、換基準拓撲5.5 幾條保命的實操心得第一條仿真通過不等于流片成功。我見過太多前仿真完美、后仿真通過、流片回來一測就廢的案例。原因可能是工藝波動、封裝應力、測試方法不對。所以第一次流片一定要做可測試性設(shè)計把關(guān)鍵節(jié)點引出來方便調(diào)試。第二條留余量留余量留余量。重要的事情說三遍。增益留10dB帶寬留20%相位裕度留10度。這些余量在流片后會救你的命。第三條記錄每一次迭代。模擬設(shè)計是一個不斷試錯的過程如果不記錄每次改了哪個參數(shù)、仿真結(jié)果怎么變你會在同一個坑里反復摔。我自己的習慣是用表格記錄每次迭代的參數(shù)和關(guān)鍵指標這樣能快速定位哪個參數(shù)對哪個指標影響最大。第四條多和版圖工程師溝通。很多電路上看起來沒問題的設(shè)計版圖上實現(xiàn)不了或者代價太大。提前溝通能避免返工。比如對稱性要求高的地方版圖工程師可能需要做共質(zhì)心布局這會增加面積和布線難度電路上就要提前留好空間。第五條不要迷信經(jīng)驗法則。經(jīng)驗法則是起點不是終點。每次用一條法則之前先想清楚它的適用條件。如果條件不滿足就大膽調(diào)整。模擬設(shè)計的樂趣就在于沒有標準答案只有更好的答案。6. 寫在最后一些個人體會做了這些年模擬設(shè)計我最大的感受是經(jīng)驗法則的價值不在于它告訴你怎么做而在于它告訴你為什么這么做。當你理解了每條法則背后的物理邏輯和統(tǒng)計規(guī)律你就能在遇到新問題時自己推導出適合當前場景的“新法則”。模擬IC設(shè)計是一門手藝手藝的精髓在于手感。手感來自大量的實踐、失敗和總結(jié)。經(jīng)驗法則是前人總結(jié)的“手感”但最終你還是要形成自己的手感。這個過程沒有捷徑只能一個電路一個電路地調(diào)一次流片一次流片地積累。如果你正在學模擬設(shè)計我的建議是先照著經(jīng)驗法則做一遍然后問自己為什么最后試著打破它。打破之后如果性能變好了說明你真正理解了如果變差了說明你還沒理解透。這個過程本身就是最好的學習。最后分享一個小技巧建一個自己的經(jīng)驗法則庫。每次流片回來把實測數(shù)據(jù)和設(shè)計參數(shù)對比記錄哪些法則有效、哪些需要修正。幾年下來這個庫就是你最寶貴的財富。