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