計(jì)全解析:從模擬前端指標(biāo)到流片測(cè)試的完整鏈路)
AFD芯片設(shè)計(jì)這個(gè)標(biāo)題圈內(nèi)人一看就懂圈外人可能要問(wèn)一句AFD是什么在我接觸過(guò)的項(xiàng)目里AFD最常見(jiàn)的身份是模擬前端Analog Front End也就是傳感器和數(shù)字世界之間的那道“翻譯官”電路。不管是醫(yī)療貼片、工業(yè)變送器還是IoT感知節(jié)點(diǎn)信號(hào)進(jìn)來(lái)第一站就是它。但這三個(gè)字母在不同語(yǔ)境下還有別的含義比如Always-ON Feature Detection常開(kāi)特性檢測(cè)或者Adaptive Frequency Divider自適應(yīng)分頻器后面這兩種多見(jiàn)于低功耗喚醒電路和時(shí)鐘鏈路。今天這篇我主要以模擬前端這條主線來(lái)拆把從指標(biāo)定義、架構(gòu)選型到流片測(cè)試的完整鏈路捋一遍順便把那些文檔里不寫的經(jīng)驗(yàn)教訓(xùn)也一并倒出來(lái)。先說(shuō)清楚這東西到底解決什么問(wèn)題。傳感器輸出的信號(hào)通常是微伏到毫伏級(jí)的微弱模擬量直接送給ADC要么精度不夠要么根本采不到。AFD的任務(wù)就是把這路信號(hào)做低噪聲放大、抗混疊濾波、動(dòng)態(tài)范圍匹配再干凈地交給后級(jí)數(shù)字化。簡(jiǎn)單說(shuō)它決定了整個(gè)系統(tǒng)能“看”得多清楚。做AFD的人既要懂模擬電路又要懂傳感器特性還得會(huì)跟數(shù)字團(tuán)隊(duì)打交道屬于典型的交叉崗位。你要是剛接觸這塊或者正在選型評(píng)估又或者想弄清楚AFD設(shè)計(jì)里的坑在哪里這篇內(nèi)容應(yīng)該能幫你省下不少摸索的時(shí)間。1. 項(xiàng)目整體拆解AFD到底在做什么1.1 AFD的三種身份先分清再動(dòng)手接項(xiàng)目第一件事不是畫原理圖而是確認(rèn)AFD這三個(gè)字母在這個(gè)芯片里的具體含義。我吃過(guò)這方面的虧早期有個(gè)項(xiàng)目架構(gòu)文檔里寫的AFD我默認(rèn)按Analog Front End去搭結(jié)果評(píng)審時(shí)才發(fā)現(xiàn)團(tuán)隊(duì)的意思是Adaptive Frequency Divider整個(gè)前端方案全得推翻重來(lái)。所以拿到標(biāo)題先對(duì)齊定義這一步省不了。三種常見(jiàn)身份差異很大模擬前端Analog Front End用于傳感器信號(hào)鏈路包含放大、濾波、驅(qū)動(dòng)等模擬電路模塊輸出給ADC或比較器。常開(kāi)特性檢測(cè)Always-ON Feature Detection用于低功耗喚醒場(chǎng)景比如語(yǔ)音活動(dòng)檢測(cè)、運(yùn)動(dòng)手勢(shì)識(shí)別通常是一個(gè)極低功耗的模擬/數(shù)字混合電路一直在監(jiān)聽(tīng)有事件才喚醒主系統(tǒng)。自適應(yīng)分頻器Adaptive Frequency Divider用于時(shí)鐘與射頻鏈路根據(jù)輸入頻率或控制字動(dòng)態(tài)調(diào)整分頻比保證鎖相環(huán)或時(shí)鐘樹(shù)工作在正確頻率。三種方向的技術(shù)棧完全不同。模擬前端重低噪聲設(shè)計(jì)常開(kāi)檢測(cè)重功耗優(yōu)化和事件觸發(fā)邏輯自適應(yīng)分頻器重高速數(shù)字時(shí)序。本文后續(xù)默認(rèn)聚焦第一種因?yàn)樗卺t(yī)療、工業(yè)、IoT領(lǐng)域覆蓋最廣對(duì)有志入行的人來(lái)說(shuō)也是最值得先啃下來(lái)的方向。1.2 模擬前端在整個(gè)芯片里的位置和分工把一顆數(shù)?;旌闲酒瑪傞_(kāi)看AFD處在傳感器和ADC之間的咽喉位置。前面是電極、熱敏電阻、光電二極管或MEMS器件后面是SAR ADC、Sigma-Delta ADC或者比較器陣列。AFD的輸入直接連傳感器輸出直接送ADC它的性能天花板基本就是整個(gè)感知鏈路的性能天花板。這里有個(gè)容易被忽視的點(diǎn)AFD不只是“放大”而已。它還要負(fù)責(zé)阻抗匹配、共模電壓擺置、信號(hào)帶寬限制、抗混疊、ESD保護(hù)協(xié)調(diào)甚至在某些架構(gòu)里要承擔(dān)DC失調(diào)消除和增益自動(dòng)控制。也就是說(shuō)它是一整條信號(hào)調(diào)理鏈路的集合體不是單純一個(gè)運(yùn)放就能搞定的。從模塊劃分來(lái)看一個(gè)典型的AFD由以下幾個(gè)子電路組成輸入保護(hù)與偏置網(wǎng)絡(luò)控制ESD結(jié)構(gòu)、輸入阻抗匹配、傳感器偏置電流。低噪聲放大器LNA第一級(jí)放大決定整個(gè)鏈路的噪聲系數(shù)基底通常設(shè)計(jì)為固定增益比如6dB到20dB??删幊淘鲆娣糯笃鱌GA第二級(jí)可調(diào)增益配合后級(jí)ADC的滿量程范圍做動(dòng)態(tài)匹配??够殳B濾波器通常是RC結(jié)構(gòu)或者有源低通用來(lái)限制采樣前的信號(hào)帶寬。輸出驅(qū)動(dòng)級(jí)負(fù)責(zé)給采樣電容充電需要足夠帶寬和擺率才能保證ADC采樣準(zhǔn)確。參考與偏置電路帶隙基準(zhǔn)、偏置電流源保證全鏈路的PVT穩(wěn)定性。我見(jiàn)過(guò)不少新手把AFD理解成一個(gè)放大電路其實(shí)它更像一條流水線每個(gè)模塊各司其職任何一個(gè)環(huán)節(jié)帶寬不夠或者噪聲超標(biāo)整條鏈路的表現(xiàn)都會(huì)給你顏色看。2. 噪聲、增益、帶寬先把AFD核心指標(biāo)算明白2.1 噪聲指標(biāo)從輸入?yún)⒖荚肼暦赐颇K預(yù)算做AFD繞不開(kāi)噪聲。噪聲指標(biāo)最常用的表達(dá)是輸入?yún)⒖荚肼晢挝皇铅蘓rms或者nV/√Hz含義是把輸出端測(cè)到的所有噪聲折算回輸入端等效成輸入端串了一個(gè)多大噪聲源。這個(gè)值越下說(shuō)明鏈路本身引入的干擾越小。怎么定指標(biāo)從系統(tǒng)需求倒推。假設(shè)某個(gè)醫(yī)療信號(hào)采集系統(tǒng)要求信號(hào)分辨率達(dá)到5μV那么輸入?yún)⒖荚肼曋辽僖陀?μVrms留出設(shè)計(jì)裕量。再假設(shè)信號(hào)帶寬是1kHz換算成功率譜密度1μVrms除以帶寬的平方根√1000≈31.6得到約31.6nV/√Hz這個(gè)數(shù)直接作為L(zhǎng)NA的設(shè)計(jì)目標(biāo)。如果傳感器源的輸出阻抗比較高還要考慮電流噪聲——電流噪聲乘以源阻抗會(huì)變成電壓噪聲這一步經(jīng)常被人忽略做高阻抗電極接口時(shí)尤其要小心。怎么分配預(yù)算典型鏈路由兩級(jí)放大器加一個(gè)RC濾波器組成。第一級(jí)LNA貢獻(xiàn)的噪聲最致命因?yàn)楹竺嫠性肼暥家运脑鲆娌拍苷鬯慊貋?lái)。第二級(jí)PGA的噪聲貢獻(xiàn)相對(duì)小但也不能完全不管。經(jīng)驗(yàn)法則LNA噪聲占70%PGA占20%濾波器和其他占10%。這樣你在做LNA時(shí)心里有數(shù)不用追求每個(gè)模塊都極限把力氣花在刀刃上。2.2 增益分配動(dòng)態(tài)范圍和失真的平衡增益怎么分配直接影響信號(hào)質(zhì)量和功耗。傳感器的最大輸出幅度是已知的ADC的滿量程輸入范圍也是已知的增益的目標(biāo)就是把兩者匹配起來(lái)讓信號(hào)在整個(gè)工作范圍內(nèi)既不飽和也不浪費(fèi)量化精度。舉個(gè)例子某個(gè)壓力傳感器輸出范圍是±2mVADC滿量程是±1V需要500倍的總增益大約對(duì)應(yīng)54dB。這個(gè)增益不能全放在LNA上否則第二級(jí)PGA就沒(méi)有存在意義了而且過(guò)高的第一級(jí)增益會(huì)把傳感器直流失調(diào)也放大直接飽和后級(jí)。我的做法是把54dB拆成LNA 20dB加PGA 34dBLNA只做固定增益PGA根據(jù)現(xiàn)場(chǎng)信號(hào)強(qiáng)弱動(dòng)態(tài)調(diào)整。這樣傳感器帶來(lái)的直流失調(diào)先被LNA放大20dB后面PGA通過(guò)交流耦合或者校準(zhǔn)DAC把直流分量消掉再放大剩余信號(hào)動(dòng)態(tài)范圍就保住了。失真和增益強(qiáng)相關(guān)。增益越高每級(jí)處理大信號(hào)的余量越小THD越容易惡化。因此在分配增益時(shí)要反復(fù)核算每一級(jí)輸出擺幅確保最高增益配置下最差輸入信號(hào)也不至于把運(yùn)放推到軌上。遇到寬動(dòng)態(tài)范圍需求時(shí)可以考慮分段AGC或自動(dòng)增益校準(zhǔn)但那樣要把模擬增益控制和數(shù)字控制環(huán)路打通復(fù)雜度會(huì)上升取舍時(shí)需要結(jié)合系統(tǒng)粒度來(lái)決定。2.3 帶寬與建立時(shí)間采樣之前一切都要“坐穩(wěn)”AFD的輸出是送給ADC的ADC采樣時(shí)會(huì)在輸入端抽取電荷如果AFD的建立時(shí)間不夠采樣值就會(huì)引入誤差。這里的核心矛盾是帶寬太窄建立時(shí)間拉長(zhǎng)帶寬太寬噪聲變大。兩者之間要取均衡。建立時(shí)間的經(jīng)驗(yàn)估算公式是建立時(shí)間 ≈ π/2×帶寬的若干倍。要建立精度到N位的程度大概需要ln(2^N)/π個(gè)時(shí)間常數(shù)。比如一個(gè)12位ADC需要建立到0.024%精度大概需要7到8個(gè)時(shí)間常數(shù)。如果允許采樣建立窗口是1μs那AFD的閉環(huán)帶寬就要做到1.2MHz左右。這里面還要考慮采樣電容的大小電容越大需要的驅(qū)動(dòng)能力越強(qiáng)功耗自然上漲。選型時(shí)別只看帶寬輸出級(jí)能提供的峰值電流和擺率才是決定能否在規(guī)定時(shí)間內(nèi)完成充放電的關(guān)鍵。有個(gè)實(shí)際工程里的做法讓AFD驅(qū)動(dòng)級(jí)工作在AB類靜態(tài)電流不要太大但峰值電流能力要足。這樣在無(wú)信號(hào)時(shí)功耗低采樣瞬間又能“供得上電”兩邊都照顧到。3. 核心模塊設(shè)計(jì)與參數(shù)選擇從原理圖到版圖3.1 LNA的選型與偏置策略LNA是整個(gè)AFD的“耳朵”設(shè)計(jì)它的核心是低噪聲、高輸入阻抗、確定的低頻增益。常見(jiàn)的實(shí)現(xiàn)有兩種一種是用片內(nèi)運(yùn)放配外部電阻的閉環(huán)結(jié)構(gòu)另一種是源極退化或電容反饋的開(kāi)環(huán)結(jié)構(gòu)。閉環(huán)結(jié)構(gòu)增益精確但噪聲會(huì)受反饋電阻熱噪聲影響開(kāi)環(huán)結(jié)構(gòu)噪聲低但增益精度依賴器件匹配需要做校準(zhǔn)或者trim。我在實(shí)際項(xiàng)目中更常用電容反饋的閉環(huán)LNA原因有三第一電容不產(chǎn)生熱噪聲反饋網(wǎng)絡(luò)對(duì)噪聲貢獻(xiàn)小第二增益只由電容比值決定匹配精度可以做得很高第三通過(guò)開(kāi)關(guān)電容電路可以實(shí)現(xiàn)自動(dòng)失調(diào)消除省去外部大電容。代價(jià)是需要額外的開(kāi)關(guān)時(shí)序控制要和數(shù)字團(tuán)隊(duì)協(xié)同定義時(shí)鐘。偏置電路是LNA的命脈。偏置電流的大小直接決定輸入管的跨導(dǎo)跨導(dǎo)越高熱噪聲越低但功耗和面積也會(huì)增加。設(shè)計(jì)時(shí)先由噪聲目標(biāo)反推輸入管的gm再由gm反推偏置電流。碰到低功耗需求時(shí)一個(gè)常用的技巧是把輸入管偏置在弱反型區(qū)用稍微大一點(diǎn)的面積換低電流下的高gm效率但弱反型區(qū)匹配性和fT都差做寬帶信號(hào)時(shí)要慎重別只看噪聲。3.2 PGA的增益切換控制策略PGA通常是AFD里最“靈活”的模塊設(shè)計(jì)目標(biāo)是小面積、低功耗、低失真、增益可編程。實(shí)現(xiàn)方案上我傾向于用開(kāi)關(guān)電阻網(wǎng)絡(luò)加運(yùn)放的經(jīng)典結(jié)構(gòu)增益由電阻比值決定切換由數(shù)字控制字完成。這個(gè)結(jié)構(gòu)的難點(diǎn)在于開(kāi)關(guān)導(dǎo)通電阻會(huì)串入反饋網(wǎng)絡(luò)產(chǎn)生額外增益誤差和失真。解決辦法是讓開(kāi)關(guān)在反饋環(huán)內(nèi)或者做“先開(kāi)后斷”的時(shí)序控制減少信號(hào)路徑上的開(kāi)關(guān)影響。增益切換的時(shí)序也值得注意。如果PGA在ADC采樣過(guò)程中切換增益輸出會(huì)出現(xiàn)毛刺輕則產(chǎn)生噪點(diǎn)重則讓后級(jí)飽和。穩(wěn)妥的時(shí)序是在ADC保持階段完成增益切換等輸出重新建立穩(wěn)定后再開(kāi)始下一個(gè)采樣周期。這里要跟系統(tǒng)的時(shí)序控制仔細(xì)對(duì)齊別想當(dāng)然毛刺問(wèn)題debug起來(lái)容易懷疑人生。匹配問(wèn)題也很關(guān)鍵。電阻網(wǎng)絡(luò)里每個(gè)比例的匹配精度決定增益精度CMOS工藝下要做到0.1%以上的比例匹配需要精心做版圖畫對(duì)稱加dummy電阻并讓電阻條朝向一致。千萬(wàn)別為了省面積把電阻畫得太窄匹配和噪聲都會(huì)惡化。3.3 低功耗設(shè)計(jì)IoT場(chǎng)景下如何省電低功耗是現(xiàn)在AFD設(shè)計(jì)的重頭戲。傳感器節(jié)點(diǎn)要撐幾個(gè)月甚至幾年的紐扣電池AFD作為常開(kāi)的信號(hào)鏈路它的耗電直接決定系統(tǒng)待機(jī)時(shí)間。省電策略要分層次做不能只盯著某一塊電路。第一個(gè)層面是工作模式管理。AFD如果不需要連續(xù)監(jiān)測(cè)就設(shè)計(jì)了快速上電、穩(wěn)定、采樣、關(guān)斷這種序列化工作模式。上電穩(wěn)定時(shí)間要做到10μs以內(nèi)這要求偏置電路和參考電路必須快速settle犧牲一部分穩(wěn)態(tài)精度的同時(shí)換取休息時(shí)間總體平均功耗反而降下來(lái)。這個(gè)思路對(duì)電池供電的IoT節(jié)點(diǎn)特別管用。第二個(gè)層面是模擬電路本身的靜態(tài)功耗。在滿足噪聲和帶寬目標(biāo)的前提下盡量減小每一級(jí)的偏置電流。輸入管的白噪聲需求是最難妥協(xié)的它和電流強(qiáng)相關(guān)但后級(jí)電路、濾波器、輸出驅(qū)動(dòng)級(jí)可以適當(dāng)削弱因?yàn)檎鬯愕捷斎攵说脑肼曍暙I(xiàn)要除以總增益它們?cè)诘驮鲆嫦聸](méi)那么敏感。做功耗優(yōu)化時(shí)每級(jí)分開(kāi)核算別一刀切減電流。第三個(gè)層面是時(shí)鐘門控和關(guān)斷開(kāi)關(guān)。IDDQ級(jí)的漏電在深休止態(tài)很關(guān)鍵需要用高閾值開(kāi)關(guān)把偏置完全斷開(kāi)同時(shí)處理好關(guān)機(jī)時(shí)的浮空節(jié)點(diǎn)防止漏電通路和閂鎖風(fēng)險(xiǎn)。這些細(xì)節(jié)看起來(lái)小但實(shí)際芯片功耗測(cè)試時(shí)幾微安或幾十微安的差距往往就在這些地方體現(xiàn)出來(lái)。4. 數(shù)模協(xié)同與版圖設(shè)計(jì)AFD最容易翻車的地方4.1 數(shù)模接口的溝通與信號(hào)完整性設(shè)計(jì)現(xiàn)在的AFD很少是純模擬設(shè)計(jì)增益配置、失調(diào)校準(zhǔn)、模式切換、自測(cè)邏輯都需要數(shù)字控制信號(hào)介入。數(shù)模協(xié)同設(shè)計(jì)如果做不好后仿真的CRC錯(cuò)誤、時(shí)序冒險(xiǎn)、地彈噪聲會(huì)讓你反復(fù)懷疑人生。我的建議是建立一個(gè)規(guī)格文檔明確定義所有控制信號(hào)的時(shí)序、電平、同步機(jī)制和上電行為。模擬團(tuán)隊(duì)和數(shù)字團(tuán)隊(duì)用同一份規(guī)格文檔避免“你理解的增益切換和我理解的增益切換根本不是一回事”這種低級(jí)錯(cuò)誤。實(shí)際項(xiàng)目中控制信號(hào)統(tǒng)一用同步器打兩拍再進(jìn)模擬域避免亞穩(wěn)態(tài)污染偏置狀態(tài)如果有多個(gè)切換事件同時(shí)觸發(fā)還要約定優(yōu)先級(jí)和仲裁邏輯。數(shù)字噪聲對(duì)模擬電路的耦合尤其是襯底和電源上的毛刺是數(shù)?;旆吕镒畛R?jiàn)的痛點(diǎn)。處理手段有幾個(gè)關(guān)鍵模擬模塊單獨(dú)供電域、加去耦電容、把數(shù)字模塊布局遠(yuǎn)離高阻抗敏感節(jié)點(diǎn)、用保護(hù)環(huán)隔離。最直觀的經(jīng)驗(yàn)是從版圖上就把數(shù)字區(qū)和模擬區(qū)物理分開(kāi)別讓高速翻轉(zhuǎn)的緩沖器緊挨著LNA輸入管。4.2 版圖關(guān)鍵點(diǎn)匹配、屏蔽與ESD路徑版圖直接決定芯片能不能跑出仿真里的性能特別是模擬前端這種小信號(hào)高精度電路。幾個(gè)重點(diǎn)必須盯住。輸入差分對(duì)的匹配要放在最優(yōu)先位置。常見(jiàn)的做法是共質(zhì)心畫法把兩個(gè)輸入管交叉擺放并加dummy器件保證四周環(huán)境一致這樣梯度變化比如溫度梯度和工藝梯度對(duì)兩個(gè)管子的影響大致抵消。偏置電流鏡需要同樣的共質(zhì)心處理否則一個(gè)簡(jiǎn)單的2倍鏡像就可能出現(xiàn)1%以上的失配直接惡化整個(gè)鏈路的失調(diào)。高阻抗節(jié)點(diǎn)要做屏蔽處理。比如LNA的輸入端走線旁邊如果有數(shù)字信號(hào)線并行耦合干擾會(huì)直接進(jìn)入信號(hào)鏈路。處理方案是在敏感走線兩側(cè)加接地屏蔽線并且避免長(zhǎng)距離并行如果實(shí)在繞不開(kāi)就分層走線讓敏感信號(hào)被上下地平面包圍。這個(gè)跟PCB設(shè)計(jì)里的“包地”思路類似只是到了芯片版圖里距離更近、容性耦合更嚴(yán)重更馬虎不得。ESD路徑設(shè)計(jì)同樣不能輕視。芯片引腳進(jìn)來(lái)先過(guò)ESD保護(hù)結(jié)構(gòu)但ESD器件本身的電容和漏電會(huì)影響輸入阻抗和噪聲性能。合理的做法是把ESD二級(jí)管設(shè)計(jì)偏小只要滿足設(shè)定放電能力即可再結(jié)合鉗位電路共同完成保護(hù)同時(shí)保證在正常工作電壓下漏電足夠小。此外ESD器件的布局要盡量靠近焊盤避免把大電流引入到敏感的輸入管區(qū)域。5. 流片前評(píng)估與測(cè)試方案別等樣片回來(lái)才后悔5.1 仿真的層次與驗(yàn)證清單AFD項(xiàng)目的驗(yàn)證工作要在流片前充分鋪開(kāi)。仿真層次從原理圖前仿、版圖后仿到數(shù)?;旆旅恳徊蕉加懈髯缘膬r(jià)值千萬(wàn)不要直接省掉中間層。前仿主要驗(yàn)證功能和理想性能速度快、迭代方便適合把架構(gòu)方向大致鎖定。到了后仿階段寄生電容電阻會(huì)改變帶寬、相位裕度和噪聲尤其是高頻信號(hào)路徑寄生效應(yīng)可能讓增益峰值和帶寬明顯偏離預(yù)期。數(shù)?;旆聞t解決數(shù)字控制和模擬狀態(tài)的聯(lián)動(dòng)問(wèn)題跑典型工作序列確認(rèn)沒(méi)有時(shí)序沖突。我習(xí)慣在流片前用一張驗(yàn)證清單逐項(xiàng)打勾內(nèi)容大致包括輸入?yún)⒖荚肼暿欠駶M足指標(biāo)各增益檔位下的帶寬與相位裕度共模電壓范圍和失調(diào)校準(zhǔn)的有效范圍電源電壓的上下限與瞬態(tài)響應(yīng)ESD事件的鉗位行為溫度范圍內(nèi)增益和失調(diào)的漂移。清單雖然多但每一項(xiàng)都用固定的測(cè)試case自動(dòng)跑保證可復(fù)現(xiàn)、可回歸。5.2 測(cè)試方案設(shè)計(jì)從指標(biāo)到開(kāi)機(jī)自檢樣片回來(lái)后測(cè)試方案要提前寫好別等芯片在手上了才開(kāi)始想測(cè)什么。測(cè)試機(jī)臺(tái)、PCB、軟件上位機(jī)、探針臺(tái)與封裝協(xié)調(diào)都要一并考慮。測(cè)試計(jì)劃里最重要的是指標(biāo)映射把仿真里驗(yàn)證過(guò)的每一個(gè)參數(shù)對(duì)應(yīng)到一條具體的測(cè)試用例。比如噪聲測(cè)試需要用低噪聲源信號(hào)測(cè)試并配合軟件用FFT分析輸出譜密度再折算到輸入端增益和帶寬測(cè)試則用掃頻信號(hào)記錄幅頻響應(yīng)計(jì)算出-3dB點(diǎn)THD測(cè)試要在不同增益和輸入幅度下分別測(cè)量找出最差工作點(diǎn)。開(kāi)頭提到的“開(kāi)機(jī)自檢”值得多說(shuō)兩句。為了提升測(cè)試效率我傾向在芯片內(nèi)部設(shè)計(jì)一個(gè)測(cè)試模式能通過(guò)數(shù)字寄存器配置把片上信號(hào)源注入LNA輸入端再?gòu)腁DC讀出數(shù)據(jù)驗(yàn)證整鏈路的通路完整性。這樣在量產(chǎn)測(cè)試時(shí)可以快速篩掉接合問(wèn)題、裝配問(wèn)題和基本功能故障省下大量測(cè)試時(shí)間。5.3 常見(jiàn)問(wèn)題與調(diào)試實(shí)錄流片回來(lái)后我遇到的調(diào)試問(wèn)題無(wú)非集中在幾個(gè)固定的套路里提前列出來(lái)能省去很多從頭開(kāi)始的排查時(shí)間。第一個(gè)是輸出漂移。明明設(shè)計(jì)時(shí)失調(diào)很小實(shí)測(cè)卻很大十個(gè)里面有八個(gè)是輸入端的片外偏置電阻或傳感器源阻抗不平衡導(dǎo)致。把輸入短路到共模電壓再測(cè)一次如果失調(diào)消失問(wèn)題就出在外圍連接上而不是芯片本身。第二個(gè)是噪聲比仿真高。優(yōu)先檢查測(cè)試環(huán)境有沒(méi)有地環(huán)路或干擾峰值。用電池供電的隔離板替換掉開(kāi)關(guān)電源噪聲通常會(huì)明顯下降。如果噪聲還是高再查版圖的屏蔽是否到位多半是輸入端走線受開(kāi)關(guān)節(jié)點(diǎn)耦合。第三個(gè)是增益檔位切換時(shí)輸出毛刺。這個(gè)我在前面講過(guò)多半是時(shí)序沒(méi)做“先斷后合”或者切換完建立時(shí)間不足。先看寄存器配置的切換順序再確認(rèn)PID的settle窗口是否足夠如果還不夠就需要在版圖里優(yōu)化關(guān)鍵路徑的寄生電容。第四個(gè)是ESD測(cè)試不通過(guò)。最常見(jiàn)的原因是ESD器件設(shè)計(jì)余量不夠或布局位置偏離焊盤保護(hù)路徑在電流大的時(shí)候先走了不該走的柵氧化層。要重新審視ESD的旁路路徑和觸發(fā)電壓必要時(shí)在版圖上把鉗位器件移到焊盤旁邊、減少寄生路徑。這四類問(wèn)題雖然不是全部但覆蓋了大部分返工場(chǎng)景。每次調(diào)試都是一次對(duì)設(shè)計(jì)假設(shè)的驗(yàn)證排查過(guò)程本身也在加深對(duì)電路的理解。做模擬前端的樂(lè)趣和痛苦都在這里失敗數(shù)據(jù)往往比成功數(shù)據(jù)更能幫你成長(zhǎng)。6. 工具鏈與團(tuán)隊(duì)協(xié)作AFD研發(fā)效率怎么提上去6.1 主流的模擬設(shè)計(jì)工具鏈怎么配AFD設(shè)計(jì)工具鏈我目前最常用的是經(jīng)典的全流程方案原理圖和版圖用同一套EDA環(huán)境仿真用Spectre后仿提取用寄生參數(shù)抽取工具數(shù)?;旆掠脤?duì)應(yīng)的混合仿真器。這套組合的好處是各個(gè)環(huán)節(jié)數(shù)據(jù)格式統(tǒng)一不像混搭工具鏈那樣經(jīng)常出格式轉(zhuǎn)換的兼容問(wèn)題。不同團(tuán)隊(duì)也會(huì)有自己的補(bǔ)充工具比如Matlab做系統(tǒng)級(jí)建模先算清楚指標(biāo)分配Python用于測(cè)試數(shù)據(jù)分析跑批量噪聲和線性度的統(tǒng)計(jì)還有用腳本做PVT批量仿真和數(shù)據(jù)清洗減少人工翻波形的時(shí)間。工具鏈的選型沒(méi)有絕對(duì)標(biāo)準(zhǔn)核心是保證數(shù)據(jù)流暢通別在轉(zhuǎn)換環(huán)節(jié)浪費(fèi)太多時(shí)間。順便提一句初版設(shè)計(jì)時(shí)一定要建立仿真環(huán)境的版本管理年代久遠(yuǎn)之后反復(fù)橫跳的時(shí)候你就知道這件事多救命了。6.2 和數(shù)字、算法、測(cè)試團(tuán)隊(duì)的協(xié)作邊界AFD作為一個(gè)模擬模塊它的接口不止是模擬信號(hào)還包括數(shù)字寄存器、時(shí)序控制、測(cè)試模式等等。這就決定了你不可能一個(gè)人閉門造車必須跟各方配合好。和數(shù)字團(tuán)隊(duì)明確控制接口的定義什么時(shí)候用脈沖什么時(shí)候用電平誰(shuí)來(lái)做同步器誰(shuí)保證不產(chǎn)生亞穩(wěn)態(tài)都要落到文檔里。和算法團(tuán)隊(duì)對(duì)齊系統(tǒng)指標(biāo)他們關(guān)心的是SNR、SFDR這些上層指標(biāo)你要能把模塊級(jí)的噪聲和失真映射到系統(tǒng)級(jí)上溝通時(shí)要善于用對(duì)方的語(yǔ)言表達(dá)你的約束。和測(cè)試團(tuán)隊(duì)提前確認(rèn)測(cè)試計(jì)劃尤其是封裝方案、測(cè)試引腳復(fù)用、測(cè)試模式能不能在不影響正常功能的條件下實(shí)現(xiàn)這些如果等你流片回來(lái)再談基本只能收獲一地雞毛??鐖F(tuán)隊(duì)協(xié)作有一條我特別想提醒接口改動(dòng)一定要走正式的變更流程。任何人都不要口頭說(shuō)“改一下就行”哪怕只是一個(gè)寄存器位的定義調(diào)整也要保證設(shè)計(jì)和驗(yàn)證雙方的文檔同步更新不然最后流片回來(lái)發(fā)現(xiàn)功能對(duì)不上追溯起來(lái)極其痛苦。6.3 設(shè)計(jì)復(fù)用與跨項(xiàng)目沉淀AFD模塊有很強(qiáng)的復(fù)用價(jià)值。不同項(xiàng)目之間傳感器類型不同但是信號(hào)鏈路的架構(gòu)和模塊設(shè)計(jì)有很多共性。早點(diǎn)做好設(shè)計(jì)沉淀后面每個(gè)新項(xiàng)目的啟動(dòng)速度都會(huì)快不少。我在團(tuán)隊(duì)內(nèi)推動(dòng)了幾件事建立模擬IP庫(kù)把經(jīng)過(guò)流片驗(yàn)證的LNA、PGA、濾波器、帶隙基準(zhǔn)這些模塊整理成可復(fù)用的單元配套完整的仿真腳本、版圖和文檔制定設(shè)計(jì)規(guī)范把電源域劃分、ESD策略、匹配畫法這些經(jīng)驗(yàn)固化成規(guī)則定期做設(shè)計(jì)評(píng)審和復(fù)盤把每個(gè)項(xiàng)目踩過(guò)的坑、流片回來(lái)的問(wèn)題歸類整理形成團(tuán)隊(duì)的避坑知識(shí)庫(kù)。這里有個(gè)容易踩的坑IP復(fù)用不等于照搬。每個(gè)項(xiàng)目的工藝節(jié)點(diǎn)、電源域、接口電平可能都不一樣復(fù)用的核心是借鑒架構(gòu)和關(guān)鍵參數(shù)設(shè)計(jì)而不是把舊版圖原封不動(dòng)拖過(guò)來(lái)用。一定要在新的工藝和場(chǎng)景下重新仿真驗(yàn)證特別是噪聲、帶寬、ESD這些跟工藝強(qiáng)相關(guān)的指標(biāo)絕不能想當(dāng)然。7. 從AFD設(shè)計(jì)到系統(tǒng)優(yōu)化的進(jìn)階思路搞清楚了基礎(chǔ)的AFD設(shè)計(jì)下一步往往就是往系統(tǒng)級(jí)優(yōu)化去走。單純把一個(gè)模塊調(diào)好是一回事把它放到整個(gè)感知系統(tǒng)里做到協(xié)同最優(yōu)是另一回事。一個(gè)值得投入的方向是自適應(yīng)配置與校準(zhǔn)。AFD的噪聲、帶寬、增益、功耗之間存在復(fù)雜的互相制約關(guān)系如果能讓AFD根據(jù)外部環(huán)境或數(shù)字控制指令實(shí)時(shí)調(diào)整自身狀態(tài)就能在信噪比、動(dòng)態(tài)范圍和功耗之間自動(dòng)找到最優(yōu)工作點(diǎn)。比如檢測(cè)到信號(hào)很弱時(shí)增加增益和帶寬檢測(cè)到信號(hào)穩(wěn)定時(shí)切換到低功耗高精度的模式。這需要ADC和AFD之間有數(shù)據(jù)交互讓系統(tǒng)實(shí)時(shí)感知輸入信號(hào)的特征才能做出合理的配置決策。這也是很多嵌入式算法里“智能感知”的物理基礎(chǔ)。另一個(gè)方向是基于統(tǒng)計(jì)特性的在線校準(zhǔn)。用PRBS或注入測(cè)試信號(hào)等方式在線估計(jì)前端鏈路的傳遞函數(shù)從而修正PGA的實(shí)際增益誤差和失調(diào)漂移。這些校準(zhǔn)單元不需要額外的高速數(shù)字處理只要做簡(jiǎn)單的統(tǒng)計(jì)計(jì)算即可但對(duì)系統(tǒng)精度的提升非常明顯。跟算法協(xié)同優(yōu)化也是繞不開(kāi)的路。例如在做生物電信號(hào)處理時(shí)算法用模板匹配或特征提取來(lái)識(shí)別信號(hào)形態(tài)AFD的設(shè)計(jì)就可以把帶寬收窄到信號(hào)頻段附近專門優(yōu)化帶內(nèi)噪聲同時(shí)讓算法實(shí)時(shí)反饋調(diào)整采樣率和濾波器帶寬形成閉環(huán)的測(cè)控協(xié)同。這類方向應(yīng)該是AFD未來(lái)最有價(jià)值的發(fā)展趨勢(shì)之一。我記得以前在某次流片測(cè)試?yán)锇l(fā)現(xiàn)了一個(gè)奇怪現(xiàn)象系統(tǒng)整體SNR比仿真低不少單測(cè)每級(jí)模塊又都達(dá)標(biāo)。后來(lái)排查發(fā)現(xiàn)是偏置電源上有低頻紋波這個(gè)紋波的頻率恰好落在信號(hào)頻帶內(nèi)噪聲指標(biāo)直接被打穿。換上低噪聲LDO之后SNR恢復(fù)到了正常水平。這個(gè)小問(wèn)題讓我印象很深A(yù)FD的指標(biāo)優(yōu)化永遠(yuǎn)不止模塊本身電源純凈度、參考穩(wěn)定性、布線與屏蔽這些外圍因素往往才是最后那3dB來(lái)自哪里。如果你問(wèn)我在AFD設(shè)計(jì)里最重要的三件事是什么我會(huì)說(shuō)指標(biāo)先算明白版圖別草率測(cè)試早規(guī)劃。技術(shù)總是在迭代但做模擬前端的基本功以及尊重每一個(gè)細(xì)節(jié)的態(tài)度什么時(shí)候都不會(huì)過(guò)時(shí)。希望這篇內(nèi)容能幫你在AFD芯片設(shè)計(jì)的路上少踩幾個(gè)我當(dāng)年踩過(guò)的坑。