A new formal verification algorithm for arithmetic circuit. An exemplary embodiment of the coupling (or combination) satisfiability (SAT) solver and reverse engineering (RE); arithmetic logic circuit structure algorithm using the reverse engineering (for example, 1 bit adder, binary tree structure), so that the algorithm can do not care about the size of circuit verification. The basic ideas for how to optimize the operational complexity of traditional arithmetic circuit verification methods in example embodiments are as follows. Suppose there are two arithmetic circuits F and G; to verify whether they need to first generate equal their conjunctive normal form (CNF) encoding, and then by the SAT (satisfiability) tool to judge their encoding are equal. If it is possible to minimize the structural differences between F and g before generating CNF encoding, it is possible to perform arithmetic circuit verification in polynomial time rather than exponential time.
【技术实现步骤摘要】
电路验证要求在先申请的权益本申请为2016年1月22日提交的题为“Tai-ChiCouplingOptimizationMethod:CouplingReverseEngineeringandSATtoTackleNP-CompleteArithmeticCircuitryVerification”的美国临时专利申请62/281,735声明权益,其内容通过引用整体并入本文。
概括的说,本项专利技术是关于电路运算的算法与设备。
技术介绍
在过去的几十年里,集成电路(IC)例如算术电路的复杂性有了显著的发展。在一个标准的电路设计过程中,60%以上的时间常常花在了验证上。因为集成电路通常含有数百万微小的电路原件,例如电路门或晶体管,所以不可能由人工手动去完成验证。因此通常需要借助计算机硬件以及相应的电子设计自动化(EDA)软件工具来完成验证。验证方法基本上分为两类:模拟验证和形式验证。模拟验证并不是一个完全的验证方法,它仅仅是形势验证无法执行时才用作最后的选择。只有形式验证才可以保证完整正确的验证结果。然而形式验证问题已知为NP完全问题,它的运行时间是指数级复杂度。特别是用在算术电路部分的验证中。因此,传统的形式验证方法只能用于较小的电路。因此在电路设计工业和验证技术上,对可以满足更高端技术标准和工业应用的算法或设备的需求非常迫切。
技术实现思路
示例性实施例是一种全新的针对算术电路电路的形式验证算法。示例性实施例耦合(或者说组合)可满足性(SAT)求解器和逆向工程(RE);该逆向工程算法利用运算逻辑电路的结构特征(例如1位加法器结构,进位树结构),从而使得该算法可 ...
【技术保护点】
一种由计算机系统执行的用于使得能够以改进的运行时间复杂度来实现算术电路验证的方法,所述方法包括:提供第一个算术电路的网表f和第二个算术电路的网表g;和所述计算机系统通过如下步骤来改进所述运行时间复杂度:在网表f和网表g之间进行等价性验证,使得在生成由可满足性SAT求解器求解的合取范式CNF编码之前,通过逆向工程(RE)最小化网表f和网表g之间的结构差异,从而使得所述算术电路验证能在多项式时间内而不是在指数时间内完成。
【技术特征摘要】
2016.01.22 US 62/281,7351.一种由计算机系统执行的用于使得能够以改进的运行时间复杂度来实现算术电路验证的方法,所述方法包括:提供第一个算术电路的网表f和第二个算术电路的网表g;和所述计算机系统通过如下步骤来改进所述运行时间复杂度:在网表f和网表g之间进行等价性验证,使得在生成由可满足性SAT求解器求解的合取范式CNF编码之前,通过逆向工程(RE)最小化网表f和网表g之间的结构差异,从而使得所述算术电路验证能在多项式时间内而不是在指数时间内完成。2.根据权利要求1所述的方法,其中,所述算术电路验证的运行时间复杂度与所述网表f和所述网表g中的电路门的数量呈线性关系。3.根据权利要求1所述的方法,其中,所述网表f包含实现第一个数学表达式的子电路;并且所述网表g包含实现第二个数学表达式的另一个子电路,其中所述方法通过逆向工程改进所述算术电路验证,包括:由所述计算机系统执行运算符宏映射,使得识别所述第一个子电路的功能和所述第二个子电路的功能;由所述计算机系统执行操作数映射,使得识别所述第一个子电路数学表达式和所述第二个子电路数学表达式;和由所述计算机系统通过如下步骤最小化所述网表f和所述网表g之间的结构差异:进行数学公式等价性验证和标准化,使得在所述第一个子电路的功能和所述第二个子电路的功能相同时,将所述第一个子电路和所述第二个子电路重新综合成具有相同结构。4.根据权利要求1所述的方法,其中,网表f包含非布思乘法器,并且网表g包含布思乘法器,其中所述方法通过逆向工程改进所述算术电路验证,包括:由所述计算机系统识别网表f中的非布思乘法器和网表g中的布思乘法器;将网表g中的布思乘法器转换成非布思乘法器以获得经转换的非布思乘法器;和由所述计算机系统通过将网表f中的非布思乘法器和网表g中经转换的非布思乘法器重新综合以最小化网表f和网表g之间的结构差异,使得等价性验证的过程得以加速,从而改进等价性验证。5.根据权利要求3所述的方法,其中,执行逆向工程中的运算符宏映射包括:由所述计算机系统执行运算符宏映射以获得包括乘法器的经提取的运算符宏,其中所述乘法器的实现是非布思华莱士树和布思乘法器之一。6.根据权利要求5所述的方法,其中,对所述网表f和所述网表g中的任一个执行运算符宏映射包括:由所述计算机系统遍历网表以识别多个1位半加器和多个1位全加器;由所述计算机系统通过1位半加器和1位全加器的多个和信号将所述1位半加器和所述1位全加器连接以形成一个或多个1位加法器树,其中进位信号也连接成树结构;由所述计算机系统连接所述一个或多个1位加法器树和进位树以形成1位加法器森林;和由所述计算机系统基于1位加法器森林的边界确定宏输入位和输出位的权重。7.根据权利要求3所述的方法,其中执行所述操作数映射包括:由所述计算机系统编码多个主输入;和由所述计算机系统通过驱动位的主输入的编码值来计算所述位的映射签名值以获得多个映射签名值。8.根据权利要求7所述的方法,其中根据排序后的所述多个映射签名值来映射操作数的权重位。9.一种改进算术电路验证以具有减小的运行时间复杂度的计算机系统,所述计算机系统包括:处理器;非暂时性计算机可读介质,其上存储有指令,所述指令在被执行时,使所述处理器:接收第一个算术电路的网表f和第二个算术电路的网表g;和在网表f和网表g之间进行等价性验证,使得在生成由可满足性SAT求解器求解的合取范式CNF编码之前,通过逆向工程RE最小化网表f和网表g之间的结构差异,使得所述算术电路验证能在多项式时间内而不是在指数时间内完成,由此减小所述运行时间复杂度。10.根据权利要求9所述的计算机系统,其中所述算术电路验证的运行时间复杂度与所述网表f和所述网表g中的电路门的数量呈线性关系。11.根据权利要求9所述的计算机系统,其中,网表f包含实现第一个数学表达式的子电路;并且网表g包含实现第二个数学表达式的另一个子电路,其中所述指令在被执行时使所述处理器:执行运算符宏映射,使得识别所述第一个子电路的功能和所述第二个子电路的功能;执行操作数映射,使得识...
【专利技术属性】
技术研发人员:刁屹,魏星,吴有亮,
申请(专利权)人:奇捷科技股份有限公司,
类型:发明
国别省市:中国香港,81
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。