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 文件把这些"外部层号"统一映射到规则文件中的"内部层名",这是数据准备中最容易出错、也最需要版本管理的一环。

先进封装验证数据准备与 Calibre 平台数据流 版图数据源 Die GDS(晶圆厂) Interposer / 基板 GDS RDL / 凸点层(自建) 格式与层映射 GDSII ⇄ OASIS layer map 文件 外部层号 → 内部层名 PDK 与规则文件 工艺层定义 / 器件模型 DRC / LVS / PEX 规则 include 层级与版本 运行环境 Linux / 计算节点 License 服务器 环境变量与路径 Calibre 统一版图数据库(SVRF / TVF 规则语言) 同一份层映射与工艺定义,被四类工具一致读入 nmDRC · nmLVS · xRC/PEX · DFM nmDRC RDL 线宽/间距 凸点节距 / TSV 禁布 跨 die 拼接间距 nmLVS 跨层级连接还原 RDL/凸点/TSV 网络 与封装网表比对 xRC / PEX RDL / TSV 寄生提取 三维场求解 输出带 RC 网表 DFM RDL 密度均匀性 CMP 凹陷风险 凸点应力评估 数据准备的核心:多源版图统一层映射,规则文件与运行环境版本一致

三、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 的数量是否足够,否则会出现任务排队等待。

数据准备阶段建议做一次"最小可运行验证":用一颗 die 的 GDS + 一份简化 DRC 规则跑通全流程,确认层映射、路径、license 都正确后,再扩展到完整的多 die 拼装版图。这能把大部分环境问题在早期暴露出来。
层映射错误是封装验证中最隐蔽的问题之一:层号映射错位后,DRC 可能仍然"通过",但检查的其实是错误的层。建议在规则文件中加入层存在性检查,或在结果数据库中输出各层的图形数量,与预期值比对。

五、数据准备检查清单

检查项内容判断依据
版图格式GDS/OASIS 可被 Calibre 正常读入读入无报错,cell 数与预期一致
层映射外部层号与内部层名一一对应各层图形数量与预期匹配
PDK 版本规则文件与工艺版本一致版本号与工艺厂发布说明一致
规则变量关键尺寸以变量集中管理修改节距只需改变量值
License所需 feature 可用任务启动无排队等待
临时目录空间充足且可写大版图运行不因磁盘满中断