1. 层次化设计概述:ICV DRC中层次化设计的概念、优势与基本应用场景

1.1 层次化设计的基本概念

在ICV(IC Validator)物理验证流程中,层次化设计(Hierarchical Design)是指将大规模集成电路版图按照逻辑功能或物理分区,拆解为多个独立的子模块(Cell/Block),并分别进行设计规则检查(DRC),最终通过顶层规则整合完成全芯片验证的方法论。

与扁平化设计(Flat Design)将所有层次展开为单一平面不同,层次化设计保留了版图的原始层次结构,DRC引擎在检查时能够识别并复用子模块的检查结果,从而显著降低计算复杂度与内存开销。

核心定义:层次化DRC = 保留层次结构的规则检查 + 子模块结果复用 + 顶层边界规则整合。

1.2 层次化 vs 扁平化:关键差异对比

对比维度 层次化设计(Hierarchical) 扁平化设计(Flat)
数据结构 保留原始层次树,子模块独立存储 所有层次展开为单一平面
内存占用 低(仅加载顶层+当前子模块) 高(全芯片展开,内存随面积线性增长)
运行时间 快(复用子模块结果,避免重复计算) 慢(每个多边形均需独立检查)
规则编写复杂度 需定义层次化规则(如边界规则、子模块黑盒) 规则直接作用于所有图形,无需层次感知
调试难度 中等(需追踪层次路径) 低(所有违例在同一平面)
适用规模 千万门级以上SoC、存储器阵列、模拟/数字混合 小规模模块或单功能单元

1.3 层次化设计的核心优势

  1. 计算效率大幅提升:子模块只需检查一次,顶层实例化时直接复用结果,避免重复计算。对于包含数百个相同SRAM实例的芯片,运行时间可缩短80%以上。
  2. 内存占用可控:仅需加载顶层版图与当前正在处理的子模块,无需将全芯片版图一次性读入内存,支持百亿级多边形的大规模设计。
  3. 增量验证支持:当某个子模块发生修改时,只需重新检查该模块及其受影响的顶层区域,无需全芯片重新运行。
  4. 团队并行开发:不同模块可由不同团队独立编写DRC规则并验证,顶层通过层次化规则整合,缩短项目周期。
  5. 规则复用与标准化:标准单元库、IP模块的DRC规则可封装为独立规则文件,在不同项目中直接复用。

1.4 层次化DRC的基本应用场景

  • 大规模SoC芯片验证:CPU核、GPU、NPU、内存控制器等独立模块分别验证,顶层仅检查模块间连接与全局规则。
  • 存储器阵列(SRAM/ROM):单个存储单元检查一次,阵列实例化时复用结果,仅需额外检查外围电路与边界。
  • 模拟/数字混合信号设计:模拟模块使用独立规则集,数字模块使用标准规则集,顶层通过层次化规则处理跨域交互。
  • 分层IP集成:第三方IP作为黑盒(Black Box)处理,仅检查其接口与顶层连接,内部规则由IP供应商保证。
  • ECO(工程变更单)验证:仅对修改的层次区域进行增量DRC,快速确认变更是否引入新违例。

1.5 层次化设计在ICV DRC中的工作流程

下图展示了ICV DRC中层次化设计的基本数据流与检查流程:

ICV DRC 层次化设计工作流程 顶层设计 (Top) 子模块 A (Cell A) 子模块 B (Cell B) 子模块 C (Cell C) DRC 检查 (Cell A) DRC 检查 (Cell B) DRC 检查 (Cell C) 结果复用缓存 结果复用缓存 结果复用缓存 顶层边界规则整合 → 输出最终DRC报告
流程说明:顶层设计实例化子模块A、B、C,每个子模块独立运行DRC检查,结果存入复用缓存。顶层仅需检查模块间的边界规则(如间距、连接、天线效应),最终合并输出全芯片DRC报告。子模块内部违例在首次检查时即被标记,后续实例化直接引用。

1.6 层次化设计的关键术语

术语 含义 在ICV DRC中的角色
Cell / Block 层次化设计中的基本单元,可以是标准单元、宏单元或自定义模块 DRC检查的最小复用单位
Instance Cell在顶层设计中的具体放置实例 DRC引擎通过实例化路径定位违例
Hierarchical Rule 感知层次结构的DRC规则,如边界规则、子模块黑盒规则 定义顶层与子模块之间的检查行为
Black Box 不展开内部结构的子模块,仅检查其端口与边界 用于第三方IP或已验证模块,跳过内部检查
Result Reuse 相同Cell的多个实例共享同一份DRC检查结果 核心性能优化手段,减少重复计算
Boundary Check 检查子模块与顶层或其他模块之间的交互区域 确保模块间连接满足设计规则

1.7 层次化设计的适用条件与注意事项

重要提示:层次化设计并非适用于所有场景。以下情况建议谨慎使用或回退至扁平化检查:
  • 子模块内部存在大量跨层次交互,层次边界模糊
  • 子模块实例化时发生旋转、镜像等变换,导致复用结果失效
  • 顶层规则与子模块规则存在严重冲突,需要大量覆盖规则
  • 设计规模较小(百万门级以下),层次化带来的性能收益不明显

在实际项目中,通常采用混合策略:标准单元库、SRAM等规则稳定的模块使用层次化检查;顶层关键路径、模拟模块等使用扁平化检查以确保精度。ICV DRC通过 hierarchical 和 flat 关键字在规则文件中灵活切换检查模式。