Formality
工具概述
定位与起源
定位与起源:Formality是Synopsys的等价性检查工具——用形式验证(Formal Verification)的方法证明两个设计在功能上是等价的。Formality最核心的应用是:证明RTL和综合后的门级网表功能等价——这是tape-out的必须检查项。
Formality由Synopsys于1990年代推出——基于BDD(二元决策图)和SAT求解器的组合引擎。在IC设计流程中,Formality是"守门人"——每次综合、每次ECO、每次DFT插入——门级网表都在变——Formality证明这些变化没有改变功能。等价性检查fail→不能tape-out。
核心技术
组合等价+时序等价:组合等价——在两个设计中所有寄存器一一对应——组合逻辑功能相同。时序等价——pipeline retiming后寄存器位置变了——但整个周期的输入→输出功能不变。时序等价是Formality的高级能力——也是复杂CPU/GPU设计中最需要的。
BDD+SAT混合引擎:Formality用BDD处理常规逻辑等价——用SAT求解器处理复杂的算术等价(乘法器优化后的结构完全不同但算术结果相同)。BDD快但内存爆炸——SAT慢但内存小——混合引擎自动选择最优算法。
ECO等价性检查:ECOs后只改了几十个门——Formality的增量等价检查只验证改动部分——不需要重新验证整个设计。验证时间从小时级降到分钟级。
低功耗等价性检查:当设计加入isolation cells、level shifters、retention registers后——Formality验证这些低功耗单元没有改变功能逻辑。这是UPF/CPF验证的关键一环。
主要功能
* RTL vs Gate等价:综合后的网表vs原始RTL——证明功能等价——tape-out必须过。 * Gate vs Gate等价:DFT插入后/CTS后/ECO后 vs 原始网表——证明改动未改变功能。 * 增量ECO验证:只验证ECO改动的部分——几分钟完成——支持快速ECO迭代。 * 低功耗等价:验证UPF插入的isolation/level shifter/retention不影响功能逻辑。
实战案例
- 某CPU的retiming等价性检查:综合时做了aggressive retiming——寄存器位置大幅变化。Formality时序等价检查证明retiming后功能不变——避免了手工review retiming的噩梦。 - Formality抓到一个ECO bug:某ECO修改了一个AND门为OR门——Formality报不等价。根因:ECO工具在spare cell中选错了类型(AND vs OR在spare cell库中外观相同但功能不同)。 - 低功耗等价检查:某设计插入了2000+isolation cells后——Formality验证全部等价——发现3个isolation钳位值选错——在tape-out前修复。
常见误区
误区一:Formality=简单比对。 综合后的网表和RTL在结构上完全不同——组合逻辑被重新映射、共享、合并。Formality需要证明结构不同的两个网表功能相同——这需要SAT/BDD求解——不是简单的结构比对。
误区二:等价性检查pass=功能正确。 Formality只证明"这两个网表等价"——不证明"它们本身功能正确"。如果RTL有bug——综合后的网表也有同样的bug——Formality报告pass。
误区三:Formality跑一次就够了。 每次ECO/每次CTS/每次DFT插入后都要重跑等价性检查。Formality是CI流程的一环——每次网表变更自动触发。
版本演进
- 1990s:Formality诞生:BDD-based等价性检查。最先验证RTL=Gate。 - 2000s:时序等价:支持pipeline retiming和状态重编码后的等价性证明。 - 2010s:低功耗等价:支持UPF/CPF电源管理单元的等价性检查。增量ECO验证。 - 2020s:AI辅助:ML预测等价性检查fail的可能的根因——加速debug。形式+仿真融合。
相关论文
- 利用形式等价方法实现快速精确的功耗估计 - 双模GPS接收器的实现方法论 - 基于UPF的多电压MCMM实现经验 - 先进Fusion Compiler综合与布局布线技术驱动性能与周转时间提升 - 推动可验证QoR:使能形式等效验证 - 重定时流水线多种低功耗方法的优异权衡 - HECTOR在算法模块形式化数据通路验证中的应用 - 数据路径与控制路径模块的形式等价验证 - 数据通路与控制通路模块的形式等价验证 - 级联浮点DesignWare IP的高精度设计与实现技术 - Socionext UPF设计流程的演进——Socionext与Synopsys的成功合作 - 比特币低功耗流程与方法学——实现篇:‘完全酷’案例研究 - 在 GF 22FDX 上使用 Synopsys 设计平台实现 ARM Cortex-A53 四核 - 利用有用偏斜增强技术加速IC Compiler II时序收敛 - 多位寄存器组化的实现流程