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 提取流程。每次跑后仿之前,我都会对着它过一遍:

Calibre xRC 寄生参数提取流程 输入准备 选择 .xRC 规则文件 选择提取模式 (R/C/RC) 执行 PEX 提取 输出寄生网表 说明: 输入准备包括:版图 GDS、LVS 通过的网表、工艺角选择。规则文件必须与工艺角匹配,提取模式根据仿真阶段灵活切换。

3.4 实操:Calibre xRC 设置步骤

好了,理论说完了。咱们直接上手。以下是我在 Cadence 环境里设置 xRC 的步骤:

  1. 打开 Calibre Interactive:在 Virtuoso 里选 Calibre → Run PEX
  2. 加载规则文件:在 Rules 选项卡里,点 Load Rules,选 PDK 里的 .xRC 文件
  3. 设置提取模式:在 PEX Options 里,找到 Extraction Type,选 R+C 或 C+CC
  4. 指定输出网表格式:我一般选 SPECTRE 格式,兼容性最好
  5. 设置 Reduction:在 PEX REDUCE 里,把 RESISTANCE THRESHOLD 设为 1Ω,CAPACITANCE THRESHOLD 设为 1fF
  6. 跑提取:点 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 文件,别混用。