2. Calibre工具家族与运行环境
Calibre 并不是一个单一可执行程序,而是一整套围绕“版图物理验证”构建的工具家族。理解这套家族的分工,是后续所有签核流程能够顺利跑通的前提。很多初学者第一次接触 Calibre 时,会把它当成一个“跑 DRC 的软件”,结果在遇到 LVS 不匹配、PEX 提取异常或 ERC 报错时无从下手。实际上,Calibre 的每个组件都对应着物理验证链条上的一个明确环节,它们共享同一套规则文件语法、同一套版图/网表读取引擎,但各自解决不同的问题。
一、工具家族的分工逻辑
从签核目标来看,Calibre 家族可以分成“几何检查”“连接性检查”“寄生提取”“电气规则检查”“可制造性分析”和“结果查看”六类。它们的关系不是并列的,而是有先后依赖的:DRC 确认版图几何本身合法,LVS 确认版图与原理图连接一致,PEX 在 LVS 通过的基础上提取寄生参数,ERC 则从电气角度检查版图中潜在的危险结构,DFM 在几何和连接都成立之后评估良率风险。RVE 不参与检查本身,而是作为结果查看与调试的入口,把前面各工具产生的数据库翻译成可交互的图形界面。
具体来说,Calibre nmDRC 负责设计规则检查,输入是 GDSII/OASIS 版图和 DRC 规则文件,输出是错误标记数据库和摘要报告。它回答的问题是“这个版图在几何上是否符合工艺要求”。Calibre nmLVS 负责版图与原理图的一致性比对,输入是版图、原理图网表(通常来自 CDL 或 SPICE)和 LVS 规则文件,输出是比对结果和提取出的版图网表。它回答的是“版图连出来的电路,和设计意图是不是同一个电路”。Calibre xRC / PEX 负责寄生参数提取,输入是版图、LVS 提取结果和提取规则,输出是带寄生电阻电容的 SPICE 网表。它回答的是“这条连线实际会带来多少延迟和耦合”。Calibre ERC 负责电气规则检查,关注浮空栅、电源短路、衬底连接缺失等电气隐患。Calibre DFM 则从可制造性角度评估 CAA、VIA 冗余、密度均匀性等良率相关指标。
二、RVE:结果查看与调试的入口
RVE(Results Viewing Environment)是 Calibre 家族中使用频率最高的交互工具。DRC 和 LVS 跑完后,产生的错误数据库本身是二进制或文本格式,直接阅读效率极低。RVE 的作用是把这些结果加载进来,与版图编辑器(如 Virtuoso Layout Editor)联动,实现“点击错误标记→版图自动定位到对应坐标→高亮相关图形”的调试闭环。在 LVS 调试中,RVE 还能显示“版图侧网络”与“原理图侧网络”的对应关系,帮助定位短路、开路或器件参数不匹配的具体位置。可以说,没有 RVE,DRC/LVS 的调试效率会下降一个数量级。
三、License 配置
Calibre 采用 FlexLM 授权机制。环境变量 MGLS_LICENSE_FILE 或 LM_LICENSE_FILE 指向 license 服务器地址,格式为 port@hostname。例如:
export MGLS_LICENSE_FILE=1717@lic-server.example.com
# 或同时指定多个 license 源
export MGLS_LICENSE_FILE=1717@lic-server.example.com:1717@lic-backup.example.com
需要特别注意的是,Calibre 各组件通常对应不同的 license feature。例如 calibre_drc、calibre_lvs、calibre_pex、calibre_rve 是独立的 feature 名称。如果只购买了 DRC 和 LVS 的 license,却尝试运行 PEX,工具会在启动阶段报出 “Cannot find license for calibre_pex” 之类的错误。排查时可以用 lmstat -a -c 1717@lic-server 查看当前 license 池中各个 feature 的占用情况。批处理作业提交前,建议先确认目标 feature 是否有可用席位,避免大规模并行任务因 license 争用而排队。
四、批处理作业提交
Calibre 的典型运行方式是批处理模式,而不是在图形界面里逐条点击。基本命令形式如下:
calibre -drc -hier -turbo 8 -hyper drc_runset
calibre -lvs -hier -turbo 8 lvs_runset
calibre -pex -hier -turbo 8 pex_runset
其中 -hier 启用层次化处理,-turbo 指定并行线程数,-hyper 启用超线程模式。运行集文件(runset)中定义了版图路径、规则文件路径、输出目录、选项开关等关键参数。在集群环境中,通常通过 LSF、SGE 或 Slurm 提交作业,例如:
bsub -q normal -n 8 -R "rusage[mem=16384]" \
"calibre -drc -hier -turbo 8 -hyper drc_runset"
提交后应关注作业日志中的 “Total CPU time”“Peak memory” 以及 “Results written to” 等关键行,确认运行是否正常结束。如果日志中出现 “ERROR: Rule file syntax error” 或 “License request failed”,则分别指向规则文件问题和 license 问题,需要分开处理。
calibre -v 2023.4_18.11),避免因工具版本升级导致规则行为变化而引入不可复现的签核结果。
五、组件协同的典型顺序
一个完整的物理签核流程通常按以下顺序推进:先跑 DRC,确保几何合法;DRC 干净后跑 LVS,确保连接关系正确;LVS 通过后跑 PEX,提取寄生参数供后仿使用;ERC 可以与 LVS 并行或在其后运行,检查电气隐患;DFM 通常在流片前最后阶段运行,评估良率风险。RVE 则贯穿始终,用于查看和调试各阶段结果。理解这个顺序,有助于在签核卡住时快速判断应该先解决哪一类问题,而不是盲目地反复重跑所有工具。