
简介面向射频、微波及高速数字电路设计者的ADS电感与变压器建模文档聚焦片上无源器件的参数化建模与仿真验证。内容围绕螺旋电感的关键设计参数外径、线宽、间距、圈数与工艺参数基板电阻率、金属层选择、顶层金属厚度展开讲解Ls、Rs、Cs、Cox、Rsi、Csi各分量对性能的影响并给出单端与差分的电感值、品质因数及自谐振频率计算方法以及2-port到差分1-port的转换思路。文档还介绍Coilsys快速生成Pcell与AEL宏编写两条建模路径涵盖单端、差分、巴伦结构及方形、正八边形、对称与非对称、抽头等形态可指定金属层与过孔层并说明Momentum电磁仿真在寄生与耦合验证中的作用。资源包为1个PDF文件约3.1MB结构紧凑便于查阅。已有9418人学习适合需要掌握可变参数电感、变压器Pcell搭建与建模排错的中高级设计人员参考。1. 从一张电感版图说起为什么值得把这份 ADS 建模资料拆开看射频前端里最容易被低估的器件往往就是片上螺旋电感。版图上画一个方形螺旋看着简单真到流片前要回答的问题却一堆圈数加到 3.5 圈电感量涨多少、线宽从 6 μm 拉到 10 μm 品质因数能提几个点、自谐振频率会不会掉到工作频段里、差分驱动时该用单端模型还是直接上差分端口。这份资料的价值就在这儿——它把 ADS 里从电感基础参数、工艺叠层、Pcell 生成到 Momentum 电磁仿真、Coilsys 综合、表达式优化建模的整条链路串了起来还覆盖了单端、差分、巴伦结构方形与正八边形对称与非对称抽头以及圈数、线宽、间距、内外径可调的参数化 Pcell。适合谁正在做 RFIC、MMIC 或射频模块无源器件建模的工程师以及课程设计里要交一份能跑通电磁仿真的电感/变压器模型的同学。它不教你电磁场理论它教你把一个能改参数、能出 S 参数、能提 Q 值的模型真正搭出来。2. 电感建模的物理底子六个寄生分量与三个性能指标动手之前得先知道自己到底在拟合什么。片上螺旋电感不是一个理想 L它是一组寄生网络资料里列得很清楚低频电感 Ls、金属电阻与趋肤效应带来的低频损耗 Rs、螺旋与下穿线交叠形成的电容 Cs含匝间横向电容、螺旋对衬底的电容 Cox、衬底损耗 Rsi、衬底电容 Csi。这六个量决定了你后面在 ADS 里看到的 S 参数长什么样也决定了优化时该动哪个几何参数。2.1 设计参数与工艺参数要分开管几何侧有四个自由度外径 D、金属宽度 W、匝间距 S、圈数 N。工艺侧则是衬底电阻率、金属层选项、顶层金属厚度、用哪层金属走螺旋。这两类参数在 ADS 里的管理方式完全不同——几何参数是你 Pcell 的输入变量工艺参数则绑定在 Library 的 technology 上换库就等于换工艺层定义和单位都跟着变。很多人第一次翻车就翻在这儿在 A 工艺库里调好的 Pcell拷到 B 工艺库直接报层名找不到因为层名大小写敏感且不同库的层映射根本不一样。常见做法是给每个工艺建独立 LibraryPcell 只引用层名符号而不写死层号。资料里专门提醒了 User_Input.ael 中 layer name 大小写敏感这一条看着琐碎实际是 Pcell 复用能不能跨项目的前提。2.2 单端、差分与巴伦指标口径必须先定性能矩阵有三个核心指标电感量、品质因数、自谐振频率而每一个都分单端和差分两套算法。单端电感取 L imag(Z11)/(2πf)Q imag(Z11)/real(Z11)差分则要先做端口变换Zdiff Z11 Z22 − Z12 − Z21再在这个等效阻抗上算 L 和 Q。资料里把 2-port 到差分 1-port 的转换单独列了一页这不是凑页数——如果你拿单端公式去算一个差分电感的 Q数值会明显偏低因为没把另一端的耦合算进去。指标单端口径差分口径电感 Limag(Z11)/(2πf)由 Zdiff 虚部换算品质因数 Qimag(Z11)/real(Z11)由 Zdiff 虚部/实部换算自谐振频率 Fsr单端输入阻抗虚部过零差分阻抗虚部过零巴伦结构本质上是带中心抽头的对称或非对称变压器抽头位置直接改变两路之间的幅度相位平衡。资料里明确说了变压器部分的短板结构比较固定没法直接生成任意初、次级感值的组合。这一点在选型阶段就要认别指望点两下出一个任意变比的变压器后面第 5 章会讲怎么用表达式和优化绕过去。2.3 工艺叠层的三个层次技术基础部分把叠层拆成半导体、介电层、导体三层。介电层的介电常数决定 Cox 和 Csi 的量级导体层选哪层金属、多厚决定 Rs 和趋肤效应的拐点。Momentum 里介电层会被延伸到无穷远同一 Z 坐标上不支持不同材料任意导体跨层也不支持——这三条限制直接决定了你的叠层建模方式后面 4.2 节会展开。3. 两条建模路线Coilsys 快出 Pcell 与 AEL 宏自定义ADS 里建电感模型有两条路资料把它们叫 Easy Way 和 Hard Way这个命名很实在。Easy Way 是 Coilsys内置的综合、查找与 AMC 功能几步就能生成一个参数化 PcellHard Way 是写 AEL 宏用 Advanced Element Language 自己描述版图几何。选哪条不是水平问题是需求问题。3.1 Coilsys 路线从综合到 Pcell 落地Coilsys 的典型流程是给定目标电感量和 Q让它综合出几何参数或者反过来用 Finder 在给定工艺下扫参数找可行解最后生成 Pcell。第一次用有个硬性动作——必须重启 ADS 才能加载必要脚本不重启就是菜单灰的这个坑每年都有人踩。生成 Pcell 后在另一个 layout 里调用它的步骤大致如下以 ADS 的 AEL 交互习惯示意具体菜单名以你本地版本为准# 1. 确认 User_Input.ael 已就位层名与当前工艺库一致大小写敏感 # 2. 确认 App Manager 中 Coilsys 已注册 # 3. 完全退出 ADS 再启动让启动脚本重新加载 # 4. 新建 layout从 Component 库中调出生成的 Pcell # 5. 修改实例参数N / W / S / D观察版图实时更新这段不是让你照抄命令而是把顺序钉死脚本就位 → 工具注册 → 重启加载 → 调用实例 → 改参验证。逻辑说明一句Pcell 的参数是实例级覆盖改实例不会污染母版所以同一个电感 Pcell 可以在一个版图里放十几个不同尺寸的实例做对比。参数上N 建议从 2.5 圈起步扫到 5.5 圈W 和 S 受工艺最小线宽/间距约束D 则受面积预算约束先定 D 再调 N 通常收敛更快。3.2 AEL 宏路线把版图几何写成脚本Hard Way 的流程是文本编辑器里写 AEL 脚本为库创建 boot.ael在 boot.ael 里加载脚本再配置 Pcell 的 layout。适合什么场景Coilsys 生成不了的形状——非对称、抽头位置特殊、多层任意叠法。AEL 本质是描述几何图元的语言你告诉它每一圈的路径、每一层的过孔位置它给你生成版图。# AEL 脚本结构示意伪代码风格突出组织方式而非语法细节 # 1. 定义输入参数表N, W, S, D, metal_layer, via_layer # 2. 计算每圈半径序列r_i D/2 - i*(WS) # 3. 逐圈生成路径图元方形用四段折线八边形用八段 # 4. 下穿线单独一层过孔按 via_layer 放置 # 5. 注册为 Pcell参数暴露到实例属性关键在参数表和几何计算的分离参数表是给使用者调的几何计算是给 ADS 渲染的两者混在一起脚本就没法维护。层名一律用符号引用别写死层号这是跨工艺复用的唯一办法。写完后记得在 boot.ael 里加载否则库打开时 Pcell 不出现——这个现象和 3.1 的重启问题经常被混为一谈其实一个是脚本没加载一个是脚本加载了但工具没注册排查方向完全不同。3.3 两条路线的取舍维度CoilsysAEL 宏上手成本低菜单驱动高要写脚本形状自由度受限于内置模板任意几何参数化程度圈数/线宽/间距/内外径可调完全自定义跨工艺复用依赖层名配置层名符号化后更稳适合场景标准螺旋电感快速迭代非对称、抽头、多层特殊结构我的建议是先用 Coilsys 把标准结构跑通拿到一组可信的 S 参数做基准再上 AEL 做特殊结构用基准去校验脚本生成的版图有没有画错。反过来先写脚本错了都不知道错在几何还是错在仿真设置。4. Momentum 电磁仿真设置对了结果才可信版图画完只是开始Momentum 的设置决定了你拿到的 S 参数是不是能信。资料把 Momentum 定位成 3D 平面电磁求解器支持任意多层结构对复杂寄生和电磁耦合有较高精度厚金属的侧壁电流垂直和水平都考虑侧壁耦合也能仿真。这几句是它的能力边界也是你判断什么时候该用它、什么时候该换全波 3D 求解器的依据。4.1 导体设置三选一别乱选Momentum 对导体有三种设置3D Distributed顶面、底面、侧壁电流密度全考虑资料明确标注为推荐设置2D Distributed侧壁只考虑垂直电流Sheet完全不计侧壁电流。选错的后果很直接——用 Sheet 去仿一个厚顶层金属电感Rs 会偏小Q 值虚高流片回来对不上。常见做法是顶层厚金属走 3D Distributed普通薄金属层可以退到 2D Distributed 省时间Sheet 只留给明确不需要侧壁效应的场景比如屏蔽地平面上做涡流抑制的图案化地。这个判断没有公式靠的是你对这层金属厚度和电流分布的预判。4.2 叠层与边界三条硬限制Momentum 的介电层会延伸到无穷远同一 Z 坐标上不支持不同材料任意导体跨层也不支持。这三条在建模时的含义是你的衬底叠层必须是一维堆叠不能在同一高度上左边是二氧化硅右边是氮化硅跨层的连接只能靠过孔不能靠一条斜着穿过去的导体。资料里还提到边界条件有开放边界配合地平面的顶、底、水平侧壁和垂直侧壁设置实际项目里先确认地平面怎么定义再谈其他。推荐设置这块资料给了 emSetup 的推荐配置核心是网格密度和频率扫描范围。频率范围要覆盖到你关心的最高频率的 2 到 3 倍否则自谐振点可能落在扫描窗口外你看到的 Q 曲线就是一段没到头的数据。网格太粗会把窄间距的匝间耦合抹掉太细则仿真时间爆炸一般先用默认网格跑一遍看收敛趋势再局部加密。4.3 从 S 参数到 L/Q后处理别手算错仿真出 S 参数后转成 Z 参数再套第 2 章的公式。这里有个容易忽略的点端口参考阻抗和去嵌。如果你的电感是通过一段馈线连到端口的馈线的寄生会混进 Z11L 和 Q 都会偏。资料里没展开去嵌细节但实际项目里这一步不能省常见做法是单独仿一段同样长度的馈线做 de-embedding或者把端口直接放在电感引脚上。import numpy as np # S - Z 转换双端口参考阻抗 50 欧 def s_to_z(s, z050): I np.eye(2) return z0 * np.linalg.inv(I - s) (I s) # 单端电感与 Q def l_q_single(z11, f): L np.imag(z11) / (2 * np.pi * f) Q np.imag(z11) / np.real(z11) return L, Q # 差分先做端口变换再算 def l_q_diff(z, f): zdiff z[0,0] z[1,1] - z[0,1] - z[1,0] L np.imag(zdiff) / (2 * np.pi * f) Q np.imag(zdiff) / np.real(zdiff) return L, Q逻辑说明s_to_z 用标准矩阵变换z0 默认 50 欧如果你的系统阻抗不是 50 记得改l_q_single 直接吃 Z11l_q_diff 先按 Zdiff Z11 Z22 − Z12 − Z21 合成差分阻抗再套同一套公式。参数上f 是频率数组单位赫兹别拿 GHz 直接代进去量纲错了结果差九个数量级。这段代码我一般放在仿真后的脚本里跑比在 ADS 数据窗口里手点公式稳。5. 避坑与排查五条血泪经验5.1 Pcell 菜单灰的、调不出来现象Coilsys 装好了菜单项是灰的或者新建 layout 里找不到生成的 Pcell。原因ADS 首次使用必须重启才能加载必要脚本另外 User_Input.ael 里的层名和当前库工艺不一致也会导致注册失败。解决完全退出 ADS 再启动逐行核对 User_Input.ael 的层名拼写和大小写确认 App Manager 里 Coilsys 状态正常。5.2 仿真结果 Q 值高得离谱现象Momentum 跑出来的 Q 比预期高一大截L 也偏大。原因导体设置选了 Sheet侧壁电流没算Rs 偏小或者频率扫描范围没覆盖自谐振点看到的是一段没到头的曲线。解决顶层厚金属改 3D Distributed把扫描上限提到关心频率的 2 到 3 倍确认 Fsr 落在窗口内。5.3 换工艺库后 Pcell 报错现象同一个 Pcell 从 A 库拷到 B 库打开就报层找不到。原因层名写死成具体层号或者大小写和 B 库不一致。解决AEL 脚本里层名一律符号化引用Pcell 只认符号不认层号换库时先核对两库的层映射表。5.4 差分 Q 算出来偏低现象同一个电感单端算 Q 是 12差分算出来只有 8。原因拿单端公式套了差分数据没做 Zdiff 端口变换。解决按 Zdiff Z11 Z22 − Z12 − Z21 先合成再算单端和差分两套口径分开出报告。5.5 变压器生成不了想要的变比现象想要初级 2 nH、次级 8 nH 的任意组合Coilsys 生成不出来。原因资料里写明了变压器结构比较固定无法生成任意初、次级线圈感值。解决用表达式加优化把初、次级感值作为优化目标几何参数作为变量让优化器去逼近或者退回 AEL 手写非对称结构。这条不是 bug是工具边界早点认了能省两天。6. 进阶用表达式与优化把变压器逼到目标值标准结构满足不了的时候Hard Way 里的表达式和优化就是后悔药。思路不复杂把初、次级电感量、耦合系数、Q 值写成几何参数的表达式设好目标值和容差让 ADS 的优化器去搜。难点在初值——优化器不是玄学初值离解太远照样不收敛。我一般这么干先用 Coilsys 生成一个接近目标的标准结构做初值把它导出成带参数的表达式模型然后只放开 2 到 3 个变量比如次级圈数和线宽其余锁死。变量一多优化空间维度爆炸收敛慢还容易掉进局部解。目标函数上初级感值和次级感值给硬约束Q 值给软约束因为 Q 对几何的敏感度比 L 高硬压 Q 容易把 L 带偏。优化项建议设置说明变量数量23 个圈数、线宽优先间距次之初值来源Coilsys 标准结构别从零猜L 目标硬约束容差 ±5%感值偏了后面全白搭Q 目标软约束敏感度高硬压易带偏 L验证优化后回 Momentum 复仿表达式模型和电磁结果对不上就回退优化收敛后别急着信一定回 Momentum 复仿一遍。表达式模型是解析近似Momentum 是数值求解两者在复杂耦合下会有偏差偏差超过 10% 就说明表达式模型漏了效应得回去补项。这个复仿步骤我吃过亏——有一次优化结果漂亮得不像话回仿一看次级感值差了近两成原因是抽头位置的耦合没进表达式。从那以后我每次做完优化都强制走一遍「表达式出解 → Momentum 复仿 → 偏差超阈值就回退改模型」的闭环不管优化器报的残差多小。希望帮到你。本文还有配套的精品资源点击获取