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 | 差分+共模 | 是 | 是 | 屏蔽+抽头;共模也考虑 |
端口顺序与模型节点对应
端口顺序取上表"端口顺序"列:EMX 结果中的端口顺序 = Signals 字段里列出的顺序,抽取 lumped model 时必须与所选 Device Type 假定的顺序一致;节点数 = 端口数。

- 例如 Signals 填
vcop_p0 vcon_p01 cta(对应 PLUS / MINUS / TAP),则生成的模型/S 参数节点顺序为vcop_p0→vcon_p01→cta,schematic 中实例 pin 的连接顺序必须一致;接错顺序/漏接节点不报错但结果全错。 - 做 lumped model 前界面会检查 DC 连接性:如果仿真结果可用,会核对端口顺序与连接是否符合该器件类型,不匹配会警告并允许中止模型生成。
- 端口定义两种方式:labels(标签) 或 Virtuoso pins(推荐,与 Cadence 集成更好)。用 pins 时需勾选高级表单的 Cadence pins 选项,pins 放在顶层、label depth 设 0;pin 的 access direction 决定 edge(矩形一边对齐导体边缘)或 internal(整个 pin 区域注入电流)连接。
- 只用 pins 做 n-port 模型时无需关心顺序:Signals/Grounds 中用
*表示"其余所有未提及的 pin";*展开的端口按字母序排序(要数字序就用前导零:P01, P02, …)。 - 差分对用分号:
PLUS;MINUS→ EMX 额外跑--mode=PLUS-MINUS,可提高差分结构精度;端口/视图与直接写PLUS MINUS相同。 - 参考地 pin 命名规则:没有 Ground →
GND;恰一个 ground → 用其名字;多个 → 优先GND/gnd,否则取第一个;Grounds 中加引号"vss"可强制覆盖。勾选 Global ref 后,抽取视图的参考 pin 带 net expression 接到同名全局信号(如 VSS →VSS!),symbol 反而不出这个 pin。 - 高级写法:
S1:G1,G2,G3(探测结构,端口接多个地);bus 语法in<0:2>。 - 其它器件的官方端口顺序(Device Types):MiM 电容
TOP, BOTTOM;Xformer 为P1, P2, S1, S2(dot 在 P1、S1 上),主/副边/双抽头再加PTAP/STAP,盾形变压器末尾多一个SHIELD端口;Tcoil(简单模型)为三端器件。3-sect 系列分段电感(单端/差分/抽头/屏蔽组合齐全)端口顺序与对应普通型相同,用于宽电感的拟合。
仿真 Case 支持与 emxconfig.il 配置变量
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):
emx_virtuoso_int_refUG.pdf— EMX Virtuoso Interface Reference Manual(端口/Device Types p40、Case 支持 p64、Job Submission p81、Major Variables p9)emx_virtuoso_interface_tutorial.pdf— EMX Virtuoso Interface Tutorial(Accuracy Options p46/67、Inductor Meshing p59、Frequencies p68)emx_users_manual.pdf— EMX User Manual(--edge-width/--thickness/--via-separation/--3d/--sweep 等选项)model_schematics.pdf— Model Schematics(各器件端口顺序与模型原理图)