EMX电感抽取

简介

在virtuoso中使用EMX对电感进行抽取。

类型 端口 差分 抽头 屏蔽 用途说明
Single-ended inductor PLUS, MINUS 单端 否 否 两端口电感;Plot 时 MINUS 视为接地
Differential inductor PLUS, MINUS 差分 否 否 端口同上;绘图按 PLUS/MINUS 差分驱动
Single-ended shield inductor PLUS, MINUS, SHIELD 单端 否 是 屏蔽层隔离衬底;Plot 时 SHIELD 接地
Differential shield inductor PLUS, MINUS, SHIELD 差分 否 是 同上,按差分驱动绘图
Tapped inductor (diff) PLUS, MINUS, TAP 差分 是 否 正常工作时 TAP 带 DC 电压;模型拟合只强调差分精度
Tapped inductor (common) PLUS, MINUS, TAP 差分+共模 是 否 同上,模型拟合更偏重共模行为
Tapped shield inductor (diff) PLUS, MINUS, TAP, SHIELD 差分 是 是 屏蔽+抽头;差分仿真
Tapped shield inductor (comm) PLUS, MINUS, TAP, SHIELD 差分+共模 是 是 屏蔽+抽头;共模也考虑
模型节点数 = 端口数(参考地不占节点,由 Grounds 字段指定):上表 2/3/3/4 端口对应 2/3/3/4 节点模型。

端口顺序与模型节点对应

端口顺序取上表"端口顺序"列:EMX 结果中的端口顺序 = Signals 字段里列出的顺序,抽取 lumped model 时必须与所选 Device Type 假定的顺序一致;节点数 = 端口数。

EMX 界面配置变量是 SKILL 变量,写在 emxconfig.il(EMX 安装目录 emxinterface/emxskill/ 下),在 .cdsinit 中 load 该文件;自定义内容建议放在加载 emxform.ils 的那一行之前,方便版本升级时拷贝。

变量 作用 推荐值
EMX_use_case_name 若为 nil(默认)为旧式表单:Form state 只能存为 .work 目录下的 txt 文件或 text view。若为 t:开启仿真 case 支持,基本表单出现 Case 字段,可把不同工艺角/温度组合保存为独立视图,供 Cadence configuration 切换 t(官方推荐用 case 支持)
EMX_modelgen_temp_coeffs 仅当 advanced case 支持开启 + Case 字段仿真了 ≥3 个温度 + 该变量 = t 时,ModelGen 才生成带温度系数的模型。界面对温度中最接近 25°C 的视为额定温度;生成时温度部分从 case 名省略,温度依赖体现在模型元件系数里(推荐视图命名下如 EMX_model_lowr) 做多温抽取时 t;只跑单温可不设
EMX_remote_machine 默认本地跑。设成 服务器名 → 经免密 ssh 在服务器运行(需配公钥,可能还要自定义 EMX_ssh_cmd 传 CDS_LIC_FILE 等环境变量);设成 bsub ... / qsub ... 开头字符串 → 界面 Job Submission 区出现 Use bsub 复选框 + Bsub options 字段,字符串剩余部分作为 Bsub 默认选项(通常是队列名),作业输出自动捕获到进度窗口(有延迟) "bsub -q emx_queue"(队列名换成实际的;本地小规模抽取可不设)

Case 支持用法(EMX_use_case_name=t 后):配合 EMX_form_state_name 含 %c(如 "EMX_form%_c")与 EMX_form_defaults_cell=nil,case 字段填名称(如 lowQ)→ 生成 EMX_model_lowQ、EMX_spar_lowQ、sparam_lowQ 等视图;case 也可以带参数,如 proc=lowr temp=-50,25,150:

其他相关变量(详见 Reference Manual "Major Variables"):EMX_use_job_monitor(默认 2,≥2 个作业时显示 job monitor)、EMX_process_path / EMX_process_name(.proc 文件)、EMX_process_aliases(长 proc 名别名)、EMX_working_dir(工作目录,.work 与 s 参数文件所在)、EMX_path / EMX_interface_path(EMX 安装目录)、EMX_schematic_creation_hook。

抽取精度选项推荐值

GUI 的 Accuracy options(Edge mesh / Thickness / Via merge / 3D metals / Surface metals)对应 EMX 命令行选项 --edge-width(-e)、--thickness(-t)、--via-separation(-v)、--3d、--surface。官方 Tutorial 的推荐:

字段 推荐值 依据
Edge mesh 电感/变压器:1(快速)~ 0.5/0.4(高精度);MOM 电容:= 指宽(如 0.1) 网格尺寸应为最高关注频率处趋肤深度的量级;默认 1µm,调小更准但更慢;窄走线要保证至少 3 个网格单元横跨;收敛时 L 收敛快、Q 收敛慢
Thickness 与 Edge mesh 同量级(如 1,精细 0.4;金属很厚时 0.1) 垂直方向分层(类似 edge-width),只对 3D 金属及带侧壁的 via 有效;兼容模式下若只给 --thickness 不给 --3d,超过该厚度的导体按 3D(无侧壁)处理
Via merge 0.5(默认);0 = 不合并 距离 ≤ 0.5µm 的 via 合并成一个大 via,避免浪费网格;官方建议在 .proc 文件中按层控制(merge(layer, dist)),而不是全局统一设置
3D metals 电感/变压器:只把厚金属设 3D(如 me8,me9);MOM 电容:*(全部 3D,捕捉侧壁电容) 默认所有金属按 2.5D 处理;* =全部,-* =全部不,-me1,me2 =除列出外
Surface metals 芯片内结构留空;package 层才用 对指定导体用 surface 模型(形式同 --3d);同一层被 --3d 和 --surface 同时覆盖时 surface 优先
Start freq 0(DC) EMX 在 DC 稳定,可以从 0 扫
Stop ≥ 最高关注频率(通常 2~3 倍工作频率,或 100GHz)
Step 如 1e8(100MHz);点数够模型拟合即可 数字 = 线性步进;log 前缀 = 对数扫描(默认 20 点/十倍频,log 50 = 50 点/十倍频,Start 为 DC 时须给首个非零频如 log 1e+07 50);可组合 log 1e6 lin 1e8;Start=Stop 单频时 Step 被忽略,且生成 lumped model 必须跑频率扫描

流程建议

先用快速设置(Edge mesh 1 / Thickness 1 / 3D metals 只列厚金属 / Start=0)跑通全流程并验证模型端口连接;再收紧 Edge mesh(0.5 → 0.4)做收敛检查,比对 L 与 Q;Q 对网格更敏感,电感 Q 的收敛通常慢于电感值。

参考文档

Z:\IC\EMX文档\(EMX 6.3, July 2022):