如何选择合适的电磁场仿真算法
为什么要了解一点电磁场仿真原理
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封装这样的多端口结构,有限元分析是更好的选择。
对三种电磁场仿真算法适用的结构类型总结如下表:
文章来源于网络、目的在于分享学习,版权归原作者所有