計:從原理到版圖匹配的完整實戰(zhàn)指南)
去年評審一個學(xué)生團隊的流片項目看到他們給數(shù)據(jù)轉(zhuǎn)換器做的電流源陣列偏置電壓還是從主基準那邊一路長線拉到各個模塊中間又串了兩級buffer。我當(dāng)時就建議他們換個思路這個位置其實用自偏置電流鏡就夠了既能把偏置網(wǎng)絡(luò)省掉一大半對電源波動的抑制反而更好。今天就把這個結(jié)構(gòu)的一個完整設(shè)計過程整理出來從電流鏡工作原理講到參數(shù)計算、仿真驗證再到layout版圖電流鏡匹配的實操細節(jié)。這篇博文以0.18μm CMOS工藝、1.8V電源為例目標(biāo)是實現(xiàn)一個20μA的自偏置電流鏡并復(fù)制出多個偏置支路。內(nèi)容不挑工具Cadence Virtuoso、Hspice或者國產(chǎn)EDA都可以照著跑一遍。適合正在做模擬IC課設(shè)和項目的學(xué)生、剛?cè)胄凶瞿M版圖的工程師以及所有被“電流鏡竟然還要啟動電路”這個問題卡過的朋友。1. 電流鏡工作原理從一個電壓復(fù)制出多個電流的底層邏輯1.1 基本電流鏡是怎么把電流復(fù)制出去的電流鏡的核心思想特別直白一個MOS管的柵源電壓決定它的漏電流那如果讓另一個MOS管跟它共享同一個柵源電壓理論上它的漏電流也應(yīng)該一樣。最簡單的電流鏡就兩個NMOSM1接成二極管形式漏極和柵極短接輸入電流注入進去M2的柵極跟M1柵極并在一起源極都接地M2的漏極就是輸出端。因為兩個管子?xùn)旁措妷和耆粯尤绻鼈兊膶掗L比一樣在理想情況下輸出電流就等于輸入電流。想要放大或者縮小倍數(shù)也很方便直接把寬長比按比例做就行Iout / Iin (W/L)_2 / (W/L)_1這句話翻譯成人話就是電流鏡本質(zhì)上是一個“電壓-電流轉(zhuǎn)換器”它把輸入電流轉(zhuǎn)成一個柵極電壓再用這個電壓去驅(qū)動輸出管生成一個成比例的電流。不過上面這個公式能成立有一個前提就是兩個管子的漏源電壓必須相等?,F(xiàn)實里這個條件經(jīng)常不滿足比如輸出端接的負載把漏極電壓頂?shù)煤芨進2的漏源電壓跟M1有明顯差距溝道長度調(diào)制效應(yīng)就開始搗亂。考慮溝長調(diào)制之后鏡像公式要加上修正項Iout / Iin ((W/L)_2 / (W/L)_1) × (1 λ·VDS2) / (1 λ·VDS1)λ就是溝長調(diào)制系數(shù)在0.18μm工藝里大約在0.02~0.05之間。別小看這個修正項如果兩個管子漏源電壓差了0.2V復(fù)制誤差輕輕松松超過1%。對于普通偏置電路1%也許能忍但在高位數(shù)轉(zhuǎn)換器里這個誤差會直接變成性能瓶頸。1.2 傳統(tǒng)電流鏡的三大痛點第一個痛點就是上面說的VDS不匹配。解決思路也成熟用共源共柵結(jié)構(gòu)把輸出阻抗頂上去代價是輸出電壓擺幅變小本來VDD就低疊兩層管子之后留給負載的擺幅更緊張。第二個痛點是偏置電壓從哪來。工程里最常見的是用一個帶隙基準產(chǎn)生一個主偏置電流然后通過一長串電流鏡逐級復(fù)制到各個模塊。偏置鏈路一旦拉長中間任何一級失配都會被放大而且每級都要加濾波電容芯片面積蹭蹭往上漲。第三個痛點是電源抑制能力。普通電流鏡直接掛在電源和地之間電源電壓一抖VDS跟著抖輸出電流自然不穩(wěn)。對于模擬模塊來說電源上的噪聲和紋波最終會通過偏置電流串到信號通路里非常頭疼。所以“自偏置”這個詞在工程里才這么有價值。它要解決的核心問題就是盡量少依賴外部基準和外部偏置網(wǎng)絡(luò)讓電路自己把自己的工作點穩(wěn)住。1.3 自偏置的兩種常見形態(tài)自偏置電流鏡在文獻和工程里通常指兩種結(jié)構(gòu)。第一種是自偏置共源共柵電流鏡它解決的是“共源共柵管需要額外偏置電壓”的問題。傳統(tǒng)做法要單獨生成一個偏置電壓給共源共柵管自偏置結(jié)構(gòu)則通過電阻或者二極管連接管從主電流支路內(nèi)部“自舉”出一個合適的偏置電壓讓共源共柵管始終工作在飽和區(qū)邊緣又不額外增加偏置網(wǎng)絡(luò)。第二種就是β-multiplier結(jié)構(gòu)也叫Beta倍乘電流源。它不依賴外部參考電流源純粹靠自身環(huán)路建立電流然后通過電流鏡復(fù)制出去。這種才是真正意義上“自給自足”的電流鏡。這次設(shè)計實例我選擇β-multiplier作為主線因為它在工程里最常被稱為“自偏置電流鏡”而且它同時包含上PMOS電流鏡和下NMOS電流鏡兩組匹配管版圖上能聊的東西也多非常適合拆開講透。2. 自偏置電流鏡怎么設(shè)計核心拓撲與參數(shù)計算實例2.1 β-multiplier電流鏡的電路結(jié)構(gòu)與建立過程β-multiplier的工作方式用一個環(huán)路就能說清楚。下半部分有兩個NMOSN1接成二極管形式寬長比記作(W/L)N2的寬長比是它的K倍也就是K(W/L)而且N2的源極串了一個電阻R到地。上半部分是兩個PMOSP1和P2構(gòu)成一個1:1電流鏡把兩支路的電流強制拉成相等。假設(shè)輸入支路電流和輸出支路電流都為I。因為N1寬長比小它的過驅(qū)動電壓VOV1就大N2寬長比大它的過驅(qū)動電壓VOV2就小。兩個管子?xùn)艠O接在一起源極電位卻不一樣N2源極比地高了I·R所以自然有VGS1 VGS2 I·R把過驅(qū)動電壓展開I·R剛好等于兩個過驅(qū)動電壓的差。利用平方律模型一推可以得到一個非常重要的表達式I 2 / (μnCox·(W/L)_1·R2) × (1 - 1/√K)2這個公式每個參數(shù)都很關(guān)鍵。μnCox是工藝常數(shù)K是N2與N1的寬長比倍數(shù)R是源極電阻(W/L)_1是N1管寬長比。一旦工藝和這幾個幾何參數(shù)定住電流I就定住了跟VDD沒有直接關(guān)系這正是“自偏置”的底氣來源。電路建立過程可以這么理解假設(shè)某瞬間P1支路電流比P2支路稍微大一點N1的柵極電壓會被拉得更高這個電壓同時通過N2管和R產(chǎn)生電流負反饋會把這個偏差收回來。環(huán)路反復(fù)調(diào)節(jié)最后穩(wěn)定在公式對應(yīng)的電流點上。2.2 20μA設(shè)計指標(biāo)下的參數(shù)計算實例現(xiàn)在開始算真實參數(shù)。設(shè)定工藝是0.18μm CMOSVDD1.8V設(shè)計目標(biāo)I20μA。工藝參數(shù)按典型值取μnCox大約180μA/V2NMOS閾值電壓VTH大約0.5V。第一步選K值。K太小意味著N1和N2的面積差異不明顯電阻上的壓差小對失配更敏感K太大又會浪費面積而且VGS差也不會顯著增大。工程上K4是一個常用折中值。第二步確定N1的寬長比。我希望N1的過驅(qū)動電壓不要太低否則容易進亞閾值區(qū)又不要太高否則VDD降下來時管子容易脫離飽和。選(W/L)_18具體尺寸為4μm/0.5μm。0.5μm的溝道長度比工藝最小長度大不少主要是為了匹配和抑制溝長調(diào)制。把K4、μnCox180μA/V2、(W/L)_18、I20μA代進公式20e-6 2 / (180e-6 × 8 × R2) × (1 - 1/√4)2計算過程約掉單位后1-1/√40.5平方為0.25分子2×0.250.5分母180e-6×81.44e-3于是20e-6 0.5 / (1.44e-3 × R2)R2 0.5 / (1.44e-3 × 20e-6) ≈ 1.736e7R ≈ 4167Ω實際設(shè)計取R4.2kΩ用多晶硅電阻實現(xiàn)。順便算一下幾個關(guān)鍵工作點電壓VOV1 √(2I / (μnCox·(W/L)_1)) √(40e-6 / (180e-6×8)) ≈ 0.167VVOV2 VOV1 / √K 0.083VVGS1 VTH VOV1 0.667VVGS2 VTH VOV2 0.583VI·R 20μA × 4.2kΩ 0.084V完美對上“VGS1 VGS2 I·R”的自洽條件。這說明設(shè)計的尺寸和電阻值在實際工作點上是成立的。上半部分PMOS電流鏡的尺寸我選P1和P2都是W/L10μm/1μm。溝道長度取1μm而不是0.5μm是為了增大PMOS的輸出電阻減小兩支路VDS差異帶來的復(fù)制誤差。PMOS的VTHP約-0.5V取過驅(qū)動0.15V則VSG約0.65VP管柵極電壓約1.15V還有足夠裕量讓N管工作在飽和區(qū)。至此核心設(shè)計參數(shù)可以整理成一張表器件尺寸作用N14μm/0.5μmW/L8二極管連接決定VGS1N232μm/0.5μmW/L32寬長比為N1的4倍源極串RR4.2kΩ多晶電阻把N1/N2過驅(qū)動電壓差轉(zhuǎn)成電流P1/P210μm/1μm上電流鏡強制兩支路電流相等輸出管與P2同尺寸或倍數(shù)復(fù)制參考電流給后續(xù)模塊2.3 啟動電路為什么沒有它電路會卡在零工作點β-multiplier有一個繞不開的坑它存在兩個穩(wěn)定工作點一個是目標(biāo)電流點另一個是零電流點。零電流點怎么來的如果所有管子都處于截止?fàn)顟B(tài)柵極電壓為0沒有電流流過R整個環(huán)路沒有任何趨勢改變這個狀態(tài)。所有管子截止本身就是一個自洽解電路會安心地躺在那里“裝死”。所以啟動電路的意義就是打破這個零電流簡并點給環(huán)路一個初始擾動讓電流建立起來建立完以后再功成身退不影響正常工作。實用做法是在N1的柵極VG處接一個小啟動通路。初上電時VG0啟動電路給VG注入電流把N1柵極電壓拉高N1開始導(dǎo)通P1支路有電流P2鏡像電流又反過來給N2柵極供電環(huán)路從零態(tài)被“踢”出來。等電流穩(wěn)定后啟動通路的壓差變小自身關(guān)斷或者只剩極小的漏電流。我在這個設(shè)計里用的啟動方式是一個長溝道PMOS串一個大電阻從VDD接到VG。上電瞬間PMOS導(dǎo)通給VG充電電路起振后PMOS柵源壓差縮小接近閾值支路電流壓到1μA以下對主環(huán)路的20μA影響可忽略。注意啟動電路是這類自偏置結(jié)構(gòu)能否正常工作的關(guān)鍵仿真時必須把電源上電過程做成實際斜坡而非瞬跳否則可能誤以為電路能正常啟動。3. 仿真驗證與結(jié)果解讀用數(shù)據(jù)說話3.1 電源電壓掃描自偏置到底壓不壓得住電源波動用Cadence ADE L做DC掃描把VDD從1.6V掃到2.0V觀察參考電流Iout的變化。典型結(jié)果大概是這樣的VDD在1.62V到1.98V之間變化時Iout大約從19.2μA變到20.5μA折算下來約±3%。這個結(jié)果比普通電流鏡好很多原因是電流公式里沒有VDD項一階上不受電源影響。殘余的漂移主要來自PMOS上電流鏡的溝道長度調(diào)制效應(yīng)P1和P2的VDS并不完全相等VDD變高時這個差距會被放大。如果設(shè)計要求VDD變化時電流偏差控制在±1%以內(nèi)有兩個方向可以改進。第一個方向是把P1/P2的L加長比如從1μm加到2μm輸出電阻變大溝長調(diào)制影響變小。第二個方向是把上電流鏡也升級成共源共柵結(jié)構(gòu)代價是輸出電壓擺幅變小。普通偏置用加大L就夠高精度場景才需要上cascode。3.2 輸出電阻與復(fù)制精度Monte Carlo失配仿真電流鏡最終要給人用復(fù)制精度非常重要。對當(dāng)前普通PMOS電流鏡結(jié)構(gòu)輸出電阻約等于PMOS管的ro就是1/(λp·I)。0.18μm工藝下PMOS的λ大約0.02/V20μA時ro大約2.5MΩ。如果給運放當(dāng)尾電流源這個數(shù)值夠用如果給高分辨率DAC的電流源陣列用還是得做cascode把輸出阻抗頂?shù)綆资甅Ω甚至上百MΩ。復(fù)制精度方面跑一次200點的Monte Carlo失配仿真。典型結(jié)果里Iout均值為19.8μA標(biāo)準差約為0.6μA折合相對標(biāo)準差約3%峰峰范圍大概在±6%。看到這個數(shù)字不要慌這個結(jié)構(gòu)本身已經(jīng)比基本電流鏡好不少因為N2做成4個unit并聯(lián)之后等效面積更大閾值失配被平均掉了一部分。用Pelgrom定律可以提前估算失配量級σ(ΔVTH) Avt / √(WL)。0.18μm工藝的Avt大約10mV·μmN1單位管面積4μm×0.5μm2μm2兩個單位管之間閾值失配σ約7mV。這個量級的失配映射到電流上正好和Monte Carlo結(jié)果對上。3.3 環(huán)路穩(wěn)定性檢查別忘了STB分析β-multiplier是一個負反饋環(huán)路但它也有正反饋路徑。整體性能取決于負反饋比正反饋強多少所以環(huán)路穩(wěn)定性必須驗證。很多第一次做這個電路的人只跑DC掃描發(fā)現(xiàn)電流正常就萬事大吉結(jié)果瞬態(tài)仿真時電流來回振蕩就是因為沒看環(huán)路裕度。用STB分析在環(huán)路任意一點插入iprobe跑AC仿真看環(huán)路增益的幅頻和相頻曲線。典型結(jié)果不補償時相位裕度可能只有50°出頭加一個1pF補償電容掛到VG節(jié)點上把主極點往低頻推相位裕度能提到70°左右。補償電容不是越大越好太大啟動時間變長上電瞬間可能出現(xiàn)很長一段亞穩(wěn)態(tài)應(yīng)用電路里還要權(quán)衡。我的原則是相位裕度做到60°以上啟動時間控制在10μs以內(nèi)這兩個指標(biāo)同時滿足就行。3.4 溫度特性多晶硅電阻的雙刃劍溫度掃描是模擬電路繞不開的一關(guān)。對β-multiplier來說電流I和μn以及R2成反比。NMOS的遷移率μn隨溫度升高而下降大約按T的-1.5次方變化多晶硅電阻的電阻溫度系數(shù)根據(jù)摻雜類型不同可能是正也可能是負絕對值通常在幾百到一千ppm/℃。如果電阻TCR為正溫度升高時μn下降同時R還變大電流下降會非常明顯。比如從常溫到125℃μn可能掉了40%R又漲了10%電流差不多跌掉一半。這個特性決定了β-multiplier只適合做中等精度偏置不適合當(dāng)精密電流基準。如果應(yīng)用場景要求低溫漂就得用正負溫度系數(shù)的電阻做組合或者直接用帶隙基準電流源給這個電流鏡供參考電流。很多時候我們其實不需要把β-multiplier當(dāng)成基準用它更合適的定位是“把已有參考電流干凈地復(fù)制成多路”自偏置解決的是對偏置電壓鏈路的依賴。4. Layout版圖電流鏡匹配實戰(zhàn)從失配模型到共質(zhì)心布局4.1 失配模型為什么unit cell越小越容易翻車版圖階段對電流鏡的影響很多時候比電路原理圖設(shè)計還大。兩個完全一樣設(shè)計的管子在硅片上不可能做到完全一致失配來源包括閾值電壓波動、氧化層厚度波動、邊緣刻蝕差異、阱濃度梯度、機械應(yīng)力梯度等等。工程上計算失配最常用的就是Pelgrom模型σ2(ΔVTH) Avt2 / (WL)σ2(Δβ/β) Aβ2 / (WL)Avt和Aβ是工藝提供的失配系數(shù)WL是管子面積。公式說得很清楚管子面積越大失配標(biāo)準差越小。所以做匹配管子的第一原則就是面積要夠第二原則是所有匹配管用完全相同的unit cell拼出來而不是直接畫一個大的?;氐竭@個設(shè)計N2是N1的4倍寬長比。最錯誤的畫法就是N1畫一個4μm寬管子N2畫一個32μm寬管子兩個管子隔著十萬八千里。正確的畫法是定義N24個4μm/0.5μm的unit并聯(lián)這樣N2的每個unit跟N1完全同尺寸、同方向、同環(huán)境失配才能被平均掉。4.2 共質(zhì)心與dummy管的擺法版圖上電流鏡匹配的經(jīng)典句式就八個字同尺寸、共質(zhì)心、加dummy、加保護環(huán)。以N1和N2為例N1是1個unitN2是4個unit??梢园?個unit擺成一排N1放在中間4個N2 unit兩兩對稱分布兩側(cè)這樣N1正好在所有unit的質(zhì)心位置。如果面積允許還可以把N1也拆成4個unit并排跟N2的4個unit交叉排列構(gòu)成一維共質(zhì)心結(jié)構(gòu)。更講究的做法是二維共質(zhì)心上下左右四個方向都對稱對工藝梯度免疫能力最強。dummy管的作用很多人會忽略。版圖刻蝕的時候圖形邊緣的有源區(qū)刻蝕速率和中間不一樣邊緣管子跟中間管子的實際尺寸會有細微差別。解決辦法是在匹配陣列兩側(cè)各放一個不參與工作的dummy管保證每一個有效unit兩側(cè)都有同樣的“環(huán)境”。dummy管要跟有效unit保持同尺寸、同間距柵極要么接地要么接電源絕對不能懸空。保護環(huán)的作用是隔離襯底噪聲和閂鎖風(fēng)險。NMOS陣列外圍要打p型保護環(huán)并接GNDPMOS陣列外圍用n阱保護環(huán)接VDD。如果版圖里同時有PMOS和NMOS中間還要加足夠?qū)挼母綦x間距。4.3 電阻、金屬走線與寄生控制這個設(shè)計里R是決定電流絕對值的關(guān)鍵它的匹配質(zhì)量直接影響最終電流精度。多晶硅電阻要畫在同一塊區(qū)域遠離功率管和開關(guān)管避免熱梯度影響。電阻條的方向要一致兩側(cè)加dummy電阻條。不要為了省面積把電阻折成蛇形太多拐角處電流密度不均勻匹配會變差。還有一個經(jīng)常踩的坑是N2源極的串聯(lián)寄生電阻。從N2源極到R再到GND這條路徑上任何金屬走線電阻都會疊加進R里直接改變電流。比如計劃4.2kΩ結(jié)果版圖走線多了50Ω雖然只占1.2%但電流會偏百分之幾。所以N2源端到R之間的金屬要用高層金屬并聯(lián)走線盡量加寬把走線電阻壓到毫歐級別。R的兩個端口最好做開爾文連接就是感測線和電流流過的線分開避免接觸孔電阻的壓降被算進基準電阻里。這個技巧在做高精度基準電流源時非常實用。4.4 提取后仿真版圖質(zhì)量照妖鏡版圖畫完必須做寄生提取和后仿真這一步能照出所有走線寄生的問題。用Calibre PEX提取帶寄生參數(shù)的網(wǎng)表再跑一遍相同仿真重點還是看Iout的值和穩(wěn)定性。我這次設(shè)計的典型后仿結(jié)果是Iout從原理圖的20.0μA掉到大約19.4μA差了3%。主要原因就是N2源極到R之間的金屬走線雖然已經(jīng)盡量加寬但還有大概十幾毫歐級別的寄生疊加進電阻R的壓降變化里。這個偏差對偏置電路完全可接受但如果做的是精密輸出電流就必須把這個寄生估算進前仿階段。版圖階段還要順手檢查電源線和地線的電流密度。20μA電流看著小但如果有多個復(fù)制支路掛在一起匯總起來就是幾百微安電源線太細會產(chǎn)生明顯的IR drop反過來影響PMOS電流鏡兩支路的VDS惡化復(fù)制精度。5. 常見問題與排查技巧實錄流片回來不工作的解決順序5.1 電流上不去多半是啟動問題癥狀是電源上電后整個電路電流幾乎為零或者只有微安級別。仿真里把電源從0V斜坡上升到1.8V如果輸出還是0十有八九是啟動電路失效。排查順序先看啟動通路在零態(tài)是否真的能推VG一把。再檢查啟動管穩(wěn)定后是否漏電太大把電路工作點拉偏。最后確認沒有把所有管子尺寸配錯比如N2的K倍數(shù)和R的實際阻值偏差過大導(dǎo)致目標(biāo)工作點的環(huán)路增益不足啟動電路拉了也白拉。在芯片上遇到啟動失敗比仿真更隱蔽因為芯片上所有電壓都在同時爬升啟動電路可能被其他模塊的狀態(tài)干擾。我的習(xí)慣是在啟動通路里加一個弱弱的“kick”電阻寧可讓穩(wěn)定狀態(tài)下它漏幾百納安也要保證零態(tài)一定能被踢醒。5.2 電流在抖環(huán)路穩(wěn)定性不足癥狀是電流不是穩(wěn)定直流而是在某個值附近周期性擺動或者噪聲明顯偏大。這種情況先做STB仿真看相位裕度如果小于45°就對癥處理。提高相位裕度最直接的辦法是在VG節(jié)點加補償電容。加上電容之后瞬態(tài)啟動時間會變長需要確認沒有應(yīng)用場景在開機后立刻就要穩(wěn)定偏置。另一個辦法是降低環(huán)路增益比如減小P1/P2的跨導(dǎo)或者調(diào)整K值但增益降太多會影響電流源精度需要折中。5.3 復(fù)制不準版圖和VDS不匹配癥狀是同一個參考電流復(fù)制出來的各路電流偏差超過設(shè)計預(yù)期而且這種偏差在版圖后仿才出現(xiàn)。先看原理圖層面的VDS是否匹配再查版圖。版圖上的問題無非幾類匹配管沒有做共質(zhì)心、dummy缺失、保護環(huán)沒打、N2的4個unit排列不對稱、源極金屬走線寄生不一致。這些問題的共通特征是“看起來都連上了實際工作點都不一樣”。5.4 快查表與我的排查順序現(xiàn)象可能原因快速驗證方法整改方向電流為零啟動電路失效、簡并點仿真查看VG波形是否被拉起加強啟動通路電流周期振蕩環(huán)路相位裕度不足STB分析看裕度加補償電容電流偏大/偏小R偏差、寄生疊加檢查電阻工藝角和走線寄生調(diào)整R或加trim電源變化影響大PMOS鏡像VDS失配VDD掃描看曲線斜率加長PMOS L或上cascode溫度變化過大電阻TCR、遷移率漂移溫度掃描看漂移幅度換電阻類型或用bandgap復(fù)制電流不一致版圖匹配不良輸出端各支路單獨仿真共質(zhì)心重畫最后再分享一個我個人的排查習(xí)慣拿到任何帶偏置的電路第一件事不是改W/L而是先問一句“啟動電路能不能在功耗允許范圍內(nèi)把簡并點拉出來”。這句話幫我少走了很多彎路。自偏置電流鏡看著簡單但把環(huán)路、啟動、版圖三件事都理順才算是真正把這個電路搞懂了。