2. Calibre设计流基础
数字后端设计的主线可以概括为:RTL 描述功能,综合把功能映射成门级网表,布局布线把网表变成有物理位置和连线的版图,最终交付 GDSII 给制造。Calibre 并不参与综合和布局布线本身,但它在这条链路的多个关键节点上承担“检查、提取、验证、签核”的角色。理解 Calibre 的介入位置,比记住工具命令更重要——它决定了每个阶段该准备什么输入、输出什么结果、以及结果不合格时该回到哪一步。
主线流程与Calibre的四个介入点
从 RTL 到 GDSII,典型流程是:RTL → 逻辑综合 → 布局布线(含时钟树综合、布线)→ 寄生参数提取 → 物理验证 → 签核交付。Calibre 的介入集中在后三个环节,并向前反馈:
- 布局布线阶段:Calibre 的
calibre -drc或calibre -lvs可在布线中间结果上做早期检查,提前暴露 DRC 违例和 LVS 不匹配,避免问题积累到最终版图。 - 寄生参数提取阶段:用 Calibre xRC 从版图和工艺文件提取 RC 寄生参数,生成 SPEF 或 DSPF,回标到静态时序分析(STA)中。
- 物理验证阶段:Calibre nmDRC 做设计规则检查,Calibre nmLVS 做版图与网表一致性检查,Calibre PEX 做寄生提取,Calibre RVE 用于结果定位与调试。
- 签核阶段:所有检查通过后,GDSII 与签核报告一起交付,Calibre 的 DRC/LVS/PEX 报告是签核依据。
这四个介入点不是孤立的,而是形成一条“检查—提取—反馈—修正”的闭环。下面这张图展示了从 RTL 到 GDSII 的主线,以及 Calibre 在各节点的输入、输出和反馈路径。
各介入节点的衔接关系
布局布线到寄生提取的衔接。布局布线完成后,工具输出 GDSII 版图和门级网表。此时版图上的金属线宽、间距、层叠关系已经确定,Calibre xRC 读取 GDSII 和工艺文件中的层定义、介电常数、方块电阻等参数,把每条互连线的电阻和电容提取出来。提取结果以 SPEF 格式写出,其中每个网络对应一组 RC 值。这个 SPEF 回标到 STA 工具后,原本用“线负载模型”估算的延时被真实寄生参数替代,时序结果才具备签核意义。
物理验证与布局布线的衔接。Calibre nmDRC 读取 GDSII 和 DRC 规则文件,逐层检查最小线宽、最小间距、最小面积、密度等规则。违例以坐标和规则编号的形式写入报告,Calibre RVE 可以加载报告并联动版图工具定位到具体位置。Calibre nmLVS 则把 GDSII 提取出的器件和连接关系与门级网表做比对,检查器件类型、尺寸、连接关系是否一致。LVS 不匹配通常意味着版图中有短路、开路、器件参数错误或电源地连接问题。
寄生提取与物理验证的先后关系。实际项目中,通常先做 DRC 和 LVS,确认版图“合法且正确”,再做 PEX。因为如果版图存在 DRC 违例或 LVS 不匹配,提取出的寄生参数对应的版图本身可能不是最终版本,PEX 结果没有签核价值。但 PEX 也可以在 DRC/LVS 清理到一定程度后并行启动,用于提前评估时序风险。
一个可参考的检查顺序与判断依据
下面给出一个后端签核前 Calibre 检查的参考顺序,参数为示例,实际项目需按工艺节点和设计规格调整:
| 阶段 | Calibre 工具 | 输入 | 输出 | 通过判断 |
|---|---|---|---|---|
| 布线后早期检查 | nmDRC | GDSII + DRC 规则 | DRC 报告 | 无严重违例,密度在 30%~70% 示例范围 |
| 版图与网表一致性 | nmLVS | GDSII + 门级网表 + LVS 规则 | LVS 报告 + 提取网表 | 器件数、连接关系完全一致 |
| 寄生参数提取 | xRC / PEX | GDSII + 工艺文件 + PEX 规则 | SPEF / DSPF | 提取覆盖率 100%,无未提取网络 |
| 时序签核 | STA + SPEF | SPEF + 时序库 + 约束 | 时序报告 | WNS ≥ 0,TNS = 0(示例目标) |
| 最终签核 | nmDRC + nmLVS | 最终 GDSII | 签核报告 | DRC 零违例,LVS 一致 |
总结来说,Calibre 在 RTL 到 GDSII 流程中的介入节点可以归纳为:布局布线后的早期 DRC/LVS 检查、最终版图的 DRC/LVS 签核、以及基于最终版图的寄生参数提取。三者共享 GDSII 和工艺规则文件,输出分别服务于版图修正、一致性确认和时序签核。把这条链路理清,后续学习 Calibre 规则文件编写、RVE 调试和 PEX 配置时,就能明确每个操作在整体流程中的位置和作用。