3. Calibre DFM运行环境搭建

Calibre DFM 并不是一个单一可执行程序,而是一组围绕版图数据、工艺规则与检查引擎协同工作的工具集合。要让 DFM 检查真正跑起来,运行环境需要同时满足四个条件:可用的 Calibre 可执行文件、有效的 License、与工艺匹配的规则文件(rule deck)、以及可被工具正确读取的版图与工艺库。本节围绕这四件事展开,重点讲清楚“装什么、配什么、怎么验证”,而不是停留在概念层面。

一、工具安装:先确认版本与平台一致性

Calibre 通常由 EDA 供应商以安装包形式提供,安装目录结构相对固定。以 Linux 环境为例,常见安装路径为 /opt/mentor/calibre/<version> 或用户自定义的 /tools/calibre。安装时首先要确认三件事:操作系统与架构(如 RHEL 7/8、x86_64)、Calibre 主版本(如 2022.3、2023.4)、以及与代工厂 PDK 匹配的版本要求。很多 DFM 规则文件对 Calibre 版本有最低要求,版本过低会直接报语法不识别。

安装完成后,需要把可执行文件路径加入环境变量。典型做法是在用户 shell 配置中设置:

export CALIBRE_HOME=/opt/mentor/calibre/2023.4
export PATH=$CALIBRE_HOME/bin:$PATH
export MGC_HOME=$CALIBRE_HOME
export CALIBRE_LIC_FILE=27020@lic-server.company.com

其中 CALIBRE_HOME 指向安装根目录,PATH 让 calibre、calibre -drc、calibre -lvs 等命令可直接调用,CALIBRE_LIC_FILE 指定 License 服务器地址与端口。设置后可用 which calibre 和 calibre -v 验证命令是否可用、版本是否正确。

二、License 配置:端口、主机与特性检查

Calibre 采用浮动 License 机制,客户端通过 LM_LICENSE_FILE 或 CALIBRE_LIC_FILE 指向 License 服务器。配置时要注意三点:一是端口号必须与服务器端 lmgrd 启动时一致,常见为 27000 或 27020;二是主机名要能被 DNS 或 /etc/hosts 正确解析;三是所购买的 License 特性(feature)要覆盖 DFM 相关模块,例如 calibre_drc、calibre_lvs、calibre_dfm 等。

验证 License 是否可用,最直接的方式是运行 calibre -licdebug 或查看 lmstat 输出:

lmstat -a -c 27020@lic-server.company.com | grep -i calibre

如果提示 “Cannot connect to license server” 或 “Feature not found”,应依次检查网络连通性、端口开放情况、服务器进程状态以及 feature 名称是否拼写正确。License 问题往往不是工具本身故障,而是环境变量或网络配置遗漏,排障时应优先从这三处入手。

三、工艺库与规则文件准备

DFM 检查依赖两类输入:工艺库(PDK)和规则文件(rule deck)。工艺库通常由代工厂提供,包含层定义、器件模型、技术文件等;规则文件则描述具体的 DFM 检查项,如金属密度、通孔密度、CMP 平坦度、光刻热点等。规则文件一般以 .rul 或 .cal 为扩展名,内部通过 LAYER、DRC、DFM 等语句组织。

准备阶段要确认规则文件与工艺节点、金属层堆叠、以及 Calibre 版本三者匹配。例如某 28nm 工艺的 DFM deck 可能要求 Calibre 2022.3 以上,并引用特定的 techfile 与 layer map。若规则文件中出现 INCLUDE 语句,需保证被包含文件路径正确,否则运行时会报 “cannot open include file”。建议在正式跑全芯片前,先用一个小模块做冒烟测试,确认规则文件能正常加载。

Calibre DFM 运行环境组成与验证路径 工具与 License 层 Calibre 安装目录 /opt/mentor PATH / CALIBRE_HOME 环境变量 License 服务器 27020@lic-server 工艺库与规则文件层 PDK:层定义 / 器件模型 / techfile DFM rule deck(.rul / .cal) layer map / include 文件路径 版图与运行输入层 GDSII / OASIS 版图数据 顶层 cell 与层次结构 运行目录与输出路径 验证与运行入口 calibre -v 版本检查 lmstat 检查 License calibre -drc 冒烟测试 命令行方式 calibre -drc -hier -turbo -runset dfm.rul -gds top.gds 图形界面方式 calibre -gui 启动 RVE / DRC GUI 加载 runset、查看结果与高亮

四、命令行基本操作:从冒烟测试到全芯片运行

Calibre 的命令行调用方式非常直接,核心是 calibre 加不同选项。DFM 检查通常以 DRC 引擎为基础,通过 runset 指定规则文件。一个典型的冒烟测试命令如下:

calibre -drc -hier -turbo -runset dfm.rul -gds top.gds -report dfm.rpt

其中 -drc 表示调用 DRC 引擎,-hier 启用层次化处理,-turbo 开启多线程加速,-runset 指定规则文件,-gds 指定输入版图,-report 指定输出报告。运行结束后,工具会生成 dfm.rpt 以及可能的 dfm.sum 汇总文件。判断是否成功,首先看退出码是否为 0,再看报告中是否有 “Total Errors: 0” 或具体违规条目。

如果规则文件较大,建议先用小模块验证语法,再逐步放大到全芯片。命令行方式适合批量运行和自动化脚本,也便于在服务器上通过 nohup 或作业调度系统提交。

五、图形界面基本操作:RVE 与结果查看

Calibre 提供图形界面用于结果查看和交互式调试,常用的是 RVE(Results Viewing Environment)。启动方式为:

calibre -gui

在 GUI 中,可以加载 runset、选择输入版图、启动检查,并在结果窗口中按层次、按规则、按坐标浏览违规。RVE 支持与版图编辑器联动,点击某条违规即可在版图中高亮对应位置。对于 DFM 检查,图形界面尤其适合分析密度、热点、CMP 等空间分布类问题,因为这类问题往往需要结合版图上下文判断。

图形界面与命令行并非互斥:常见做法是用命令行跑批量检查,再用 GUI 打开报告做交互分析。两者共享同一套规则文件和 License,因此环境配置一次即可通用。

六、环境搭建检查清单

为便于实际执行,下面给出一份可直接对照的检查清单,覆盖从安装到运行的完整链路:

检查项 验证方式 通过标准
Calibre 可执行文件 which calibre / calibre -v 返回路径且版本符合 PDK 要求
License 连通性 lmstat -a -c 27020@lic-server 能看到 calibre 相关 feature 且状态为 UP
规则文件可加载 小模块冒烟测试 无 include 报错、无语法错误
版图可读取 检查 GDS/OASIS 顶层 cell 工具能识别层次与层号
输出报告生成 查看 .rpt / .sum 报告完整、退出码为 0
提示:如果 calibre -v 正常但运行 DRC 时报 License 错误,优先检查 CALIBRE_LIC_FILE 是否被其他环境变量覆盖,以及当前用户是否有权限访问 License 服务器端口。
注意:规则文件中的 INCLUDE 路径建议使用绝对路径或基于 $CALIBRE_HOME 的相对路径,避免因运行目录不同导致文件找不到。工艺库版本与 Calibre 版本不匹配时,即使命令能启动,也可能在检查中途报层号或语法错误。