3. Calibre xRC 设置:规则文件、提取模式(R/C/RC)
版图画完了,DRC、LVS 也跑通了。嗯,这时候你可能会松一口气。但别急,真正的「照妖镜」还没上场——寄生参数提取。
我个人习惯把 Calibre xRC 比作「版图翻译官」。它把物理版图翻译成带电阻、电容的网表。翻译得准不准,全看你怎么设置。今天咱们就聊聊 xRC 的三个核心设置:规则文件、提取模式,还有那些容易踩的坑。
核心观点:寄生参数提取不是「跑个脚本就完事」。规则文件选错,提取模式用错,后仿真结果能差出 20% 以上。我见过不止一个团队,因为用了 C-only 模式去评估 LNA 带宽,结果流片回来高频增益掉了 3dB。
3.1 规则文件:你的「工艺词典」
规则文件,说白了就是 PDK 里那个 .xRC 或 .lvs 后缀的文件。它告诉 Calibre:
- 每层金属的方块电阻是多少
- 层间介质的介电常数是多少
- 通孔(Via)的寄生参数怎么算
- 哪些层需要耦合电容提取
我在项目中遇到过一件事:有个同事从 PDK 里直接拿了 LVS 规则文件来跑 xRC。结果跑出来的寄生电容比预期大了两倍。为什么?因为 LVS 规则文件里没有定义「边缘电容」的提取参数。xRC 默认用了最保守的模型,把 fringe capacitance 算成了 parallel plate 的两倍。
我的习惯:每次拿到新工艺,我都会先确认 PDK 里有没有专门的 .xRC 文件。如果没有,就用 .lvs 文件,但必须手动检查 PEX RULES 语句块是否完整。特别是 FRINGE 和 COUPLING 相关的定义。
规则文件里还有几个关键参数,我列个表方便你对照检查:
| 参数名 | 含义 | 常见问题 |
|---|---|---|
RESISTANCE FACTOR |
方块电阻倍率 | 温度系数未修正,导致后仿 R 偏小 |
CAPACITANCE FACTOR |
电容密度倍率 | 未包含工艺角偏差,C 值偏理想 |
FRINGE THRESHOLD |
边缘电容计算阈值 | 设太大漏掉细线耦合,设太小计算量爆炸 |
COUPLING RANGE |
耦合电容提取距离 | 默认值通常够用,但高频 LNA 建议缩小到 5μm |
3.2 提取模式:R、C、还是 RC?
这是新手最容易纠结的地方。Calibre xRC 支持三种提取模式:
- C-only:只提电容,不提电阻
- R-only:只提电阻,不提电容
- R+C 或 RC:电阻电容都提,还带耦合
你可能会问:「那肯定选 RC 啊,全都要不就行了?」
嗯,理论上没错。但实际项目里,你得考虑仿真时间和数据量。RC 提取生成的网表,节点数可能是 C-only 的 5~10 倍。对于 LNA 这种高频电路,一个关键路径上的寄生电阻可能只有几欧姆,但耦合电容却能决定增益峰值。
避坑指南:我曾经在一个 28nm 的 LNA 项目里,为了省时间用了 C-only 模式做前几轮迭代。结果后仿真增益曲线完全对不上。查了两天才发现——源极退化电感的寄生电阻被忽略了,导致输入匹配偏了。从那以后,我定了个规矩:关键路径(输入匹配、输出负载、反馈网络)必须用 RC 模式,偏置和数字控制部分可以用 C-only。
三种模式的适用场景,我整理了一下:
| 模式 | 提取内容 | 适用场景 | 注意 |
|---|---|---|---|
| C-only | 对地电容 + 耦合电容 | 早期评估、偏置网络、数字控制 | 忽略电阻,不适合评估 IR Drop 和匹配 |
| R-only | 金属电阻 + 通孔电阻 | 电源地网络分析、EM 检查 | 很少单独用,通常配合 C 一起 |
| R+C | 电阻 + 对地电容 + 耦合电容 | LNA 全链路后仿真、关键路径验证 | 数据量大,建议用 PEX REDUCE 简化 |
| RC (耦合) | R+C + 互感和耦合 RC | 毫米波 LNA、高精度模拟 | 仿真器需支持,Spectre 建议用 APS |
3.3 提取流程:从规则到网表
下面这张图是我自己总结的 xRC 提取流程。每次跑后仿之前,我都会对着它过一遍:
3.4 实操:Calibre xRC 设置步骤
好了,理论说完了。咱们直接上手。以下是我在 Cadence 环境里设置 xRC 的步骤:
- 打开 Calibre Interactive:在 Virtuoso 里选
Calibre → Run PEX - 加载规则文件:在
Rules选项卡里,点Load Rules,选 PDK 里的.xRC文件 - 设置提取模式:在
PEX Options里,找到Extraction Type,选R+C或C+CC - 指定输出网表格式:我一般选
SPECTRE格式,兼容性最好 - 设置 Reduction:在
PEX REDUCE里,把RESISTANCE THRESHOLD设为 1Ω,CAPACITANCE THRESHOLD设为 1fF - 跑提取:点
Run PEX,等进度条走完
小技巧:第一次跑的时候,建议把 PEX REDUCE 关掉。等确认网表没问题了,再打开 Reduction 来减小网表规模。我吃过一次亏——Reduction 太激进,把关键路径上的小电阻给合并了,导致后仿增益曲线出现异常。
3.5 常见问题与排查
跑 xRC 时,你可能会遇到这些问题。我列出来,方便你对照:
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 提取结果为空 | 规则文件未正确加载 | 检查 .xRC 文件路径,确认 PDK 版本 |
| 寄生电容异常大 | 耦合电容提取范围太大 | 缩小 COUPLING RANGE 到 5~10μm |
| 寄生电阻为 0 | 提取模式选了 C-only | 切换到 R+C 或 RC 模式 |
| 网表节点数爆炸 | Reduction 未开启 | 设置 PEX REDUCE 阈值 |
| 后仿与前仿差异大 | 规则文件与工艺角不匹配 | 确认使用了对应工艺角的规则文件 |
重要提醒:规则文件一定要和工艺角(TT/FF/SS)匹配。我见过有人用 TT 的规则文件去跑 SS 工艺角的版图,结果寄生电容偏差了 15%。每个工艺角都有独立的 .xRC 文件,别混用。