4、版图寄生参数提取(QRC/StarRC):用Calibre xACT或QRC生成带寄生网表
版图画完了,DRC/LVS都过了,是不是就万事大吉了?
别急。真正的“照妖镜”还没上场呢——寄生参数提取。
你想想看,LVS只告诉你“连接关系对不对”,但它不告诉你“这根线有多大的电阻、旁边那根线有多大的电容”。对于LNA这种对增益、噪声系数、输入匹配极度敏感的电路,一根长走线的寄生电阻可能就让增益掉2dB,一个交叉耦合的寄生电容可能就让NF恶化0.3dB。我见过太多“前仿真完美、后仿真翻车”的案例,问题都出在寄生提取这一步没做透。
4.1 寄生提取的本质:把版图“翻译”成电学模型
说白了,寄生提取就是把你画出来的多边形、通孔、金属层,翻译成电阻R、电容C、电感L(毫米波频段还得考虑互感K)。这个翻译过程,靠的是场求解器或模式匹配算法。
目前主流工具就两大家族:
- Calibre xACT(Mentor/Siemens):业界标杆,3D场求解器精度高,但跑起来慢得像蜗牛。适合关键路径或高精度后仿。
- QRC(Cadence):集成在Virtuoso里,用起来方便,支持多线程加速。我习惯在迭代调试阶段先用QRC快速提取,最后签核再用Calibre xACT做一次“终极验证”。
核心概念:寄生提取不是“全提取”就完事,而是“按需提取”。对于LNA,输入匹配网络、输出匹配网络、共源共栅管的栅漏交叠区,这三处必须用高精度模式;其他偏置走线可以用简化模式。
4.2 提取流程:三步走,步步有坑
不管用哪个工具,流程都差不多。我把它拆成三步:
- 准备阶段:确认版图gds、工艺文件(.itf/.ict/.nxtgrd)、提取规则文件(.xrc/.lvs)。这一步最容易出问题的是工艺文件版本不对——我曾经因为用了旧版的.itf文件,提取出来的寄生电容比实际大了30%,害得我调了三天匹配。
- 提取设置:选择提取模式(R+C+CC、只提C、只提R)、设定频率点(LNA通常设在工作频点,比如5.8GHz)、指定顶层端口。这里有个技巧:把电源和地网络设成“屏蔽网络”,可以大幅减少寄生数量。
- 生成网表:输出带寄生参数的SPICE网表(.pex/.calibre)。网表格式要跟前仿用的模型一致,否则后仿跑不起来。
我的习惯:第一次提取时,我会把“寄生电容阈值”设得低一点(比如1fF),宁可多提一些寄生,也不要漏掉关键路径上的小电容。等后仿收敛后,再调高阈值做一次精简提取用于最终签核。
4.3 提取模式对比:精度 vs 速度的博弈
工具提供了多种提取模式,怎么选?看下表:
| 模式 | 提取内容 | 精度 | 速度 | 适用场景 |
|---|---|---|---|---|
| C+CC | 对地电容+耦合电容 | 中 | 快 | 数字电路、低频模拟 |
| R+C+CC | 电阻+对地电容+耦合电容 | 高 | 中 | LNA、Mixer等射频电路 |
| R+C+CC+耦合电感 | 全寄生参数 | 极高 | 慢 | 毫米波、PA、VCO |
对于5GHz以下的LNA,R+C+CC模式足够了。到了毫米波频段(比如28GHz、77GHz),走线之间的互感效应会显著影响增益和稳定性,这时候必须开启耦合电感提取。
4.4 寄生网表的结构:读懂它才能用好它
提取完成后,你会得到一个带“X”的网表。比如:
// 原始网表
M1 (d g s b) nmos w=10u l=0.18u
// 寄生网表(简化)
M1 (d_int g_int s_int b) nmos w=10u l=0.18u
R1 (d d_int) 12.5
R2 (g g_int) 8.3
C1 (d_int g_int) 2.4f
C2 (d_int s_int) 1.1f
C3 (g_int s_int) 0.8f
C4 (d_int 0) 5.2f
C5 (g_int 0) 3.6f
C6 (s_int 0) 4.1f
看到没?每个器件端口都被“打断”了,插入了寄生R和C。这些寄生参数会改变电路的直流工作点、频率响应和噪声特性。
注意:寄生网表中的电阻值单位是欧姆,电容单位是法拉(通常用fF表示)。如果看到“R=12.5”但没有单位,默认是欧姆。我曾经遇到一个实习生把12.5欧姆当成12.5毫欧姆,结果后仿增益比前仿高了5dB,他还以为是版图画得好……
4.5 提取后的“体检”:快速判断寄生是否合理
拿到寄生网表后,别急着跑后仿。先做三件事:
- 看总量:统计一下总寄生电容和总寄生电阻。对于LNA,输入端的寄生电容通常控制在50fF以内,输出端控制在100fF以内。如果超出太多,说明版图布局有问题。
- 看关键路径:检查输入匹配网络和共源共栅管栅极的寄生。这两个地方的寄生对NF影响最大。
- 看对称性:如果是差分LNA,检查左右两路的寄生是否对称。不对称会导致共模抑制比下降。
一个小技巧:在Calibre xACT的报告中,会列出“Top 10 寄生电容”和“Top 10 寄生电阻”。我每次都会先看这个列表,如果发现某个寄生电容大到离谱(比如超过100fF),我会立刻回到版图里找到对应的走线,看看能不能优化。
4.6 知识体系:寄生提取的核心逻辑
下面这张图总结了寄生提取的完整流程和关键决策点:
4.7 避坑指南:我踩过的那些雷
做寄生提取这么多年,我总结了几条血泪教训:
- 别信默认设置:工具的默认提取阈值通常偏大,会漏掉小寄生。对于LNA,我建议把最小寄生电容阈值设为0.1fF,最小寄生电阻阈值设为0.1Ω。
- 注意通孔电阻:一个通孔(Via)的电阻虽然只有几欧姆,但如果你在信号路径上串了20个通孔,那就是几十欧姆的寄生电阻。LNA的源极退化电感路径上尤其要注意。
- 屏蔽网络要谨慎:把电源和地设成屏蔽网络可以加速提取,但如果你把敏感信号旁边的地线也屏蔽了,可能会漏掉关键的耦合电容。我一般只屏蔽全局电源和全局地。
- 后仿跑不动?寄生网表可能非常大(几百万个寄生元件)。这时候可以用“寄生精简”功能,把对电路影响很小的寄生合并或删除。但记住:精简前先跑一次完整后仿,确认哪些寄生是关键的。
重要提醒:寄生提取的精度直接决定了后仿真的可信度。如果你发现后仿结果跟前仿差得离谱(比如增益掉了5dB以上),先别急着调电路,回头检查一下提取设置和工艺文件版本。我至少有三次“虚惊一场”,最后发现是提取时选错了工艺角。
好了,寄生网表拿到手了。下一步就是把它扔进仿真器,看看LNA在“真实世界”里到底表现如何。不过在那之前,我建议你先对着寄生网表发一会儿呆——读懂它,你就能预判后仿的结果了。