2. Calibre 先进封装验证平台与数据准备
先进封装(2.5D/3D、Chiplet、Fan-Out)的物理验证与单芯片时代最大的差别在于:版图不再是一张平面图,而是由多颗裸片、硅中介层、RDL、微凸点、TSV、基板等多个物理层级拼装而成的三维结构。Calibre 平台要处理的对象因此从"一个 GDS + 一套规则"变成"多份版图数据 + 多套工艺规则 + 跨层级连接关系"。本节先建立平台与数据准备的整体认知:工具套件各自负责什么、版图数据以什么格式进入流程、PDK 与规则文件如何组织、运行环境与许可证如何配置。
一、Calibre 工具套件在封装验证中的分工
Calibre 是一组共享同一版图数据库与规则语言(SVRF/TVF)的工具集合,先进封装验证通常按下面的职责划分使用:
- Calibre nmDRC:几何设计规则检查。封装场景下重点检查 RDL 线宽/间距、微凸点直径与节距、UBM 开窗、TSV 与有源区的禁布区、芯片边缘密封环与切割道,以及跨 die 的拼接间距。
- Calibre nmLVS:版图与网表一致性检查。封装 LVS 的关键是"跨层级连接"——把 RDL 网络、凸点、TSV、基板走线还原成一张连接网表,再与封装网表(通常由 die 网表 + 封装网表合并而来)比对。
- Calibre xRC / PEX:寄生参数提取。对 RDL、TSV、微凸点这类高纵横比结构,需要三维场求解或规则化提取,输出带寄生 RC 的网表供后续信号完整性分析。
- Calibre DFM / YieldEnhancer:可制造性检查与良率增强,例如 RDL 密度均匀性、CMP 碟形凹陷风险、凸点应力集中区域的规则化评估。
这四类工具并非串行流水线,而是共享同一份版图读入与同一套层映射定义。因此数据准备阶段的核心工作,是把"多源版图 + 工艺规则"整理成所有工具都能一致读入的形式。
二、封装版图数据格式:GDS 与 OASIS
封装版图数据主要来自三个方向:晶圆厂提供的 die GDS、封装厂提供的中介层/基板 GDS、以及设计方自建的 RDL 与凸点层。它们最终都要以 GDSII 或 OASIS 形式进入 Calibre。
GDSII 是历史最久、兼容性最好的格式,采用 32 位坐标,单文件通常限制在 2GB 量级,层号范围有限。OASIS 是其后继格式,支持 64 位坐标、更高的压缩率、可重复使用的 cell 引用与更灵活的层/数据类型命名,在包含大量阵列化凸点和重复 RDL 图形的先进封装版图中,文件体积往往只有 GDS 的几分之一。Calibre 对两者都原生支持,实际项目中常见做法是:对外交付用 GDS 保证兼容,内部验证流程用 OASIS 降低 I/O 与内存压力。
需要特别注意的是层映射(layer map)。不同来源的 GDS 对同一物理层可能使用完全不同的层号/数据类型组合,例如 die 厂用 100/0 表示顶层金属,封装厂用 40/0 表示 RDL。Calibre 通过 layer map 文件把这些"外部层号"统一映射到规则文件中的"内部层名",这是数据准备中最容易出错、也最需要版本管理的一环。
三、PDK 与规则文件结构
PDK(Process Design Kit)是工艺厂交付的一整套"工艺事实"集合,对物理验证而言,最关键的几类内容是:
- 工艺层定义:每层对应的物理材料、厚度、介电常数、方块电阻等,是 PEX 提取的输入。
- 器件模型:晶体管、二极管、TSV、凸点等的 SPICE 模型,供 LVS 与后续仿真使用。
- 规则文件:DRC/LVS/PEX 的 SVRF 规则,通常按"主规则 + include 子规则"组织。
规则文件的结构值得单独说明。一个典型的封装 DRC 规则文件会包含:层定义段(layer / layer map)、变量段(用变量集中管理关键尺寸,如最小 RDL 间距)、规则主体段(每条规则一个 check)、以及输出控制段(结果数据库格式、错误标记方式)。把关键尺寸写成变量而不是硬编码,是规则可维护性的基础——当工艺从 2μm 节距升级到 1.5μm 节距时,只需改变量值,而不必逐条修改规则。
LVS 规则文件则额外需要"连接性定义":哪些层之间通过接触孔/通孔连接、哪些层是识别器件所需的识别层、以及跨 die 的端口如何声明。先进封装 LVS 的难点往往不在规则语法,而在于把多颗 die 的网表与封装网表正确合并——这通常需要一份"连接映射表"来声明 die 的哪个端口连到中介层的哪个网络。
四、运行环境与许可证配置
Calibre 运行在 Linux 环境,典型配置包括:
# 环境变量示例(示例值,需按实际安装路径调整)
export CALIBRE_HOME=/opt/calibre/2024.2
export PATH=$CALIBRE_HOME/bin:$PATH
export MGC_HOME=$CALIBRE_HOME
export LM_LICENSE_FILE=27020@lic-server.internal
export CALIBRE_TMPDIR=/scratch/$USER/calibre_tmp
# 运行 DRC 的典型命令
calibre -drc -hier -turbo 8 rdl_drc.svrf
其中 -hier 启用层次化处理,对包含大量重复凸点阵列的封装版图能显著降低内存占用;-turbo 8 指定使用 8 个线程。许可证方面,Calibre 采用浮动许可,通过 LM_LICENSE_FILE 指向 license 服务器。先进封装验证常需要同时运行 DRC、LVS、PEX 多个任务,因此需要确认 license 池中对应 feature 的数量是否足够,否则会出现任务排队等待。
五、数据准备检查清单
| 检查项 | 内容 | 判断依据 |
|---|---|---|
| 版图格式 | GDS/OASIS 可被 Calibre 正常读入 | 读入无报错,cell 数与预期一致 |
| 层映射 | 外部层号与内部层名一一对应 | 各层图形数量与预期匹配 |
| PDK 版本 | 规则文件与工艺版本一致 | 版本号与工艺厂发布说明一致 |
| 规则变量 | 关键尺寸以变量集中管理 | 修改节距只需改变量值 |
| License | 所需 feature 可用 | 任务启动无排队等待 |
| 临时目录 | 空间充足且可写 | 大版图运行不因磁盘满中断 |