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 层次化设计的核心优势
- 计算效率大幅提升:子模块只需检查一次,顶层实例化时直接复用结果,避免重复计算。对于包含数百个相同SRAM实例的芯片,运行时间可缩短80%以上。
- 内存占用可控:仅需加载顶层版图与当前正在处理的子模块,无需将全芯片版图一次性读入内存,支持百亿级多边形的大规模设计。
- 增量验证支持:当某个子模块发生修改时,只需重新检查该模块及其受影响的顶层区域,无需全芯片重新运行。
- 团队并行开发:不同模块可由不同团队独立编写DRC规则并验证,顶层通过层次化规则整合,缩短项目周期。
- 规则复用与标准化:标准单元库、IP模块的DRC规则可封装为独立规则文件,在不同项目中直接复用。
1.4 层次化DRC的基本应用场景
- 大规模SoC芯片验证:CPU核、GPU、NPU、内存控制器等独立模块分别验证,顶层仅检查模块间连接与全局规则。
- 存储器阵列(SRAM/ROM):单个存储单元检查一次,阵列实例化时复用结果,仅需额外检查外围电路与边界。
- 模拟/数字混合信号设计:模拟模块使用独立规则集,数字模块使用标准规则集,顶层通过层次化规则处理跨域交互。
- 分层IP集成:第三方IP作为黑盒(Black Box)处理,仅检查其接口与顶层连接,内部规则由IP供应商保证。
- ECO(工程变更单)验证:仅对修改的层次区域进行增量DRC,快速确认变更是否引入新违例。
1.5 层次化设计在ICV DRC中的工作流程
下图展示了ICV 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 关键字在规则文件中灵活切换检查模式。