如何選擇合適的電磁場模擬演算法
電磁場模擬系列:
1. 聊一聊電磁場模擬
2. HFSS,Momentum和EMX比較
3. 如何選擇合適的電磁場模擬演算法?
4. HFSS,Momentum和EMX模擬實例(預告)
好了,我們來繼續講電磁場模擬(圖片來源:【1】)
--------------------------------------------------------------------------------------------------------------------------
這次我要講三個方面:
我們為什麼要了解一點電磁場模擬原理;
三種主流演算法比較(有限元分析、矩量法、有限時域差分);
如何選擇合適的電磁場模擬演算法。
在本文的最後,有兩張表格總結了三種演算法的適用領域,希望具備參考價值。
------------------------------------------------------------------------------------------------------------------------
為什麼要了解一點電磁場模擬原理
1)會增強我們對模擬結果的信心。
作為一個好的電路設計者,當把電路和模型送進模擬器時,我們應該知道模擬器在做些什麼。比如說SP模擬,我們知道它會先對直流電壓電流列基爾霍夫方程,求解矩陣得到直流工作點,在直流工作點的基礎上線性化,然後添加單頻輸入信號求解輸出信號,因此我們不會試圖使用SP模擬來觀察電路的大信號特性。每一步我都知道該怎麼計算,只不過計算量太大,我們才需要計算機的輔助。計算機只是為我們提供計算能力的工具。只有我們知道模擬器在做什麼,我們才有信心判斷模擬結果是否正常。
2)模擬器會進行一些假設,我們需要知道自己的模型是否滿足假設。
例如,EMX會進行如下的假設:所有的介質層在x-y平面內無限大,且介電常數均勻分布;模型最底層為無限大的理想金屬地平面,提供迴流路徑;頂層介質在Z軸向上無限延伸;不同層的金屬可通過電導率一定的通孔連接。
如果我們的晶元面積與單個電感差不多大,介質層在x-y平面內與無限大假設相差較大,則我們應該預期EMX模擬結果誤差也較大。至於BGA封裝,Bonding線等非層狀結構,EMX更加無能為力了。
3)幫助我們判斷模擬設置是否正確。
電磁場模擬的結果是否正確依賴於我們的設置是否正確,了解一定的模擬原理有助於我們判斷設置是否正確。
再拿EMX舉例。EMX里會將最靠近LABEL的那一條金屬邊沿識別為激勵,認為其電壓恆定。當這條邊的長度相對於波長較長(大於1/10波長)時,電壓實際會以波的形式分布,與恆定電壓假設不符,從而得不到精確的結果。在這種情況下,應該從這條長邊上延伸出一條小邊,在小邊上添加激勵。
EMX中對長邊添加激勵的正確方式
---------------------------------------------------------------------------------------------------------------------------
三種主要電磁場模擬演算法比較
1)有限元分析(Finite Element Method, FEM)
有限元分析法對微分形式的Maxwell方程在頻域進行求解,其求解的未知量是每一個小網格的電場與磁場。有限元分析法一般會對整個求解空間用四面體進行劃分,演算法會計算四個格點上的場強,四面體的內部場強分布由四個格點插指得出。通常在待模擬的金屬結構和變化比較複雜的部分,網格劃分的更密。
有限元分析法從原理上可以對任意形狀的結構進行求解,類似於暴力破解演算法,對結構的要求少,但是消耗模擬資源大,模擬速度慢。Ansys的HFSS採用有限元分析法求解,以我的實際經驗,我們使用8核32G內存的PC機,對單個射頻/毫米波電感這樣簡單結構,HFSS能在數分鐘得到結果,但如果把一個放大器的所有電感(一般四五個)同時放在HFSS中進行求解,需要的時間則幾乎不可忍受,最多在設計的最後做最終驗證,不會用於優化設計。
因為要對整個空間進行網格劃分,有限元分析實際更適合封閉的空間。但在實際操作中,模擬器通過引入吸收邊界條件(Absorbing Boundary Conditions)和完美匹配層(Perfectly Matched Layers)等技術,已經能夠極好的解決開放空間求解問題。因此有限元分析已經不再局限於封閉空間。片上無源空間也是一個開放空間求解問題,我們一般要設置空氣盒子六面為輻射邊界以得到更準確的結果。
有限元分析的網格圖
2)矩量法(Method of Moments, MoM)
矩量法對積分形式的Maxwell方程在頻域求解,需要求解的未知量為金屬的表層電流分布。得到電流分布之後,模擬器根據格林函數進行數值積分,即可得到求解空間任何點的場分布。而在有限元分析法中,未知量為空間每個點的場分布,求解矩陣維度大於矩量法。
矩量法的另一大優勢是,整個無限大的背景結構的信息已經包含在了格林函數之中,在進行計算時,它僅需對我們需要求解的金屬結構劃分網格,而不需對介質層劃分網格,因此網格數目會小於有限元分析方法。因此對於特定結構(3D層狀結構),矩量法求解速度快、消耗計算資源少。
典型的矩量法網格劃分情況(圖片來源:【2】)
矩量法往往被用於求解3D層狀(3D Planar)結構。3D層狀結構對應的格林函數可以輕易採用鏡像法等原理求出,因此矩量法在求解此類問題時最為高效。幸運的是,我們集成電路設計中遇到的大部分問題都可以採用層狀結構描述,如片上無源器件、PCB結構等等。
在ADS的Momentum中,模擬器首先對計算襯底結構的格林函數。因為格林函數僅與襯底結構有關,與待求解的金屬結構無關,因此對於同一個襯底上的不同結構,模擬器僅僅需要計算一次格林函數。在計算完格林函數之後,模擬器才開始對金屬結構進行網格劃分矩陣求解等操作。
對於任意的結構或者非均勻介質,理論上矩量法也可以求解。但此需要使用Volume/Surface Integral Equations對背景環境進行描述,導致未知量數目急劇上升,求解效率急劇下降,反而不如求解微分方程的有限元分析法高效。
在矩量法里,對金屬有不同的處理方法。以EMX舉例,EMX中可以選擇2D模式,此時EMX認為電流分布於整個金屬結構中,但是電荷僅在金屬的上下表面等量累積,因此在2D模式中,金屬的側邊電容將會被忽略。當設置為3D模式時,電流依然分布在整個金屬中,但電荷可在金屬的各個面獨立累積。ADS里有類似的選項,可在options/Physical Model圖形界面卡中進行設置。
EMX中2D和3D模式對同一電感的模擬結果,由於2D模式忽略了側邊電容,因此自諧振頻率更高。
3D和2.5D
我們有時候會說3D層狀結構,有時候又會說2.5D。那什麼是2.5D呢?實際上這是一個非常含糊的概念。我在查資料時在EDABoard論壇中發現了一篇有趣的帖子。有人提問2.5D和3D電磁場模擬的區別,結果「2.5D」這個概念的發明者、電磁場軟體SONNET的創始人J.C. Rautio博士跑過來親自回答了這個問題。帖子的大意是說,他當時在雪城大學讀博士(1982~1986年),研究層狀結構的矩量模擬演算法,項目由通用電氣實驗室贊助。在那個時候,他們的演算法中考慮到了2D的電流(x-y平面)和3D的場強(所有方向)。通用電氣實驗室看到了電流分布,稱之為2D演算法,而他的導師Roger Harrington看到了場分布,稱之為3D演算法。當然導師和贊助機構兩方面都不能得罪,於是他折中了一下,稱之為2.5D演算法。這是2.5D這個術語第一次被用到電磁場模擬之中。就此他還寫了一篇小文章發在了1992年的IEEE MTT-S Newsletter雜誌上,標題為「Some Comments on Electromagnetic Dimensionality」。這篇文章很短,在網上很容易找到,有興趣的可以去看看。在完成他的畢業設計之後,他給模擬器中添加了對Z軸電流的支持,從此成為完整的3D層狀結構模擬器。但是「2.5D」這個術語太性感,從此一發不可收拾的流傳了開來,具備了自己的生命力。在我開始讀博士接觸Momentum時,大家的確稱Momentum為2.5D模擬軟體。這也從側面說面了一個易懂的朗朗上口的術語對於技術的宣傳是多麼重要啊!比如視網膜屏,比如LiFi。
以今天的視角來看,"2.5D"這個術語基本可以與「3D層狀結構」互換。
全波(full wave)和准靜態(quasi-static)
所謂准靜態場,指的是場源隨時間變化很慢,我們可以忽略其變化,當場所在的區域的尺寸遠小于波長時近似成立。在實際計算中,對於矩量法,如果選擇准靜態模式,那麼模擬器將會對格林函數做低頻等效,忽略其高頻變化,以加快模擬速度。而全波模式會對整個頻段的格林函數進行精確計算。ADS的Momentum和EMX均提供准靜態選項:在Momentum中,選擇RF模式即可選擇准靜態模式;在EMX中,模擬器會自動判斷是否使用准靜態模式,也可用「--quasistatic」命令強制選擇准靜態模式。
3) 有限時域差分(Finite Difference Time Domain,FDTD)
與前兩種演算法相比,有限時域差分法最大的不同在於它在時域對微分形式的Maxwell方程進行求解。近似來看,有限時域差分法有點像我們電路裡面的瞬態模擬,當前時刻的電場磁場矢量值由結構中前一時刻的電場磁場值以及它們的變化情況直接計算得出,因而避免了前兩種演算法中用到的矩陣方程求解。某些情況下,有限時域差分法極為高效,僅使用少量內存即可求解很複雜的結構。
有限時域差分法的典型應用包括:模擬人體對於手機天線信號的影響、模擬汽車飛機內部的天線等等。
電磁場模擬軟體Empire、CST以及ADS的EMPro均支持有限時域差分法。
有限時域差分模擬酷炫圖(圖片來源:【1】)
---------------------------------------------------------------------------------------------------------------------------
如何選擇合適的電磁場模擬演算法
在比較這三種演算法之後,我們再來談談如何選擇合適的演算法。可以從如下幾個角度考慮:
1)結構的特點
待求解的結構是否為層狀結構?對於層狀結構,矩量法能夠提供最高效快速的求解,因此我們可以優先考慮矩量法。例如PCB走線、層狀倒封裝、片上無源器件,都可認為是層狀結構。對於轉換頭、介面、波導、三維天線、BGA封裝等複雜的非層狀結構,則只能從有限元分析和有限時域差分法中進行選擇。
當然,對於極其簡單的結構,如單圈電感等,採用有限元分析也可以很快得到結果,速度差別並不明顯。
在HFSS,Momentum和EMX比較一文中,我用基於矩量法的SIwave和基於有限元分析的HFSS 3D Layout對同一封裝結構進行模擬,耗時分別為20分鐘和8小時40分鐘,得到的結果在3GHz以下的範圍接近。可見選擇合適的演算法對效率的影響。
2)結構的響應類型
由於有限元分析法和矩量法均從頻域求解,它們比有限時域差分法更適合那些具備窄帶響應或高Q值的結構,例如濾波器、諧振腔、波導等等。而有限時域差分法從時域求解,因而天生更適和分析TDR和EMI、EMC等等。對於寬頻的響應,有限時域差分法也更為高效,在時域求解之後採用傅立葉變換即可得到頻率響應。而有限元分析法和矩量法需要對頻帶內頻點逐一求解(自適應演算法可減少求解頻點數目)。
3)結構的複雜程度與埠的數目
對於複雜的3D結構,有限元分析法的求解效率要高於有限時域差分法。另外有一點,有限元分析和矩量法的求解時間與埠數目關係不大,一次求解即可得到所有埠的響應。而有限時域差分對於N埠需要重複求解N次。因此像BGA封裝這樣的多埠結構,有限元分析是更好的選擇。
對三種電磁場模擬演算法適用的結構類型總結如下表:
三種演算法適合領域總結(圖片來源:【1】)
---------------------------------------------------------------------------------------------------------------------------
參考閱讀:
【1】 EM Simulation-Keysight
【2】Which Electromagnetic Simulator Should I Use? - Dave Morris
【3】Vandenbosch, Guy AE, and Alexander Vasylchenko. "A practical guide to 3D electromagnetic software tools." Microstrip Antennas. InTech, 2011.
aHR0cDovL3dlaXhpbi5xcS5jb20vci9TVHU0b0U3RXl4TzByUXJEOTI1Yg== (二維碼自動識別)
長按關注我的公眾號!不定期分享一些集成電路專業經驗、讀書筆記、遊記等等。爭取做到有趣或者有用。長文不易,你的關注就是我的動力。
推薦閱讀:
※模擬電路應用(三)Switched-capacitor integrator finite gain compensation
※小荷才露尖尖角——評松果和澎湃S1
※斷崖式下滑,全志2017年利潤預計最高下滑92% | 半導體行業觀察