置技巧與TDR仿真驗證)
先說個自己踩過的坑。我剛開始用Sigrity那陣子拿著網(wǎng)上下載的Demo板在PowerSI里跑S參數(shù)怎么看怎么別扭——諧振點位置跟手算差距很大TDR曲線開段就往下掉。折騰了一下午最后發(fā)現(xiàn)問題是出在疊層里一塊看起來無關(guān)緊要的銅皮上模型里整層都是實心銅可實際板子在那里是有反焊盤鏤空的。這就是今天要聊的Special Void。很多新手和我當(dāng)初一樣把Special Void當(dāng)成一個高級功能忽略掉總覺得疊層設(shè)好了、端口加對了就能開跑。但實測幾次就會發(fā)現(xiàn)這個設(shè)置直接影響仿真結(jié)果能不能對上真實板子。這篇文章就把Special Void從概念到操作完整過一遍包括PowerSI里的設(shè)置方法、常見坑再用Speed2000做TDR仿真驗證一遍效果。適合剛接觸Sigrity、或者被仿真曲線折磨到頭禿的工程師參考。1. 為什么要折騰Special Void一個新手最容易忽略的“隱形開關(guān)”1.1 Special Void到底是干什么的Special Void字面上就是特殊挖空區(qū)域。在Sigrity的電磁仿真環(huán)境里它用來在某個導(dǎo)體層或介質(zhì)區(qū)域上人為定義一塊被剔除的幾何范圍。說直白點就是告訴仿真器這塊地方在真實板子上是沒有銅的或者這個介質(zhì)區(qū)域里不應(yīng)該填充滿材料你仿真的時候別把它當(dāng)成實心物體處理。我經(jīng)常用一句話跟同事解釋疊層設(shè)置定義的是板子里有什么Special Void定義的是板子里哪里其實沒有。兩者缺一不可。為什么要這么做因為實際PCB不是均勻整齊的。連接器下方的反焊盤、過孔旁邊的避讓區(qū)、屏蔽罩底部的鏤空、甚至某些高速區(qū)域刻意挖掉的參考層都會在真實物理結(jié)構(gòu)中形成空洞。如果仿真模型里這些空洞不存在銅皮面積變大寄生電容、寄生電感都會偏離實際值高頻段性能差異尤其明顯。舉個例子。你手里有一根50Ω微帶線頂層走線第二層是完整地平面。按照理論公式線寬和介質(zhì)厚度選好了就是50Ω。可實際板子在走線兩端各有一個SMA連接器連接器焊盤下面的地層是有反焊盤挖空的。仿真時如果不把這個反焊盤做出來端口處額外的平板電容會被算進(jìn)去TDR波形在起始位置就會比50Ω低一截看起來像阻抗偏低。但其實不是走線的問題是模型沒做對。Special Void就是用來解決這類問題的。它能把端口下方、器件下方、特定走線附近的銅皮精確挖掉讓仿真模型和真實板子對齊。1.2 什么時候必須設(shè)置Void什么時候可以跳過剛開始用Sigrity的人常問是不是每個項目都要仔細(xì)做Void我的答案是看仿真目標(biāo)。如果只是做疊層參數(shù)掃描、粗略看看走線諧振或者模型本身是理想化的簡單結(jié)構(gòu)Void可以先不加結(jié)果趨勢是準(zhǔn)的。但如果要做以下這幾類工作Void基本繞不開S參數(shù)提取尤其是端口附近有連接器、接插件、測試焊盤的結(jié)構(gòu)TDR仿真因為TDR對阻抗變化極其敏感起始位置幾十飛法的電容差異都能在波形上看到電源完整性分析電源層和地層之間的大面積挖空需要準(zhǔn)確建模去嵌或校準(zhǔn)流程需要明確定義參考面位置含屏蔽罩、分割地、隔離槽的板級仿真反過來如果只是介質(zhì)諧振、微帶線本征模式分析或者模型里本身沒有大塊銅皮Void可以暫時不碰。我個人的習(xí)慣是凡是仿真結(jié)果要拿去和實測對比的項目Void必須逐層檢查凡是只看相對趨勢、用于方案選型的項目可以先用默認(rèn)模型跑通流程后續(xù)再回頭精細(xì)化。2. 動手前先看清PowerSI里Special Void的界面與三種典型用法2.1 菜單入口與界面布局在PowerSI里Special Void的入口藏在Layout視圖里不是特別顯眼。不同版本菜單位置會有一點點差異但核心操作邏輯是一致的先畫一個閉合輪廓再把這個輪廓標(biāo)記為Void。以我常用的版本為例操作路徑是這樣打開PowerSI并加載好模型后在左側(cè)結(jié)構(gòu)樹或者底部標(biāo)簽頁切到Layout視圖。在Layout視圖里先選擇想要挖空的金屬層然后使用畫圖工具欄里的Rectangle、Polygon或Path工具畫出閉合區(qū)域。畫好后選中這個圖形右鍵彈出菜單找到Special Void或者Define as Void選項點擊確認(rèn)。有些版本里也可以在圖形的Properties面板里直接把Object Type從Copper改為Void。這塊有一個很重要的界面細(xì)節(jié)Layout視圖里默認(rèn)顯示的是所有層的疊加平面新手容易看不清到底選的是哪一層。建議把疊層面板打開只勾選當(dāng)前需要操作的那一層來顯示其他層暫時隱藏。這樣畫出來的輪廓不會選錯層。還有一個實用小技巧在右側(cè)的Properties面板里一旦把圖形標(biāo)記為Void界面會用不同的填充樣式顯示這個區(qū)域。比如實心銅是純色填充Void區(qū)域通常是斜線或者空心樣式。如果你畫完發(fā)現(xiàn)填充樣式?jīng)]變大概率是操作沒有生效。2.2 典型用法一端口下方挖空參考層這是我在實際項目里用得最多的一種場景。高速連接器、SMA頭、測試探針的焊盤下方參考地平面往往會有反焊盤避讓。這個避讓區(qū)域的尺寸直接決定了端口處的寄生電容。仿真時如果不挖空端口阻抗和實際測試結(jié)果能差出3~5ΩS參數(shù)在高頻段的抖動也會被放大。操作方法不復(fù)雜先確定端口所在層和它正下方的參考層在參考層的對應(yīng)位置畫一個比焊盤略大的矩形或者圓形輪廓然后標(biāo)記為Special Void。尺寸怎么定最直接的辦法是打開板卡的原始PCB數(shù)據(jù)找到對應(yīng)器件的封裝庫量一下反焊盤的實際尺寸。沒有原始數(shù)據(jù)時可以用經(jīng)驗值圓形反焊盤直徑比焊盤直徑大0.3~0.5mm矩形避讓區(qū)每邊比焊盤大0.15~0.25mm。這個Void畫好之后端口區(qū)域的場分布會明顯改變。特別是在TDR仿真里起始阻抗曲線會平滑不少不會出現(xiàn)那種“一上來就掉到45Ω然后慢慢爬回50Ω”的假象。2.3 典型用法二劃定去嵌/校準(zhǔn)區(qū)域去嵌De-embedding是射頻測試?yán)锝?jīng)常要做的一件事測DUT之前先把測試夾具、線纜、過孔這些“非被測對象”的影響去掉。PowerSI里可以通過Special Void來定義去嵌參考邊界讓仿真器知道從哪里開始算DUT、從哪里切掉夾具。具體做法是在疊層的特定位置畫一個長條形的Void區(qū)域橫跨整個需要去嵌的路徑。這個區(qū)域會起到一個“電磁墻”的作用仿真時可以把Void邊界當(dāng)作參考面。配合PowerSI的去嵌向?qū)褂媚軌虮容^精確地提取DUT本身的S參數(shù)。這個方法我做板級驗證時用過幾次。比較關(guān)鍵的注意點是Void的寬度要覆蓋信號路徑周圍足夠的回流空間一般至少是信號線寬的3倍以上。寬度不夠的話會在去嵌參考面處引入不連續(xù)反而影響精度。2.4 典型用法三模擬屏蔽腔或隔離區(qū)還有一種場景是模擬板子上的屏蔽罩或者隔離區(qū)。很多板卡在射頻區(qū)域會用屏蔽罩把電路罩起來屏蔽罩底部通過焊盤連接地平面。仿真時如果把整個屏蔽罩區(qū)域當(dāng)成普通銅皮鋪滿會讓地平面的電流分布完全對不上。正確做法是在屏蔽罩外圍畫一圈Void把屏蔽罩內(nèi)部的地平面與外部地平面在幾何上分開再通過焊盤位置預(yù)留的連接點保持回流路徑。這種方法特別適合分析屏蔽罩是否對鄰近走線造成干擾、隔離槽的寬度是否足夠這類問題。我有一次做藍(lán)牙天線匹配調(diào)試發(fā)現(xiàn)天線附近的地平面回流路徑被屏蔽罩擋了一部分用Special Void把屏蔽罩區(qū)域模擬出來后S11的頻偏一下子就對上實測了。當(dāng)然真正的屏蔽罩模型還可以用三維結(jié)構(gòu)來建但Special Void的二維挖空方式在大多數(shù)板級仿真里已經(jīng)夠用而且計算量小得多。3. 實操全流程從疊層導(dǎo)入到Special Void設(shè)置完成3.1 準(zhǔn)備工作疊層與網(wǎng)絡(luò)檢查不管用什么工具仿真模型的地基都是疊層。Special Void設(shè)置得再花哨疊層信息錯了也是白搭。導(dǎo)入模型后我習(xí)慣于按這個順序檢查疊層信息第一確認(rèn)層數(shù)是否正確第二逐層核對銅厚和介質(zhì)厚度第三確認(rèn)介電常數(shù)和損耗正切第四檢查是否有隱含的埋孔、盲孔層缺失。其中第二點和Special Void關(guān)系最大。因為Void畫在某一層上如果這一層的金屬厚度是0空層Void自然沒有意義。還有一些模型導(dǎo)入后部分層的網(wǎng)絡(luò)分配是空的畫Void時也要注意關(guān)聯(lián)的網(wǎng)絡(luò)是否正確。疊層檢查完成后建議先做一次短仿真比如只跑一個端口對地阻抗確認(rèn)模型能正常計算再開始畫Void。這一步可以排除“模型本身有問題導(dǎo)致結(jié)果異常”的可能性避免后面做了一堆Void設(shè)置卻不知道是哪個環(huán)節(jié)錯了。3.2 繪制Void區(qū)域的三種方式在PowerSI里畫Special Void輪廓常用的有三種方式我按使用頻率排個序。第一種是直接繪制矩形。適合反焊盤、隔離槽這類規(guī)則形狀。操作是選擇圖層后點擊矩形工具在參考層上拖拽出一個矩形框然后右鍵標(biāo)記為Void。優(yōu)點是快缺點是遇到弧形避讓區(qū)時不夠貼合。第二種是多邊形/弧形輪廓。適合連接器下方不規(guī)則避讓區(qū)、屏蔽罩異形區(qū)域等。先用Polygon工具沿著實際避讓邊緣描邊對于弧形部分可以用Arc工具增加弧線段。描完后標(biāo)記為Void。這種方式最接近真實板卡但繪制耗時多一些。第三種是基于現(xiàn)有圖形轉(zhuǎn)換。如果你的版圖數(shù)據(jù)里已經(jīng)有反焊盤或避讓Shape可以在Layout視圖里直接選中這個已有的閉合圖形右鍵執(zhí)行轉(zhuǎn)換為Void的操作。這種情況最常見于從原始PCB轉(zhuǎn)換過來的模型原始Shape保留完整轉(zhuǎn)成Void很快。我個人的建議是如果是簡單矩形區(qū)域不要花時間描弧線直接矩形就行如果是關(guān)鍵射頻節(jié)點花點功夫把弧線畫出來是值得的。3.3 參數(shù)設(shè)置面板逐項解析畫好輪廓并標(biāo)記為Void后Properties面板里會出現(xiàn)一系列和Void相關(guān)的參數(shù)。這里挑幾個關(guān)鍵的講一下我自己的經(jīng)驗。第一個是所在層Layer。這里不僅要選對金屬層還要注意是否要影響相鄰介質(zhì)層。有些版本提供擴(kuò)展選項可以讓Void同時作用于上下介質(zhì)模擬“挖穿介質(zhì)”的效果。默認(rèn)情況下只挖當(dāng)前金屬層不要亂勾。第二個是關(guān)聯(lián)網(wǎng)絡(luò)Net。這個參數(shù)用來指定Void掛在哪個網(wǎng)絡(luò)上。一般選擇該層上主要的參考網(wǎng)絡(luò)比如GND。關(guān)聯(lián)網(wǎng)絡(luò)選擇正確仿真器才能正確判斷該區(qū)域哪些銅被去除、回流路徑如何變化。第三個是邊緣收縮Inset/Offset。這個參數(shù)很有用它可以讓Void區(qū)域相對于你畫的輪廓向外或向內(nèi)偏移一定距離。比如你量到反焊盤直徑是1.0mm但畫的時候畫小了不一定要重畫直接在Offset里填入正數(shù)讓區(qū)域擴(kuò)大即可。第四個是平滑處理Smooth。如果繪制的多邊形有很多尖銳角點仿真時的網(wǎng)格剖分會在角點附近急劇細(xì)化導(dǎo)致計算時間成倍增加。打開一定程度的平滑可以減輕網(wǎng)格問題但對精度有一點影響。我的經(jīng)驗是一般用默認(rèn)即可只有在仿真太慢時才考慮加大平滑。3.4 保存與復(fù)用Void模板的小技巧有人可能會問我做了十幾個同類型的板卡每個都要重新畫一遍Void嗎答案是不用。PowerSI支持把疊層和Void信息保存為模板。在設(shè)置完成后把當(dāng)前項目導(dǎo)出為模板文件下一次新建項目時直接導(dǎo)入模板Void區(qū)域會自動出現(xiàn)在相同層的相同位置。當(dāng)然板卡尺寸和器件位置變了位置肯定要微調(diào)但至少省去了重畫的時間。這個技巧在處理系列化產(chǎn)品時非常實用。比如公司有多個版本的射頻模塊布局大同小異我建好第一版的Void模板后后續(xù)版本基本是微調(diào)十分鐘就完事。4. 別在這里翻車Special Void設(shè)置的常見坑與排查實錄4.1 坑一Void畫在了錯誤層這個錯誤太常見了尤其是疊層多的時候。有次我在一個12層板的第3層畫Void結(jié)果Properties面板里選中的層是第5層仿真跑出來完全不對。查了很久才在可視化窗口里發(fā)現(xiàn)第5層的地平面中間莫名其妙空了一塊。排查方法很簡單畫完每個Void之后切到對應(yīng)的金屬層單獨顯示確認(rèn)Void的輪廓出現(xiàn)在正確的層上。如果3D視圖可用直接在3D視圖里旋轉(zhuǎn)檢查更直觀。養(yǎng)成這個習(xí)慣后至少能省去一半的排查時間。4.2 坑二區(qū)域穿透層數(shù)理解錯誤這是Special Void參數(shù)里最容易理解錯的地方。很多新手以為在某一層畫了Void整個疊層從上到下都挖空了。實際上不是這樣。默認(rèn)情況下Void只影響當(dāng)前選中層。如果你希望Void區(qū)域穿過多個層或者整個板厚需要在參數(shù)設(shè)置里明確指定穿透范圍。有次同事在一個高速背板仿真里想模擬貫穿隔離槽結(jié)果只在表層挖了一塊內(nèi)層還是實心銅。仿真結(jié)果看起來隔離效果很差他以為設(shè)計不行后來發(fā)現(xiàn)是Void沒穿透。這個錯誤不仔細(xì)查很難發(fā)現(xiàn)因為從平面圖上看Void是在正確位置的只有切到3D視圖或者逐層檢查才能看到。4.3 坑三與端口/器件重疊導(dǎo)致網(wǎng)格異常還有一類問題是Void區(qū)域和端口、器件模型重疊導(dǎo)致網(wǎng)格剖分在重疊區(qū)域出現(xiàn)極小的單元仿真時間飆升甚至報錯。我遇到過最夸張的一次一個板級仿真跑了48小時還沒出結(jié)果查看網(wǎng)格統(tǒng)計發(fā)現(xiàn)有一個異常密集的區(qū)塊。查到最后是一個Void區(qū)域和電容焊盤重疊了0.1mm仿真器在這個位置反復(fù)細(xì)化網(wǎng)格。解決辦法有兩個一是繪制Void時仔細(xì)對齊避免和已知器件重疊二是仿真前先用網(wǎng)格檢查功能看一下局部網(wǎng)格密度發(fā)現(xiàn)異常密集區(qū)域及時調(diào)整。個人推薦優(yōu)先用第一個方法因為網(wǎng)格細(xì)化嚴(yán)重的模型即使能算完結(jié)果也可能因為網(wǎng)格過渡太陡而不準(zhǔn)確。4.4 坑四TDR仿真時Void似乎沒生效很多人在PowerSI里設(shè)置好Void提取S參數(shù)正常然后轉(zhuǎn)到Speed2000做TDR仿真時發(fā)現(xiàn)Void好像沒起作用。TDR曲線和沒加Void時一模一樣。這個問題的根源通常是兩個環(huán)境之間的模型同步出了問題。Speed2000從PowerSI導(dǎo)入模型時有些Void信息需要重新映射到對應(yīng)的層和網(wǎng)絡(luò)。如果映射失敗Speed2000只會保留基礎(chǔ)疊層信息把Void丟棄。排查思路是進(jìn)入Speed2000后先檢查疊層樹里有沒有同步過來的Void對象再檢查每個Void關(guān)聯(lián)的層和網(wǎng)絡(luò)是否正確。如果發(fā)現(xiàn)丟失建議在PowerSI里把模型重新導(dǎo)出一次導(dǎo)出時確保勾選了包含Void/特殊區(qū)域相關(guān)選項。這塊不同版本選項名稱不太一樣我習(xí)慣統(tǒng)一導(dǎo)出為SPD格式兼容性會好一些。5. 進(jìn)階玩法Special Void Speed2000做TDR仿真驗證5.1 從PowerSI導(dǎo)出到Speed2000的前置條件用Speed2000跑TDR之前模型準(zhǔn)備這一步很關(guān)鍵。先在PowerSI里完成疊層檢查、Void設(shè)置、端口定義確保所有無源結(jié)構(gòu)都符合預(yù)期再準(zhǔn)備導(dǎo)出。導(dǎo)出時有幾個前置條件需要注意。疊層信息必須完整包括每層的厚度、材料和粗糙度模型。端口定義要明確Speed2000里的TDR激勵就是加在這些端口上的。Void信息必須在導(dǎo)出的模型文件中包含。我一般在導(dǎo)出前會再跑一次短時長的S參數(shù)仿真確認(rèn)沒有模型錯誤然后才生成SPD文件。導(dǎo)出的SPD文件可以直接用Speed2000打開。打開后建議逐個檢查疊層和Void對象這一步能有效避免上一節(jié)說的Void丟失問題。5.2 在Speed2000中設(shè)置TDR激勵源Speed2000里做TDR仿真本質(zhì)上是給指定網(wǎng)絡(luò)加一個階躍或脈沖源然后觀察反射回來的電壓等效為阻抗隨時間的變化。設(shè)置方法我簡單梳理一下。新建一個仿真電路后找到激勵源設(shè)置面板添加一個Step源作為TDR激勵。兩個參數(shù)最需要關(guān)注上升沿時間和幅度。上升沿時間取決于你想分辨多小的阻抗突變。經(jīng)驗上35ps上升沿可以分辨大約0.7mm左右的不連續(xù)結(jié)構(gòu)100ps上升沿分辨1.8mm左右。幅度一般設(shè)200mV或1V60Ω內(nèi)阻輸出這個參數(shù)可以按測試規(guī)范調(diào)整。激勵源加好后設(shè)置觀察點。觀察點放在被測網(wǎng)絡(luò)入口處Speed2000會在該位置計算反射波形并轉(zhuǎn)換為阻抗。仿真時間長度取決于被測結(jié)構(gòu)長度一般先讓波形跑平穩(wěn)建議比電長度對應(yīng)的往返時間長三倍以上。跑完仿真后就能得到阻抗-時間曲線也就是通常說的TDR曲線。5.3 結(jié)合Void區(qū)域判讀TDR曲線TDR曲線怎么和Special Void對應(yīng)起來先記住一個基本判據(jù)曲線上阻抗突然降低說明該位置有額外的電容效應(yīng)阻抗突然升高說明該位置有電感效應(yīng)或者參考層被挖空了。所以如果某個Void設(shè)置后TDR曲線上對應(yīng)位置出現(xiàn)阻抗上跳不用慌很可能是Void把這段區(qū)域的電容減小了阻抗自然升高這是正?,F(xiàn)象。比如一個微帶線端口下方參考層畫了Void之后端口處的寄生電容變小TDR曲線起始阻抗會比沒畫Void時更高。如果畫過了頭阻抗又會高于50Ω這時候需要適當(dāng)調(diào)整Void尺寸。反過來如果發(fā)現(xiàn)Void區(qū)域?qū)?yīng)的波形出現(xiàn)凹陷或異常反射要檢查Void輪廓是不是畫大了把不該挖掉的回流走線也切斷了。這種情況在多層板里很常見特別是內(nèi)層有短切換層的走線時Void會把它們的回流路徑截斷TDR上就會看到明顯的反射尖峰。5.4 一個完整示例從Special Void到TDR結(jié)果用一個簡單例子把完整流程串一遍。假設(shè)我要驗證一段頂層50Ω微帶線的端口反焊盤效果。過程是這樣的在PowerSI里導(dǎo)入疊層頂層為信號層第二層為地。在地層靠近端口處畫一個直徑1.2mm的圓形Special Void對應(yīng)連接器反焊盤實際尺寸。導(dǎo)出SPD文件打開Speed2000。在端口處添加一個上升沿35ps的Step源幅度200mV內(nèi)阻60Ω。仿真后觀察TDR曲線。沒有Void時端口起始阻抗在46Ω左右呈現(xiàn)明顯的電容性凹陷大約2~3mm之后才恢復(fù)到50Ω。加了這個Void后起始阻抗會升到49Ω附近曲線明顯平緩很多。如果繼續(xù)把Void加大到2.0mm起始阻抗可能沖高到54Ω說明挖過頭了需要回退。從這個例子能看出Void不是越大越好也不是越小越好而是要和真實板卡的避讓尺寸對齊。用TDR曲線來做驗證能很直觀地看到尺寸偏差造成的影響。我在實際使用中的一個經(jīng)驗是第一次跑Special VoidTDR不要一上來就拿完整板卡練手太復(fù)雜出問題也不容易定位。找一對差分過孔或者一段簡單的微帶線人為構(gòu)造幾種Void尺寸對比TDR結(jié)果差異。半小時就能建立起手感以后再處理復(fù)雜板卡就心里有數(shù)了。這個流程走通之后你會慢慢發(fā)現(xiàn)Special Void其實不是一個用來炫技的功能而是讓仿真模型回歸真實世界的基本功。