一种基于完备仿真的组合运算电路等价性验证方法及系统

整体流程

CN116050311A 蔡少伟老师

专利链接

背景介绍

目前在学术界和工业界,用于求解LEC(Logic Equivalence Checking)问题的方法主要有以下两种:

  1. SAT方法
    直接将问题编码为CNF(Conjunctive Normal Form)并使用SAT求解器进行求解,或者对电路进行静态或动态的分析,添加额外约束子句后再利用SAT求解器解决。

  2. 代数方法
    验证乘法器等规范运算电路的代数方法。此外,还存在基于BDD(Binary Decision Diagrams)、ATPG(Automatic Test Pattern Generation)、定理证明等技术的方法。

对于复杂的运算电路,目前还没有一个特别高效的办法。

SAT求解器的局限性

基于SAT求解器的算法在处理复杂的运算电路(例如具有复杂联系关系和异或门级联的电路)时表现不佳。尤其对于大于16bit的乘法器,SAT求解器很难在可接受的时间内求解。

代数方法的局限性

基于代数方式的等价性验证需要电路具有特别规范的功能,不能破坏原始数据通路。电路的功能必须能够用简洁的数学表达式表示,且电路中不能存在控制逻辑。因此,这种方法通常只能用于验证乘法器电路的原始设计,无法处理通用情况的等价性验证。

本发明的新方法

一种基于完备仿真的组合运算电路等价性验证方法,该方法深度结合了电路仿真和SAT求解的LEC验证技术,具体如下:

若节点对不等价,则将对应PI的赋值作为反例重新仿真,进一步在候选等价节点集合中剔除其他不等价节点;若点对等价,则记录该信息,在后续SAT求解中直接将此信息编码并提供给SAT求解器来加速求解。
具体步骤为:首先将两个等价节点涉及的扇入锥子电路提取出来,使用异或门连接等价节点,并将异或门视为该子电路的PO,子电路中的原电路PI作为新的PI。

临时电路的使用

在求解节点对是否等价时,不直接修改原始电路,而是提取需要的部分,创建一个新的临时电路进行求解。得到等价性验证结果后删除该临时电路。