ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ADS Layout协同仿真实战:从参数设置到emModel与emCosim全流程

ADS Layout协同仿真实战:从参数设置到emModel与emCosim全流程 自己做射频电路设计这么些年ADS的Layout模块是我在流片和板级验证之前用的最多、也最容易翻车的一道关卡。很多人觉得ADS只要能跑原理图仿真就够了真到了频率比较高、版图上走线开始有明显寄生效应的时候原理图里那些理想连线根本代表不了实际性能。这时候要么凭经验疯狂留余量要么老老实实把Layout玩透让协同仿真帮你兜底。这篇文章就围绕这个主题展开从tsmc18rf工艺库安装、Layout参数设置这些最底层的东西讲起一路讲到emModel与emCosim联合仿真模式的完整流程。不管你在做PA、LNA、Doherty放大器还是差分电路这套方法基本都能直接拿过去用。内容偏实战你可以直接对照自己的项目来“抄作业”也可以当一份查漏补缺的操作手册。1. 项目整体思路为什么把参数设置放在第一步1.1 原理图仿真和Layout仿真的差距到底在哪先讲一个很多人没想明白的问题原理图仿得好好的电路为什么一到版图就变了一副面孔原因其实不复杂原理图里的走线是理想连接寄生电感、寄生电容以及对地耦合全靠你脑补。频率低的时候无所谓频率到了GHz级别一段2mm的微带线就可能带来几个nH的电感和零点几pF的对地电容原先调好的匹配网络直接被拉偏。更麻烦的是版图里相邻走线之间的耦合、过孔的电感、地平面不完整造成的回流路径异常这些效应几乎没办法用手算精确估计。软件里所谓“不包含电磁效应”的仿真在这个阶段就是最大的坑。所以ADS的Layout模块扮演的角色是“预测物理行为”。它要把布线的几何形状、层叠结构、材料参数全部转化成电磁场中的真实响应。而要做到这一点前提就是参数设置必须正确。衬底厚度填错算出来的阻抗线宽就是错的单位搞错一个本来该是10mil的线宽变成10mm仿出来自然全是乱的。这也是我习惯把参数设置当作整个流程第一件事的原因它相当于盖房子的地基地基歪了后面再怎么修补都费劲。1.2 从参数设置到协同仿真的完整闭环实际项目里我通常把一个设计周期拆成四个阶段原理图设计与理想仿真先把拓扑、偏置、负载线确定下来保证电路“理论上能工作”。生成基础Layout完成元件布局、走线、地孔、匹配结构再做DRC检查。全波电磁分析用Momentum或FEM仿真版图中的无源结构把寄生效应尽量真实地包进去。协同仿真与迭代用emModel或emCosim把电磁模型嵌入原理图和晶体管等非线性器件一起跑谐波平衡仿真看系统级指标。这个闭环看似简单实操中每个环节都有坑。尤其是第三、第四阶段的衔接emModel和emCosim怎么选、怎么配置是很多人卡住的地方。后文我会把每个步骤拆开讲包括参数怎么填、模型怎么生成、报错怎么处理尽量讲细一点让你看完能直接动手。2. 参数设置Layout仿真的地基2.1 工艺库安装与检查以tsmc18rf为例工艺库装不上的问题几乎是我被问过最多的问题。这里以TSMC 18RF为例说一下标准步骤。首先确认你下载到的Design Kit压缩包解压后根目录里包含一个类似TSMC18RF.lib或者相应的库描述文件以及technology文件夹。打开ADS后在主菜单找到DesignKit选择Add/Remove Design Kit然后在Design Kit Installation窗口里选择工艺库解压后的根目录点OK。接着ADS会弹出一个表单确认库名称、版本和安装路径一般默认放到用户自定义安装目录即可。装完之后新建Workspace时就能在下拉列表中看到这个工艺库。很多人在这一步会犯一个低级错误安装路径里有中文或者空格。ADS的历史包袱比较重路径一旦带中文后面加载层叠、生成Layout时常常报一堆莫名其妙的问题。所以我的习惯是统一放在D:\ADS_DesignKit或者C:\EDA\designkits这类纯英文路径下面。装完之后不要急着画版图先在原理图里放一个工艺库里的电阻或者晶体管看看模型能不能正常调出来Metal层能不能正常显示。如果模型缺失或者层叠里看不到任何金属层多半是库路径没有配置好回到DesignKit管理器里重新Add一次。注意TSMC 18RF这类工艺库通常自带Momentum用的衬底文件但每个版本工艺库的匹配程度不一样。我在实际项目里见过“工艺库能仿真但Momentum衬底缺失”的情况表现是生成EM模型时提示找不到substrate。解决方式是打开Momentum的Substrate Manager手动导入工艺库提供的substrate文件或者按工艺文档手工建立层叠。后面一节细说。2.2 Layout编辑器核心参数单位、网格和坐标系工艺库装好了别急着摆元件。先把Layout编辑器的基本参数调对。打开一个Layout窗口在Options菜单下找Preferences里面有几个参数直接影响后续布线效率。第一个是单位。毫米、微米、密耳各有利弊。做MMIC或射频芯片级设计我习惯用微米因为工艺栅长、金属宽度都是微米级做板级设计用毫米或密耳更直观。但要注意单位切换只是显示层面的变化底层数据库精度才是关键。如果你已经画到一半再切换单位可能出现坐标值大量小数位截断、对准困难的问题所以开工前一定先定好单位。第二个是网格。Layout里Snap Grid、Minor Grid和Major Grid决定了你鼠标移动的最小步长和对齐参考。我的习惯是Snap Grid设置成设计规则最小几何尺寸的整数分之一比如0.5µm或者1µm这样画出来的线宽、间距都容易满足DRC。网格太粗会画不出精细结构太细又容易误操作鼠标一抖就产生一个不该有的小方块。实际项目里我一般在画匹配线时把Snap Grid调成0.5µm画大面积地plane时再调成5µm。第三个是坐标系与参考点。ADS Layout支持绝对坐标和当前坐标incremental coordinate输入。强烈建议把原点放在Layout窗口的左下角或者版图对称轴上的某个关键点。为什么因为后面你在原理图生成Layout模型时所有端口坐标都要靠原点来对应。如果你画到一半发现原点选得不合理后续布置多端口emModel时容易对错位置。早期我在这上面吃过亏生成emModel后某个端口坐标偏了半个线宽仿真结果一直对不上最后查了半天才发现是端口参考点不对。2.3 Substrate叠构与频率参数影响仿真精度的隐藏因素Layout的参数设置里最重要的其实是Substrate叠构。这个叠构决定了微带线、共面波导的阻抗、损耗和耦合特性。对tsmc18rf这类工艺库正常情况下工艺库里已经带有衬底文件但你要打开Substrate Manager核实一下每一层参数是否和工艺文档一致。重点关注几个点衬底厚度、介电常数、损耗角正切、每层金属的厚度和电导率以及最上层是空气还是钝化层。空气层的厚度设置容易被忽略。Momentum里顶部空气层如果厚度设置不足电场会被限制在很小的空间里导致仿真出来的特征阻抗偏高。通常空气厚度要设置成衬底厚度的3倍以上或者干脆给一个相对较大的值。板级设计里空气层还要带上表面的封装或涂层虽然对低频影响不大但到了毫米波频段哪怕15µm的覆盖层也会让相位响应产生可观偏差。再看频率参数。在EM设置里Frequency Plan可以设置单点频、线性扫频、对数扫频等。Mesh Frequency是网格剖分的高频参考我的经验是至少设置为仿真最高频率的1倍频如果是做高Q值结构或复杂耦合结构可以设为最高频率的2倍。但要注意Mesh频率越高网格越密仿真时间成倍增加。做Doherty这类大版图仿真时先用低Mesh频率偷跑一遍看趋势最后确定版图了再用高Mesh频率精算效率会高很多。提示如果仿真结果出现莫名其妙的谐振第一步不是加网格而是检查Substrate叠构里是否有某一层的厚度填错。很多时候一个看起来像是耦合导致的尖刺其实就是介质层厚度填反了或者金属层电导率少写了一个数量级。3. Layout版图设计实战要点3.1 电流镜匹配版图怎么布电流镜匹配是模拟版图里最基础也最考验耐心的工作。ADS Layout虽然不像专门的模拟版图工具那样强调“common centroid”自动布局但手动画好依然有章可循。核心原则只有一句话让所有参与镜像的晶体管看到完全相同的环境。具体来说我一般先把镜像管按照行和列排成对称阵列例如1:4的电流镜就把被镜像管放在阵列正中间四个镜像管均匀分布在它的四周。如果阵列不能做成完全对称的二维结构就用叉指方式把管子拆开再把叉指单元交替排列把这个过程理解为“把离散单元均匀揉进一个面团里”目的是让刻蚀梯度、温度梯度、应力梯度在各单元之间平均化。ADS Layout里画这种结构时可以用Edit菜单下的Align和Distribute功能快速对齐但更关键的是确保每个管子的Drain和Source引出金属形状、过孔数量和过孔位置完全一致。一旦某个管的Source过孔少打一个那个管子的源极寄生电阻就和其他管子不同镜像精度立刻变差。画完阵列后记得在阵列边界加上Dummy管。Dummy管的作用是让边缘刻蚀环境和内部单元尽量一致。做射频电流镜时Dummy管两端一般接地或接固定电位但不能悬空悬空可能变成天线而且容易积累电荷导致可靠性问题。我见过一些新手画完电流镜后只做了对称没有加Dummy结果流片回来小电流工况下镜像偏差超过3%加了一排Dummy之后偏差就回到1%以内。所以不要把这一步省掉。3.2 差分线Layout与端口设置细节差分线Layout在ADS里要做的事情核心是“对称”两个字。差分信号对要求正负两路线长一致、线宽一致、对地环境一致。只要一路比另一路长一丁点转换成差模S参数后就会看到插入损耗变差、共模转差模分量增大。所以在实际板图里如果遇到空间限制不得不绕线我就在较短的那一侧增加等长度的绕线trombone结构尽量保证两路物理长度一致。画差分走线之前先用LineCalc或者内嵌的阻抗计算工具把单端线宽和差分线间距定下来。差分阻抗不仅取决于线宽还取决于线间距。间距越小线间耦合越强同样线宽下差分阻抗越低。需要特别注意的是差分线周围的回流地。如果地平面被大面积掏空回流路径变长差模信号虽然主要依靠线间耦合回流但奇模分量还是需要完整的地平面。我在一个项目中曾经把差分线布在芯片边界地过孔离得太远结果仿真SDD11在中心频点附近多出一个凹陷。后来沿着差分线两侧每隔几百微米补了一排接地过孔问题立刻消失。ADS里设置差分端口时可以先选中两条线的端头然后在Port编辑窗口中选择差分模式软件会自动生成一对正负激励。Momentum仿真完成后在数据显示窗口可以直接选取Mixed-Mode S参数也就是SDD、SCC、SDC、SCD这几组。很多人在S参数里只看S11、S21对差分电路来说这不一定能反映真实性能看差模反射SDD11和差模传输SDD21才有意义。3.3 过孔、地平面与散热细节Layout里过孔和地平面处理得好不好直接决定仿真与实测的差距。板级和芯片级的过孔处理思路不太一样但原则相通过孔要尽量均匀、尽量短、尽量对称。在ADS Layout中绘制过孔时我习惯用阵列via array的方式放置而不是一个一个手工点。阵列过孔的间距要结合工艺设计规则和频率来定。间距太小刻蚀可能连孔间距太大等效电感会变大。高频时过孔的寄生电感可以用一个简单模型来估算单个0.1mm半径的过孔大约有几十pH到一百多pH的电感。如果你要用大电流或者需要低阻抗接地一定用多孔并联。但并联不是越多越好孔间距小于一定程度后电流会集中在边缘中心孔的利用率反而下降。一般来说孔间距至少留一个孔径的距离比较合适。地平面处理的技巧很多工程师容易忽视“回流路径连续”。当信号从顶层跨到内层或者从内层跨到顶层旁边的回流地必须跟着一起打过孔切换层。我在协同仿真迭代中就遇到过这样的案例原理图里微带线下方是完整的地但版图里这条线跨了一段没有地的区域EM仿真结果在某个频点出现了严重的不连续性。把地平面补完整并加一排地过孔后S参数才恢复正常。另外不要忘记散热功率放大器里的大电流区域要加足够多的散热过孔这些过孔同时也能降低热阻但要小心它们带来额外的寄生电容做匹配时要留出调节裕量。4. 协同仿真深度解析emModel与emCosim联合仿真模式4.1 两种模式到底有什么区别很多初学者分不清emModel和emCosim的区别。简单说emModel是对版图中被选中的无源结构做完一波动电磁全波仿真后生成的带有全部EM效应的多端口模型。它可以在原理图里当成一个普通器件来调用参与S参数或谐波平衡仿真。而emCosim是一种协同仿真模式通常把版图中某部分结构保留为“EM单元”与原理图中其他电路单元一起联合求解重点在于你可以保留设计参数在协同仿真环境中继续调整那些未被EM化的匹配线长度、宽度等变量。我自己的选择规则是如果版图已经很完整只差最终验证就用emModel把整个版图的无源部分包成一个大模型快速看系统指标。如果版图还在迭代优化中比如匹配微带线长度可能需要来回调我会用emCosim让一部分结构保留成可调参数这样每次调整不需要完全重新生成EM模型速度会快不少。需要提醒的是emCosim虽然保留了可调变量但一旦改动落在EM区域内还是要重新跑一次Momentum只是改动区域之外的部分可以复用节省的是重复仿真时间。4.2 完整实操生成emModel并做协同仿真以Momentum为例我一般这样做。第一步在Layout窗口选中参与EM仿真的版图元素点击EM菜单下的Component再选择Create/Update EM Model。弹出的对话框里设置Model Name选择求解器类型。平面结构优先Momentum带复杂三维结构时选FEM。设置频率范围比如2GHz到6GHz的宽带设计可以扫频51个点。Mesh Frequency按前面说的原则设置先给一个不高不低的值比如最高频率的1.2倍。端口设置是关键打开Port编辑栏逐个确认每个端口的位置和参考方向。Momentum会自动识别边缘端口Edge Port对于内部端口要手动指定一个金属边同时给一个校准参考面。这一步如果端口位置错了后面仿真结果完全不可信。设置完成后点击Simulate等待Momentum跑完。跑完后不要着急去原理图先在数据显示窗口看一眼S参数曲线是否平滑、有没有异常毛刺。如果曲线在某个频点出现不该有的谐振先回到Layout检查地平面、端口位置必要时微调网格再跑。确认EM结果合理后再在Layout窗口点击Component - Update EM Model把模型写入原理图库。打开原理图你会在器件库中看到刚才生成的emModel符号通常是一个矩形块每个引脚对应一个端口。把这个符号拖入原理图连接晶体管模型、偏置电路、阻抗变换元件。接下来就是用谐波平衡仿真器HB做大信号仿真或者用S参数仿真器看小信号指标。协同仿真的本质是把电原理图和电磁场仿真结果组合在一起让非线性器件的模型继续用半导体器件模型而无源部分全部换成电磁模型的响应这样仿真结果非常接近于最终物理版图。4.3 以Doherty放大器为例的协同仿真流程Doherty放大器是做协同仿真的好例子因为它的拓扑里有多个匹配网络版图效应很大而且两路之间还存在电长度和相位对齐问题。按我的习惯Doherty协同仿真分成三步走。第一步把载波功放和峰值功放的匹配网络分别在Layout里画好生成各自的emModel。两个功放管周围的地、偏置线、隔直电容走线也要包含在EM区域内。第二步在原理图里搭建Doherty结构输入功分器、两路相位补偿线、载波功放网络、峰值功放网络、输出合路网络全部用emModel连接。晶体管直接调用工艺库模型。第三步用HB仿真输入功率从0dBm扫到30dBm左右观察增益、输出功率、PAE和AM/PM失真。这时候最容易发现的问题是峰值功放的开启点偏早或偏晚通过微调相位补偿线的电长度或者调整峰值功放输入端的匹配网络来修正。我在一个2.6GHz Doherty项目里就吃过亏原理图同步仿真结果很好但协同仿真后PAE在回退6dB时掉了将近8个百分点查了很久才发现是输出合路网络有一条走线下方地平面不完整导致特性阻抗偏差。修正版图后协同仿真的PAE曲线和原理图结果才基本吻合。这件事给我的教训是Doherty的协同仿真不能只盯着大信号指标还要回头检查版图的地和走线很多效率问题不是电路拓扑问题而是版图寄生问题。注意协同仿真中如果发现emModel端口顺序与原理图连接不对最直接的检查方法是在原理图里看emModel符号引脚编号再回到Layout的端口列表里核对。端口顺序错乱是常见低级错误通常是因为修改过版图端口后没有重新生成emModel。5. 常见问题速查与排查技巧实录5.1 高频踩坑速查表这些是实际项目中反复出现的问题我整理成了一张速查表可以保存下来对照排查。现象常见原因解决思路提示“distance between the layout pins for port 2 is electrically large”端口物理尺寸或端口间距在工作频率下接近波长网格剖分与端口设定失配压缩端口尺寸、增加端口数量、细化局部网格、降低Mesh频率参考值emModel端口顺序与原理图对不上修改Layout端口后没有重新生成emModel回到Layout删除旧模型重新Create/Update EM Model协同仿真结果与原理图差别很大版图里地平面不完整或过孔回流路径不一致检查回流路径补地孔保证EM区域覆盖所有关键无源结构S参数曲线有异常毛刺Substrate叠构参数设置错误或网格过稀核对介质厚度、电导率提高Mesh Frequency开启自适应网格大信号HB仿真不收敛HB谐波数量不足或迭代次数不够增大谐波数增加迭代次数换用更稳定的求解器差分线SDD11在高频恶化差分正负走线不对称或地过孔不一致确保两侧线长一致地孔对称均匀布置电流镜实测镜像精度差缺少Dummy管或阵列不对称增加Dummy管、采用共质心结构、确保过孔和金属形状一致5.2 排查效率提升心得踩过这么多坑之后我养成了几个习惯能显著减少排查时间。第一个习惯是小步快跑。不要一上来就把整个电路所有无源结构全部包含进EM仿真那样网格数量巨大、仿真时间感人出了问题还很难定位。我会先把单个匹配网络的emModel生成出来单独仿真这级网络的S参数和原理图理想网络做对比确认端口和衬底设置没有大问题后再逐步扩大EM范围。这个方式有点类似程序开发里的单元测试每一块都验过了最后拼起来才不会出大乱子。第二个习惯是保留不同版本的Layout database。ADS的Layout里每次修改后另存为一个带版本号的database比如Layout_v1.0、Layout_v1.1。不要嫌文件多当协同仿真结果变差时你可以快速回溯到之前表现更好的版本对比到底是哪一步改动引入了问题。否则改来改去很可能把自己绕晕。第三个习惯是善用Momentum的电流密度图Current Density和场图。当怀疑某个结构带来损耗或耦合时直接看电流密度分布哪里电流集中、哪里方向异常基本能一眼看出来。有一回我碰到一段匹配线损耗偏大看电流密度分布后发现电流在线宽突变处高度集中重新设计了一个渐变的过渡结构损耗就降了下来。第四个习惯是每次更新EM模型前都检查一遍Mesh设置。省事的做法是直接套用上一次的Mesh模板但版图几何变化后网格很可能不再合适。尤其当你增加了一段细走线或者加了一个靠近高频结构的过孔旧网格可能没有覆盖到那些地方仿真结果自然不准。花两分钟看一下Mesh图比跑完一个两天两夜的大模型再返工要划算得多。最后再分享一个小技巧。协同仿真里不要把所有匹配电容电阻都放进EM区域。那些对射频影响较小的偏置电阻、退耦电容尽量留在原理图里用电路模型仿真。EM区域只放高频路径上的关键结构。这样做不是为了省事而是降低EM-电路协同仿真的复杂度减少因无关元件带来的端口数量和不收敛风险。等你对协同仿真流程足够熟练之后再根据实际需要扩大EM范围这样效率和准确率都能兼顾。
返回列表