CN112257366B - 一种用于等价性验证的cnf生成方法及系统 - Google Patents
一种用于等价性验证的cnf生成方法及系统 Download PDFInfo
- Publication number
- CN112257366B CN112257366B CN202011091880.XA CN202011091880A CN112257366B CN 112257366 B CN112257366 B CN 112257366B CN 202011091880 A CN202011091880 A CN 202011091880A CN 112257366 B CN112257366 B CN 112257366B
- Authority
- CN
- China
- Prior art keywords
- cnf
- circuit
- reference circuit
- logic cones
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000010586 diagram Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种用于等价性验证的CNF生成方法及系统,所述方法包括:接收参考电路和与参考电路相应的实现电路,将所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥的输出加异或门进行合并,对合并后的逻辑锥的每个节点进行编号;将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式;将得到的CNF表达式导入miniSat求解器中进行验证,如果验证结果是不满足,则表示所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥是等价的,如果验证结果是满足,则表示不等价。采用本发明的技术方案,可直接用于等价性验证。
Description
技术领域
本发明涉及芯片设计领域,尤其涉及一种用于等价性验证的CNF生成方法及系统。
背景技术
组合电路的等价性验证问题是数字电路验证中的关键问题。解决组合电路等价性验证的方法主要有基于结构的,基于功能的,或者两个混合的。基于结构的方法可以使用ATPG算法,也可以使用递归学习,而混合方法使用结构信息,简化有序二元决策图,或者布尔可满足性算法,在某些情况下,使用不同形式的学习。
布尔可满足性算法是基于合取范式(CNF)公式的,组合电路的CNF公式是每个门输出的CNF公式的合取,其中每个门的CNF公式表示有效的输入输出分配给门,每个逻辑门的CNF公式如下表所示。
如果将CNF公式看作一组子句,那么电路的CNF公式就是由每个门的CNF公式的集合并集(或合取)定义,因此,给定一个组合电路,很容易创建该电路的CNF公式以及证明电路命题性质的CNF公式。
传统的布尔可满足性算法在电子设计自动化中有许多应用,测试向量生成,延迟故障测试,电路延迟计算,不能直接用于等价性验证。
发明内容
本发明的目的是针对传统的布尔可满足性算法不能直接用于等价性验证,本发明提出一种用于等价性验证的CNF生成方法及系统。
本发明实施例中,提供了一种用于等价性验证的CNF生成方法,其包括:
接收参考电路和与所述参考电路相应的实现电路,其中,所述参考电路具有多个比较点,所述实现电路也具有与所述考电路的多个比较点一一对应的多个比较点;
将所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥的输出加异或门进行合并;
对合并后的逻辑锥的每个节点进行编号;
将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式;
将得到的CNF表达式导入miniSat求解器中进行验证,如果验证结果是不满足, 则表示所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥是等价的,如果验证结果是满足,则表示所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥不等价。
本发明实施例中,对合并后的逻辑锥的每个节点进行编号,包括:
当锥底输入端不恒为1或0时,
从锥底开始遍历到锥顶,设置编号为num,num从1开始顺序编号,编号顺序是从锥底的最左侧开始,从左到右,再到上一层节点的左侧开始;
当锥底存在输入端x恒为1时,设置cnf1=x, 固定编号为1;
当锥底存在输入端y恒为0时,设置cnf1=, 固定编号为2;
其他节点编号从num=3开始进行顺序编号。
本发明实施例中,将所述参考电路和所述实现电路的相对应的两个比较点设置为一组比较点对,从第一组比较点对到最后一组比较点对,对所述参考电路和所述实现电路的比较点对分别对应的逻辑锥进行等价性验证。
本发明实施例中,还提供了一种用于等价性验证的CNF生成系统,其采用所述的用于等价性验证的CNF生成方法来生成CNF表达式进行等价性验证。
与现有技术相比较,采用本发明的用于等价性验证的CNF生成方法及系统,将参考电路和实现电路中的每组比较点分别对应的逻辑锥的输出加异或门进行合并,构建一个新的电路,然后对合并后的逻辑锥的每个节点进行编号,将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式,将CNF公式生成的时间复杂度降为线性关系,最后将得到的CNF表达式导入miniSat求解器中进行验证,根据验证的结果就可以得知参考电路和实现电路中的每组比较点分别对应的逻辑锥是否等价。
附图说明
图1是本发明实施例的用于等价性验证的CNF生成方法的流程示意图。
图2是本发明实施例的一种逻辑锥合并的示意图。
图3是本发明实施例的另一种逻辑锥合并的示意图。
具体实施方式
如图1所示,本发明实施例中,提供了一种用于等价性验证的CNF生成方法,其包括如下步骤:
接收参考电路Cref和与参考电路Cref相应的实现电路Cimp,其中,参考电路Cref具有n个比较点(x1,x2,…xn),实现电路Cimp也具有与考电路Cref的n个比较点(x1,x2,…xn)相应的n个比较点(y1,y2,…yn),n为自然数;
将第i组比较点对xi、yi分别对应的逻辑锥的输出加异或门进行合并,构建一个新的电路,i为自然数,且i≤n;
对合并后的逻辑锥的每个节点进行编号;
将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式;
将CNF表达式导入miniSat求解器中进行验证,如果验证结果是不满足(UNSATISFIABLE),则表示第i组比较点xi、yi分别对应的逻辑锥是等价的,如果验证结果是满足(SATISFIABLE),则表示第i组比较点xi、yi分别对应的逻辑锥不等价。
重复上述过程,从第一组比较点对到第n组比较点对,对每一组比较点对的逻辑锥进行等价性验证。
本发明实施例中,对合并后的逻辑锥的每个节点进行编号,分如下几种情况进行处理:
当锥底输入端不恒为1或0时,
从锥底开始遍历到锥顶,设置编号为num,num从1开始顺序编号,编号顺序是从锥底的最左侧开始,从左到右,再到上一层节点的左侧开始;
当锥底存在输入端x恒为1时,设置cnf1=x, 固定编号为1;
当锥底存在输入端y恒为0时,设置cnf1=, 固定编号为2;
其他节点编号从num=3开始进行顺序编号。
下面举例对上述过程进行说明:
假设参考电路Cref的比较点x1对应的逻辑锥是与门,实现电路Cimp的比较点y1对应的逻辑锥也是与门,将两个逻辑锥加异或门之后的对应电路如图2所示。
按照传统的方式展开,得到的CNF表达式如下:
F=(e’+c+d)(e’+c’+d’)(e+c’+d)(e+c+d’)(a+c’)(b+c’)(a’+b’+c)(a+d’)(b+d’)(a’+b’+d)
对应的CNF文件为:
p cnf 5 10
-5 3 4 0
-5 -3 -4 0
5 -3 4 0
5 3 -4 0
1 -3 0
2 -3 0
-1 -2 3 0
1 -4 0
2 -4 0
-1 -2 4 0
将该CNF文件导入miniSat求解器中,输出结果为SATISFIABLE,此时两个逻辑锥等价。
假设参考电路Cref的比较点x1对应的逻辑锥是与门,实现电路Cimp的比较点y1对应的逻辑锥是或门,将两个逻辑锥加异或门之后的对应电路如图3所示。
按照传统的方式展开,得到的CNF表达式如下:
F=(e’+c+d)(e’+c’+d’)(e+c’+d)(e+c+d’)(a+c’)(b+c’)(a’+b’+c)(a’+d)(b’+d)(a+b+d’)
对应的CNF文件为:
p cnf 5 10
-5 3 4 0
-5 -3 -4 0
5 -3 4 0
5 3 -4 0
1 -3 0
2 -3 0
-1 -2 3 0
-1 4 0
-2 4 0
1 2 -4 0
将该文件导入miniSat求解器中,输出结果为SATISFIABLE,此时两个逻辑锥不等价。
由以上两个例子可以看出,传统的CNF生成方法,进入布尔可满足性验证工具后的输出结果与电路的等价性没有直接关系。
采用本发明提出的CNF生成方法,图2对应的CNF表达式如下:
F=(e’+c+d)(e’+c’+d’)(e+c’+d)(e+c+d’)(a+c’)(b+c’)(a’+b’+c)(a+d’)(b+d’)(a’+b’+d)e
对应的新的CNF文件为:
p cnf 5 11
-5 3 4 0
-5 -3 -4 0
5 -3 4 0
5 3 -4 0
1 -3 0
2 -3 0
-1 -2 3 0
1 -4 0
2 -4 0
-1 -2 4 0
1 0
将该文件导入miniSat求解器中,输出结果为UNSATISFIABLE,此时两个逻辑锥等价。
采用本发明提出的CNF生成方法,图3对应的CNF表达式如下:
F=(e’+c+d)(e’+c’+d’)(e+c’+d)(e+c+d’)(a+c’)(b+c’)(a’+b’+c)(a’+d)(b’+d)(a+b+d’)e
对应的CNF文件为:
p cnf 5 11
-5 3 4 0
-5 -3 -4 0
5 -3 4 0
5 3 -4 0
1 -3 0
2 -3 0
-1 -2 3 0
-1 4 0
-2 4 0
1 2 -4 0
1 0
将该文件导入miniSat求解器中,输出结果为SATISFIABLE,此时两个逻辑锥不等价。
由以上两个例子可以看出,采用本发明的CNF生成方法得到的CNF表达式,进入布尔可满足性验证工具后的输出结果如果是SATISFIABLE,此时两个逻辑锥不等价,如果是UNSATISFIABLE,此时两个逻辑锥等价。同时,传统的CNF生成方法得到的CNF表达式是随着输入和节点的深度呈指数形式增长的,通过本发明的CNF生成方法可以将CNF表达式生成的时间复杂度降为线性关系。
综上所述,采用本发明的用于等价性验证的CNF生成方法及系统,将参考电路和实现电路中的每组比较点分别对应的逻辑锥的输出加异或门进行合并,构建一个新的电路,然后对合并后的逻辑锥的每个节点进行编号,将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式,将CNF公式生成的时间复杂度降为线性关系,最后将得到的CNF表达式导入miniSat求解器中进行验证,根据验证的结果就可以得知参考电路和实现电路中的每组比较点分别对应的逻辑锥是否等价。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种用于等价性验证的CNF生成方法,其特征在于,包括:
接收参考电路和与所述参考电路相应的实现电路,其中,所述参考电路具有多个比较点,所述实现电路也具有与所述参考电路的多个比较点一一对应的多个比较点;
将所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥的输出加异或门进行合并;
对合并后的逻辑锥的每个节点进行编号;
将合并后的逻辑锥的锥底编号与CNF公式进行绑定,从锥底开始迭代,构建合并后的逻辑锥的CNF表达式;
将得到的CNF表达式导入miniSat求解器中进行验证,如果验证结果是不满足, 则表示所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥是等价的,如果验证结果是满足,则表示所述参考电路和所述实现电路相对应的两个比较点分别对应的逻辑锥不等价。
2.如权利要求1所述的用于等价性验证的CNF生成方法,其特征在于,对合并后的逻辑锥的每个节点进行编号,包括:
当锥底输入端不恒为1或0时,
从锥底开始遍历到锥顶,设置编号为num,num从1开始顺序编号,编号顺序是从锥底的最左侧开始,从左到右,再到上一层节点的左侧开始;
当锥底存在输入端x恒为1时,设置cnf1=x, 固定编号为1;
当锥底存在输入端y恒为0时,设置cnf1=, 固定编号为2;
其他节点编号从num=3开始进行顺序编号。
3.如权利要求1所述的用于等价性验证的CNF生成方法,其特征在于,将所述参考电路和所述实现电路的相对应的两个比较点设置为一组比较点对,从第一组比较点对到最后一组比较点对,对所述参考电路和所述实现电路的比较点对分别对应的逻辑锥进行等价性验证。
4.一种用于等价性验证的CNF生成系统,其特征在于,采用如权利要求1-3任一项所述的用于等价性验证的CNF生成方法来生成CNF表达式进行等价性验证。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011091880.XA CN112257366B (zh) | 2020-10-13 | 2020-10-13 | 一种用于等价性验证的cnf生成方法及系统 |
PCT/CN2020/126824 WO2022077645A1 (zh) | 2020-10-13 | 2020-11-05 | 一种用于等价性验证的cnf生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011091880.XA CN112257366B (zh) | 2020-10-13 | 2020-10-13 | 一种用于等价性验证的cnf生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112257366A CN112257366A (zh) | 2021-01-22 |
CN112257366B true CN112257366B (zh) | 2024-05-07 |
Family
ID=74242067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011091880.XA Active CN112257366B (zh) | 2020-10-13 | 2020-10-13 | 一种用于等价性验证的cnf生成方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112257366B (zh) |
WO (1) | WO2022077645A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257366B (zh) * | 2020-10-13 | 2024-05-07 | 深圳国微芯科技有限公司 | 一种用于等价性验证的cnf生成方法及系统 |
WO2023272424A1 (zh) * | 2021-06-28 | 2023-01-05 | 华为技术有限公司 | 一种基于自动测试向量生成的电路验证方法与装置 |
CN115062566B (zh) * | 2022-06-21 | 2023-06-27 | 深圳国微芯科技有限公司 | 含有x值的电路的简化方法、验证方法、存储介质 |
CN115048887A (zh) * | 2022-06-21 | 2022-09-13 | 深圳国微芯科技有限公司 | 带门控时钟的实现电路的处理方法、验证方法、存储介质 |
CN116050311B (zh) * | 2023-02-06 | 2023-08-08 | 中国科学院软件研究所 | 一种基于完备仿真的组合运算电路等价性验证方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560769A (zh) * | 2004-03-05 | 2005-01-05 | 中国科学院计算技术研究所 | 基于可满足性的组合电路等价性检验方法 |
CN1710567A (zh) * | 2005-07-07 | 2005-12-21 | 复旦大学 | 时序电路等价验证的方法 |
CN101295328A (zh) * | 2008-06-19 | 2008-10-29 | 复旦大学 | 一种解决可满足性问题的正交化算法 |
JP2009288922A (ja) * | 2008-05-28 | 2009-12-10 | Fujitsu Microelectronics Ltd | 論理等価検証装置、論理等価検証方法、および論理等価検証プログラム |
CN101866372A (zh) * | 2009-04-17 | 2010-10-20 | 新思科技有限公司 | 用于形式特性验证的假设的自动近似 |
CN103399982A (zh) * | 2013-07-04 | 2013-11-20 | 北京航空航天大学 | 一种数字硬件电路逻辑错误诊断机制 |
CN105027215A (zh) * | 2013-01-30 | 2015-11-04 | 桑迪士克技术有限公司 | 用于读取非易失性存储元件的位线电流跳变点调制 |
CN116595916A (zh) * | 2023-06-06 | 2023-08-15 | 海光信息技术股份有限公司 | 数字集成电路的设计方法、装置、电子设备、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890901B2 (en) * | 2006-03-24 | 2011-02-15 | International Business Machines Corporation | Method and system for verifying the equivalence of digital circuits |
JP4852464B2 (ja) * | 2007-04-11 | 2012-01-11 | 富士通セミコンダクター株式会社 | 論理等価検証装置、論理等価検証方法、論理等価検証プログラムおよび記録媒体 |
US7849428B2 (en) * | 2007-04-23 | 2010-12-07 | International Business Machines Corporation | Formally deriving a minimal clock-gating scheme |
CN103617115B (zh) * | 2013-10-30 | 2016-02-10 | 北京信息控制研究所 | 一种基于抽象解释和模型验证的运行时错误分析方法 |
US20170212968A1 (en) * | 2016-01-22 | 2017-07-27 | Easy-Logic Technology Limited | Circuit Verification |
CN112257366B (zh) * | 2020-10-13 | 2024-05-07 | 深圳国微芯科技有限公司 | 一种用于等价性验证的cnf生成方法及系统 |
-
2020
- 2020-10-13 CN CN202011091880.XA patent/CN112257366B/zh active Active
- 2020-11-05 WO PCT/CN2020/126824 patent/WO2022077645A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1560769A (zh) * | 2004-03-05 | 2005-01-05 | 中国科学院计算技术研究所 | 基于可满足性的组合电路等价性检验方法 |
CN1710567A (zh) * | 2005-07-07 | 2005-12-21 | 复旦大学 | 时序电路等价验证的方法 |
JP2009288922A (ja) * | 2008-05-28 | 2009-12-10 | Fujitsu Microelectronics Ltd | 論理等価検証装置、論理等価検証方法、および論理等価検証プログラム |
CN101295328A (zh) * | 2008-06-19 | 2008-10-29 | 复旦大学 | 一种解决可满足性问题的正交化算法 |
CN101866372A (zh) * | 2009-04-17 | 2010-10-20 | 新思科技有限公司 | 用于形式特性验证的假设的自动近似 |
CN105027215A (zh) * | 2013-01-30 | 2015-11-04 | 桑迪士克技术有限公司 | 用于读取非易失性存储元件的位线电流跳变点调制 |
CN103399982A (zh) * | 2013-07-04 | 2013-11-20 | 北京航空航天大学 | 一种数字硬件电路逻辑错误诊断机制 |
CN116595916A (zh) * | 2023-06-06 | 2023-08-15 | 海光信息技术股份有限公司 | 数字集成电路的设计方法、装置、电子设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
Using Logic Synthesis and Circuit Reasoning for Equivalence Checking;Fan Q R;《Advanced Materials Research》;836-840 * |
部分实现时序电路的等价性验证;王瑞;《中国优秀硕士学位论文全文数据库信息科技辑》(第12期);I135-73 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022077645A1 (zh) | 2022-04-21 |
CN112257366A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112257366B (zh) | 一种用于等价性验证的cnf生成方法及系统 | |
JP4028107B2 (ja) | 分解及び分割によるハードウェアの検証並びに表現方法 | |
US9946513B2 (en) | Semiconductor device and information processing system | |
US5491639A (en) | Procedure for verifying data-processing systems | |
Fujita | Toward unification of synthesis and verification in topologically constrained logic design | |
EP3557455A1 (en) | Verifying hardware design for a component that implements a permutation respecting function | |
Pocci et al. | Testing experiments on synchronized Petri nets | |
CN105701294B (zh) | 实现芯片复杂工程修改的方法及系统 | |
CN111797588B (zh) | 一种形式验证比较点匹配方法、系统、处理器及存储器 | |
CN104572658B (zh) | 一种甚大规模集成电路版图层次比较工具的单元切分预处理方法 | |
Brim et al. | Distributed partial order reduction of state spaces | |
Lee et al. | SWiTEST: A switch level test generation system for CMOS combinational circuits | |
Werber et al. | Timing optimization by restructuring long combinatorial paths | |
Bose et al. | Logic systems for path delay test generation | |
Hahanova | Developing method of vector synthesis deductive logic for computer systems fault analysis | |
CN110763984B (zh) | 逻辑电路失效率确定方法、装置、设备及存储介质 | |
Bodhe et al. | Reordering tests for efficient fail data collection and tester time reduction | |
Tran et al. | Groebner bases computation in boolean rings for symbolic model checking | |
Ravikumar | A fault-tolerant merge sorting algorithm | |
Paul et al. | VERILAT: Verification using logic augmentation and transformations | |
Padmanaban et al. | Using BDDs and ZBDDs for efficient identification of testable path delay faults | |
Yuan et al. | A SAT Enhanced Word-Level Solver for Constrained Random Simulation | |
CN104951471A (zh) | 信息处理设备、信息处理方法以及电子装置 | |
CN110019365A (zh) | 一种利用栈生成数据处理顺序的方法 | |
Chlebus et al. | Cooperative asynchronous update of shared memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220704 Address after: 518000 Room 201, A building, 1 front Bay Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretarial Co., Ltd.) Applicant after: Shenzhen guomicrochip Technology Co.,Ltd. Address before: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: GUOWEI GROUP (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |