3. Calibre工具家族与版本管理

Calibre 并不是一个单一程序,而是一组围绕“版图验证”构建的工具家族。理解这个家族的分工,是后端平台集成的前提:平台需要知道每个工具读什么、写什么、依赖哪些外部数据,才能把调用参数、许可证和版本约束固化到流程脚本中。本节先梳理核心组件功能,再讨论版本升级、许可证管理与多版本共存策略。

核心组件功能梳理

Calibre nmDRC 负责设计规则检查,输入是 GDSII/OASIS 版图与 DRC 规则文件(通常由 foundry 提供,扩展名多为 .cal 或规则 deck),输出是违规标记数据库与报告。它按规则逐层检查间距、宽度、包围、密度等几何约束,是流片前最基础的物理验证。Calibre nmLVS 负责版图与原理图一致性检查,输入是版图、网表(CDL/SPICE)与 LVS 规则,输出是提取网表与比对结果,用于确认器件、连接、参数是否与设计意图一致。

Calibre xACT 属于寄生参数提取工具,从版图几何与工艺堆叠信息中提取 RC 寄生网络,输出 SPICE 格式的寄生网表,供后仿使用。Calibre DFM 面向可制造性设计,包含化学机械抛光(CMP)模拟、光刻热点检查、冗余填充等,关注的是“能否稳定制造”而非“是否违反规则”。Calibre PERC 则做可靠性检查,如静电放电(ESD)路径、闩锁、电压域交叉等,它常需要结合网表与版图共同分析。

这些工具共享同一套底层几何引擎与规则语言,因此规则文件、层映射、运行目录结构高度一致。平台集成时,通常把“工具可执行文件路径 + 规则文件 + 输入版图/网表 + 运行目录 + 许可证”作为一次验证任务的最小参数集合。

Calibre 工具家族与数据流 版图 GDS/OASIS 几何图形 + 层号 原理图网表 CDL / SPICE 规则文件 DRC/LVS/PERC deck 工艺堆叠信息 ITF / 层厚 / 介电常数 Calibre nmDRC 设计规则检查 Calibre nmLVS 版图与原理图一致性 Calibre xACT 寄生 RC 提取 Calibre DFM CMP / 光刻热点 / 填充 Calibre PERC 违规标记 + 报告 RDB / 文本报告 提取网表 + 比对结果 SPICE / LVS 报告 寄生网表 SPEF / DSPF DFM 评分 / 热点图 制造风险报告 可靠性违规报告 共享几何引擎与规则语言 License 服务器 FlexLM / 端口 27000

版本升级与兼容性

Calibre 版本升级通常由 foundry 规则文件驱动。规则 deck 中会声明其支持的 Calibre 版本范围,例如 # Calibre version 2022.3 or later。如果平台上的 Calibre 版本低于该要求,运行会直接报错或产生不可信结果。因此升级前必须确认三件事:新版本是否支持当前所有项目的规则 deck;新版本是否改变了命令行参数或环境变量;新版本是否与现有许可证文件兼容。

实际升级时,建议先在独立目录安装新版本,用同一套规则和版图做回归对比。例如,用旧版本和新版本分别跑同一份 DRC,比较违规数量与位置是否一致。若新版本修复了某些误报,违规数可能减少;若规则 deck 未同步更新,也可能出现新增违规。回归通过后再切换平台默认版本。

许可证管理

Calibre 使用 FlexLM 许可证管理。许可证文件通常由 LM_LICENSE_FILE 或 CALIBRE_LICENSE_FILE 环境变量指定,格式为 27000@license-server。平台集成时需要关注:许可证是否包含所需工具特性(如 nmDRC、nmLVS、xACT 可能分别授权);并发用户数是否足够;许可证超时时间是否合理。

一个常见问题是:多个项目同时提交大量验证任务,导致许可证排队。平台可以在提交前检查许可证可用性,或在任务队列中设置优先级。另一个问题是许可证服务器网络延迟,建议在平台节点上配置本地缓存或就近的许可证服务器。

多版本共存策略

多版本共存是后端平台的常态。推荐做法是按版本号建立独立安装目录,例如 /tools/calibre/2022.3、/tools/calibre/2023.4,并通过环境变量或模块系统(如 module load)切换。平台脚本中不要硬编码绝对路径,而是通过配置项指定每个项目使用的 Calibre 版本。

规则 deck 也应与版本绑定。可以在项目配置中记录:项目 A 使用 Calibre 2022.3 + deck v1.2;项目 B 使用 Calibre 2023.4 + deck v2.0。这样即使平台升级了默认版本,已有项目仍可复现历史结果。对于需要长期维护的芯片,建议保留其对应的 Calibre 版本和 deck 副本,避免因工具升级导致验证结果漂移。

实践建议:在平台中维护一张“项目—Calibre 版本—规则 deck 版本—许可证特性”的映射表,每次提交验证任务时自动读取。这样既能保证结果可复现,也能在许可证紧张时快速定位哪些项目占用了哪些特性。

总结来说,Calibre 工具家族的分工决定了平台需要管理的输入输出类型;版本升级要以规则 deck 兼容性为准;许可证管理要关注特性、并发和网络;多版本共存则依赖目录隔离、配置绑定和回归验证。把这四点落实到平台脚本和配置中,才能让后端验证流程稳定、可复现、可扩展。