證全流程指南)
1. 片上電感仿真驗(yàn)證的整體思路與方案選型1.1 為什么要在Virtuoso里跑EMX Modelgen片上電感的仿真驗(yàn)證是射頻和模擬電路設(shè)計(jì)里繞不開的一道坎。很多剛接觸Virtuoso的朋友畫完電感版圖之后不知道下一步該干什么或者直接用理想電感模型去跑SP仿真結(jié)果流片回來發(fā)現(xiàn)Q值差了一大截頻率偏移得離譜。問題的根源在于片上電感不是一個(gè)理想元件它的寄生效應(yīng)、襯底損耗、金屬趨膚效應(yīng)都會(huì)顯著影響實(shí)際性能必須通過電磁場求解器提取出等效模型再代回電路里做聯(lián)合仿真。EMX Modelgen 2.2就是干這個(gè)事的。它是集成在Cadence Virtuoso環(huán)境里的一個(gè)電磁場求解器接口工具能夠讀取版圖上的金屬走線信息通過求解麥克斯韋方程組提取出包含寄生電容、襯底耦合、金屬損耗在內(nèi)的寬帶S參數(shù)模型然后自動(dòng)生成可用于電路仿真的symbol和網(wǎng)表。整個(gè)流程走通之后你可以在同一個(gè)Virtuoso session里完成從版圖到電路仿真的閉環(huán)驗(yàn)證。這套方案適合誰一是做射頻IC設(shè)計(jì)的工程師尤其是做LNA、VCO、PA這類需要片上電感的模塊二是做電源管理芯片的朋友現(xiàn)在很多DC-DC也把電感集成到片上了需要評估螺旋電感的損耗三是高校里做毫米波電路研究的研究生流片機(jī)會(huì)少仿真驗(yàn)證必須做扎實(shí)。1.2 整體流程拆解從版圖到S參數(shù)再到電路驗(yàn)證整個(gè)驗(yàn)證流程可以拆成五個(gè)階段我用一張表把每個(gè)階段的輸入輸出和關(guān)鍵動(dòng)作列清楚階段輸入關(guān)鍵動(dòng)作輸出版圖準(zhǔn)備電感版圖cell檢查層次、端口、襯底定義干凈的版圖cellEMX設(shè)置版圖cell 工藝文件配置求解頻率、網(wǎng)格、端口EMX仿真配置文件電磁求解配置文件啟動(dòng)求解器監(jiān)控收斂S參數(shù)文件.sNpModelgen生成S參數(shù)文件選擇模型階數(shù)擬合寬帶模型Symbol 網(wǎng)表電路驗(yàn)證Symbol 測試電路跑SP、瞬態(tài)、諧波平衡性能指標(biāo)報(bào)告這個(gè)流程里最容易出問題的環(huán)節(jié)是版圖準(zhǔn)備和Modelgen擬合。版圖里如果有懸空的金屬、未定義的襯底節(jié)點(diǎn)、或者端口加錯(cuò)了位置EMX求解出來的結(jié)果會(huì)完全不可信。Modelgen擬合階段如果階數(shù)選得太低寬帶特性會(huì)失真選得太高又可能引入不收斂的極點(diǎn)。提示建議在開始之前先把工藝庫里的EMX技術(shù)文件.tech文件確認(rèn)好里面定義了金屬層疊結(jié)構(gòu)、介質(zhì)厚度、襯底摻雜濃度等關(guān)鍵參數(shù)。這個(gè)文件通常由Foundry提供如果沒有需要自己根據(jù)工藝文檔手動(dòng)建立。1.3 工具版本與環(huán)境的注意事項(xiàng)EMX Modelgen 2.2這個(gè)版本號值得說一下。2.2相比早期版本最大的改進(jìn)是支持了多端口寬帶擬合和襯底網(wǎng)絡(luò)自動(dòng)生成。以前跑一個(gè)差分電感需要手動(dòng)把單端S參數(shù)轉(zhuǎn)成差分現(xiàn)在Modelgen可以直接處理多端口數(shù)據(jù)自動(dòng)生成帶中心抽頭的差分模型。環(huán)境方面Virtuoso的版本建議用IC617或IC618這兩個(gè)版本對EMX的集成度最好。IC5141雖然也能跑但Modelgen的圖形界面會(huì)有兼容性問題。另外EMX求解器本身是獨(dú)立進(jìn)程對內(nèi)存要求比較高一個(gè)中等復(fù)雜度的電感版圖求解時(shí)占用的內(nèi)存大約在4GB到16GB之間取決于網(wǎng)格密度和頻率點(diǎn)數(shù)。我個(gè)人的經(jīng)驗(yàn)是如果只是驗(yàn)證一個(gè)簡單的方形螺旋電感8GB內(nèi)存的機(jī)器就能跑如果是差分電感或者變壓器結(jié)構(gòu)建議32GB起步。求解時(shí)間方面單端電感在10GHz以內(nèi)大約需要5到15分鐘如果頻率掃到40GHz以上時(shí)間會(huì)翻倍。2. 版圖準(zhǔn)備與EMX求解器配置細(xì)節(jié)2.1 電感版圖的清理與端口定義在Virtuoso里畫完電感之后第一件事不是直接打開EMX而是清理版圖。什么叫清理就是把所有跟電磁仿真無關(guān)的層次關(guān)掉只保留金屬層、通孔層和襯底接觸層。具體操作是在Layout窗口里打開LSWLayer Selection Window把diffusion、poly、nwell這些半導(dǎo)體層設(shè)為不可見但不要?jiǎng)h除因?yàn)镋MX需要讀取襯底信息。端口定義是第二個(gè)關(guān)鍵點(diǎn)。片上電感的端口通常加在電感的兩端如果是差分電感還要加中心抽頭。端口的加法是在版圖上放置一個(gè)pin然后用金屬線連接到電感的端點(diǎn)。注意pin的名字必須和后續(xù)EMX設(shè)置里的端口名一致否則求解器找不到激勵(lì)點(diǎn)。這里有個(gè)坑很多新手直接把pin放在電感線圈的端點(diǎn)但那個(gè)位置有拐角電流分布不均勻。正確的做法是從電感端點(diǎn)拉一段短金屬線出來在直線段上放pin這樣端口阻抗更接近50歐姆求解結(jié)果更穩(wěn)定。襯底節(jié)點(diǎn)的定義也容易被忽略。EMX需要知道襯底在哪里通常是在版圖最底層加一個(gè)大的襯底接觸環(huán)然后把這個(gè)環(huán)定義為襯底端口。如果沒有這個(gè)環(huán)EMX會(huì)假設(shè)襯底是無限大的理想導(dǎo)體結(jié)果會(huì)偏樂觀。2.2 EMX求解頻率與網(wǎng)格劃分的取舍打開EMX Modelgen的界面之后第一個(gè)要填的是頻率范圍。這里有個(gè)原則頻率范圍要覆蓋你關(guān)心的所有頻段并且留出足夠的余量。比如你的電路工作在2.4GHz那么EMX掃頻至少要從0.1GHz掃到10GHz。為什么因?yàn)镸odelgen在擬合寬帶模型時(shí)需要高頻段的數(shù)據(jù)來準(zhǔn)確提取寄生電容如果只掃到2.4GHz擬合出來的模型在諧波頻段會(huì)不準(zhǔn)。頻率點(diǎn)數(shù)也有講究。默認(rèn)是每倍頻程10個(gè)點(diǎn)對于窄帶應(yīng)用夠了但如果是超寬帶設(shè)計(jì)建議加到每倍頻程20個(gè)點(diǎn)。點(diǎn)數(shù)越多求解時(shí)間越長但擬合精度越高。我一般會(huì)先用默認(rèn)點(diǎn)數(shù)跑一遍看看S參數(shù)的平滑度如果曲線有毛刺再加密點(diǎn)數(shù)重跑。網(wǎng)格劃分是EMX求解器的核心參數(shù)。網(wǎng)格越密精度越高但內(nèi)存和時(shí)間消耗呈平方增長。EMX提供了三種網(wǎng)格模式粗網(wǎng)格、中等網(wǎng)格、細(xì)網(wǎng)格。對于片上電感我推薦用中等網(wǎng)格起步。如果發(fā)現(xiàn)低頻段的電感值偏差超過5%再切換到細(xì)網(wǎng)格。注意網(wǎng)格劃分的密度和金屬線寬有關(guān)。如果電感的最小線寬是2微米那么網(wǎng)格尺寸應(yīng)該小于1微米才能準(zhǔn)確捕捉邊緣電流效應(yīng)。EMX會(huì)自動(dòng)根據(jù)線寬調(diào)整網(wǎng)格但你可以手動(dòng)設(shè)置最小網(wǎng)格尺寸來覆蓋這個(gè)需求。2.3 襯底耦合與金屬損耗的建模選項(xiàng)EMX的求解器設(shè)置里有兩個(gè)重要選項(xiàng)襯底耦合和金屬損耗。襯底耦合默認(rèn)是打開的它會(huì)在求解時(shí)考慮硅襯底的電阻和電容效應(yīng)。對于低阻襯底比如10歐姆·厘米以下這個(gè)選項(xiàng)必須打開否則Q值會(huì)算得偏高。對于高阻襯底影響相對小一些但建議也打開。金屬損耗包括趨膚效應(yīng)和鄰近效應(yīng)。趨膚效應(yīng)是高頻電流集中在金屬表面流動(dòng)導(dǎo)致有效電阻增加鄰近效應(yīng)是相鄰金屬線之間的電流相互影響。EMX默認(rèn)會(huì)計(jì)算這兩種效應(yīng)但有一個(gè)選項(xiàng)叫**“厚金屬近似”**如果勾選求解器會(huì)用解析公式快速估算趨膚效應(yīng)而不是直接求解。這個(gè)選項(xiàng)適合快速迭代但最終驗(yàn)證時(shí)建議關(guān)掉用全波求解。還有一個(gè)容易忽略的選項(xiàng)是**“包含輻射損耗”**。對于片上電感輻射損耗在10GHz以下通常可以忽略但如果你的電感工作在毫米波頻段這個(gè)選項(xiàng)要打開。打開之后求解時(shí)間會(huì)增加約30%但精度提升明顯。3. 從S參數(shù)到Modelgen模型生成的實(shí)操過程3.1 運(yùn)行EMX求解并檢查收斂性配置好之后點(diǎn)擊“Run EMX”按鈕求解器會(huì)在后臺啟動(dòng)。這時(shí)候不要急著關(guān)窗口要盯著日志文件看。日志里會(huì)輸出每一步的求解信息包括網(wǎng)格數(shù)量、矩陣大小、迭代次數(shù)、殘差收斂情況。收斂性是判斷結(jié)果是否可信的第一道關(guān)卡。如果日志里出現(xiàn)“residual not converged”或者“maximum iterations reached”說明求解沒有收斂結(jié)果不可信。常見原因是網(wǎng)格太粗或者頻率點(diǎn)太密。解決辦法是先降低頻率點(diǎn)數(shù)用粗網(wǎng)格跑一遍確認(rèn)收斂后再逐步加密。求解完成后EMX會(huì)生成一個(gè).sNp文件N是端口數(shù)。比如兩端口的電感生成的就是.s2p文件。這個(gè)文件里包含了所有頻點(diǎn)的S參數(shù)可以用Virtuoso自帶的SP仿真器直接查看。我一般會(huì)先畫一下S11和S21的幅度曲線看看諧振點(diǎn)在哪里Q值的峰值在什么頻率。3.2 Modelgen模型階數(shù)的選擇與擬合策略拿到S參數(shù)之后下一步是打開Modelgen導(dǎo)入.sNp文件然后選擇模型階數(shù)。Modelgen支持兩種模型物理模型和行為模型。物理模型是基于電感的等效電路拓?fù)浔热绂心P?、T模型每個(gè)元件都有物理意義行為模型是純數(shù)學(xué)擬合用有理函數(shù)逼近S參數(shù)精度高但元件沒有物理對應(yīng)。對于片上電感我推薦用物理模型因?yàn)楹罄m(xù)做電路仿真時(shí)你可以直接看到電感值、Q值、寄生電容這些參數(shù)方便調(diào)試。物理模型的階數(shù)通常選2到4階。階數(shù)太低寬帶擬合不準(zhǔn)階數(shù)太高可能出現(xiàn)過沖或者不收斂。擬合策略上Modelgen提供了三種權(quán)重模式等權(quán)重、低頻加權(quán)、高頻加權(quán)。如果你的應(yīng)用是窄帶的比如只關(guān)心2.4GHz附近選低頻加權(quán)讓擬合器在低頻段更準(zhǔn)如果是超寬帶選等權(quán)重。我一般先用等權(quán)重跑一遍看看擬合誤差曲線如果某個(gè)頻段誤差大再調(diào)整權(quán)重。擬合完成后Modelgen會(huì)生成一個(gè)symbol和一個(gè)網(wǎng)表文件。Symbol可以直接放到原理圖里用網(wǎng)表文件里是子電路定義包含了所有擬合出來的元件值。建議把網(wǎng)表文件打開看一眼確認(rèn)電感值和Q值在合理范圍內(nèi)。如果電感值和你設(shè)計(jì)的目標(biāo)值差太多說明版圖有問題需要回去檢查。3.3 生成Symbol并導(dǎo)入原理圖驗(yàn)證Modelgen生成的symbol默認(rèn)是矩形框端口在兩邊。你可以編輯symbol把它畫成電感的符號方便識別。導(dǎo)入原理圖之后先做一個(gè)簡單的SP仿真端口1接50歐姆端口2接50歐姆跑S參數(shù)看看和EMX原始S參數(shù)是否一致。如果一致說明Modelgen擬合沒問題。如果不一致檢查兩個(gè)地方一是symbol的端口順序是否和.sNp文件一致二是網(wǎng)表里的子電路名是否和symbol引用的名一致。這兩個(gè)地方最容易出錯(cuò)。驗(yàn)證通過之后就可以把電感symbol放到實(shí)際的電路里做聯(lián)合仿真了。比如做一個(gè)LNA把電感放在輸入匹配網(wǎng)絡(luò)里跑SP仿真看增益和噪聲系數(shù)。這時(shí)候你會(huì)發(fā)現(xiàn)用EMX提取的模型跑出來的結(jié)果和用理想電感跑出來的結(jié)果差異可能非常大尤其是在高頻段。這就是為什么必須做電磁提取的原因。4. 常見問題排查與避坑經(jīng)驗(yàn)實(shí)錄4.1 EMX求解不收斂的排查路徑EMX求解不收斂是最常見的問題表現(xiàn)是日志里報(bào)錯(cuò)或者求解時(shí)間異常長。排查路徑可以按以下順序走檢查版圖是否有懸空金屬。懸空的金屬塊會(huì)形成浮動(dòng)節(jié)點(diǎn)導(dǎo)致矩陣奇異。解決辦法是刪除懸空金屬或者用通孔連接到襯底。檢查端口是否正確。端口如果加在電感內(nèi)部或者端口之間有短路求解器會(huì)報(bào)錯(cuò)。用Virtuoso的DRC工具先跑一遍確認(rèn)沒有短路。降低頻率點(diǎn)數(shù)。頻率點(diǎn)太密會(huì)導(dǎo)致相鄰頻點(diǎn)的場分布變化太小迭代難以收斂。先把點(diǎn)數(shù)減半跑通之后再加密。切換網(wǎng)格模式。粗網(wǎng)格有時(shí)候反而更容易收斂因?yàn)榫仃嚄l件數(shù)更好。先用粗網(wǎng)格跑確認(rèn)收斂后再換中等網(wǎng)格。檢查工藝文件。如果.tech文件里的介質(zhì)厚度或者金屬電導(dǎo)率填錯(cuò)了求解器可能無法收斂。對照工藝文檔逐項(xiàng)檢查。我遇到過一次求解一直不收斂查了半天發(fā)現(xiàn)是襯底接觸環(huán)沒有閉合導(dǎo)致襯底節(jié)點(diǎn)浮空。把環(huán)補(bǔ)上之后一次就跑通了。所以版圖的完整性檢查比什么都重要。4.2 Modelgen擬合誤差過大的調(diào)整方法擬合誤差過大表現(xiàn)為Modelgen生成的模型跑出來的S參數(shù)和EMX原始S參數(shù)在某個(gè)頻段偏差超過10%。調(diào)整方法有以下幾個(gè)增加模型階數(shù)。從2階升到3階或4階擬合精度會(huì)明顯提升。但注意階數(shù)太高可能導(dǎo)致模型在直流附近出現(xiàn)不合理的極點(diǎn)跑瞬態(tài)仿真時(shí)會(huì)不收斂。調(diào)整權(quán)重。如果誤差集中在低頻選低頻加權(quán)如果誤差在高頻選高頻加權(quán)。Modelgen的權(quán)重選項(xiàng)在擬合設(shè)置里可以手動(dòng)調(diào)整每個(gè)頻段的權(quán)重系數(shù)。檢查S參數(shù)質(zhì)量。如果EMX原始S參數(shù)本身就有毛刺擬合肯定不準(zhǔn)。回去檢查EMX的收斂性確保原始數(shù)據(jù)是干凈的。分段擬合。如果寬帶擬合誤差大可以把頻段分成兩段分別擬合然后在電路里用開關(guān)切換。這種方法適合超寬帶應(yīng)用但會(huì)增加電路復(fù)雜度。4.3 仿真結(jié)果與實(shí)測偏差的歸因分析即使EMX和Modelgen都跑通了仿真結(jié)果和實(shí)測之間仍然可能有偏差。根據(jù)我的經(jīng)驗(yàn)偏差來源主要有以下幾個(gè)偏差來源影響程度改善方法工藝參數(shù)不準(zhǔn)高用Foundry提供的精確.tech文件網(wǎng)格太粗中加密網(wǎng)格尤其是金屬邊緣襯底模型簡化中打開襯底耦合定義襯底接觸端口阻抗不匹配低確保端口拉到50歐姆溫度效應(yīng)未考慮低在EMX里設(shè)置工作溫度其中工藝參數(shù)不準(zhǔn)是最大的偏差來源。很多Foundry提供的.tech文件是典型值但實(shí)際流片時(shí)金屬厚度和介質(zhì)厚度會(huì)有±10%的波動(dòng)。如果要做高精度設(shè)計(jì)建議用Monte Carlo仿真把工藝波動(dòng)考慮進(jìn)去。還有一個(gè)容易被忽略的點(diǎn)EMX求解的是電磁場不包含封裝和PCB的影響。如果你的電感是通過bond wire連接到PCB的bond wire的電感必須單獨(dú)建模否則仿真結(jié)果會(huì)偏樂觀。我一般會(huì)在電路里串聯(lián)一個(gè)0.5nH到1nH的電感來模擬bond wire。4.4 提升仿真效率的實(shí)用技巧最后分享幾個(gè)提升效率的技巧復(fù)用EMX結(jié)果。如果電感版圖沒有改動(dòng)只是改了電路不需要重新跑EMX。直接復(fù)用之前的.sNp文件和Modelgen模型即可。參數(shù)化掃描。如果要做電感值掃描可以在Virtuoso里用參數(shù)化cell然后批量跑EMX。EMX支持命令行模式可以寫腳本自動(dòng)跑多個(gè)版本。并行求解。EMX支持多線程在設(shè)置里把線程數(shù)調(diào)到CPU核心數(shù)求解時(shí)間可以縮短30%到50%。緩存網(wǎng)格。如果多次求解同一個(gè)版圖只是頻率范圍不同可以緩存網(wǎng)格數(shù)據(jù)避免重復(fù)劃分網(wǎng)格。我在實(shí)際項(xiàng)目里一個(gè)電感從版圖到模型生成熟練之后大約30分鐘就能跑完一輪。關(guān)鍵是第一次要把流程走通把工藝文件和模板配置好后面就是重復(fù)勞動(dòng)了。踩過幾次坑之后你會(huì)發(fā)現(xiàn)最耗時(shí)間的不是求解本身而是排查版圖和配置錯(cuò)誤。所以前期花時(shí)間把版圖清理干凈比什么都值。