基于可满足性的组合电路等价性检验方法技术

技术编号:2867196 阅读:244 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及超大规模集成电路设计验证技术领域,特别是组合电路的形式验证方法--等价性检验方法。该方法是以可满足性算法为引擎,增量地验证整个电路设计,所述方法具有两个阶段,第一阶段是确定两个电路内部的候选等价信号,并通过电路结构分析,对候选等价信号作静态筛选,第二阶段是通过子句分组实现增量可满足性方法,并验证每对候选信号的等价性。其主要特点在于:1)通过电路结构分析对电路内部的候选等价信号进行筛选,在验证过程中则动态地选择分割集中的等价信号,保证分割集中信号是相互独立的。2)通过对子句进行分组,来实现增量的可满足性算法,节省计算资源,提高算法性能和处理能力。

【技术实现步骤摘要】

本专利技术涉及超大规模集成电路的设计验证
,特别是一种,尤其是组合电路的形式化验证方法。它通过电路结构分析来筛选电路内部的候选等价信号,并利用增量可满足性算法来改善组合电路等价性检验方法的性能,极大地提高了方法的处理能力。
技术介绍
随着集成电路设计规模和复杂度的日益增加,系统的功能验证已经成为整个设计流程的瓶颈。模拟是最常用的功能验证方法。然而对于当今的大型、复杂设计,单独使用模拟需要大量的运行时间,而且是不完全的方法,某些边缘的设计错误难以检测到。目前,形式验证方法已逐渐发展成模拟验证方法的重要补充。形式验证方法是通过数学方法来证明设计的功能正确性,它不需要产生测试激励,又能提供100%的功能覆盖率,可以节省大量的验证时间,缩短整个设计周期。形式验证方法大致可以分为三类等价性检验、模型检验、定理证明。目前在实际的电子设计自动化工具中用得较多的形式方法是等价性检验,即验证两个不同形式的设计之间的功能等价性,这是本专利技术涉及的主要内容。在集成电路设计流程中,等价性检验可用来验证寄存器传输级(RTL)模型与门级模型、门级模型与门级模型、RTL模型与RTL模型之间的功能等价性,从而尽早发现设计错误,保证设计在流程中各阶段的功能正确性。在实际的大规模集成电路芯片设计中,含有大量的存储元素(触发器),基于有限状态机遍历的传统方法经常由于状态空间太大而导致失败。因此大多数实际的等价性检验工具往往使用组合验证的方法来验证大型时序电路,即首先构造出各寄存器或锁存器之间的一个映射,从而将时序电路分解成多个对应的组合模块,接着验证相应的各组合模块是否等价,如果各组合模块都等价,那么整个电路就是功能等价的。因此,可以说组合验证是形式等价性检验的核心之一。然而当芯片规模太大时,形式验证方法仍然不尽人意,有时因算法超时或内存爆炸而失败,如何提高算法性能和处理能力仍是急需解决的问题。目前组合等价性检验方法大多数是以二叉判决图(BDD)为主要引擎,其它方法则主要用来演绎内部等价信号或消除误判。事实上,随着对SAT算法的不断深入研究,出现了不少高效、实用的程序,SAT算法具备一些BDD所缺少的优点,如果我们能够充分利用这些优势,完全有可能构造出更强健、灵活的等价性检验方法。本专利技术提出了一种基于可满足性的组合电路增量等价性检验方法,该方法吸收了下面这篇文献中的技术“Verification of Large Synthesized Designs,”Daniel Brand,In Proceedings of International Conference on Computer-aidedDesign,pp.534-537,1993。上述文献提出了基于可置换性的电路分割方法,利用电路内部的结构相似性,增量地验证两个电路的功能等价性。这里的可置换性是由自动测试产生(ATPG)工具来推导,并用传统的故障模拟方法来缩减候选等价信号表,计算复杂性较高,并且极大地依赖于被验证电路的结构相似性,对于某些真实的设计很可能失败。通过大量的实验表明,如果候选等价信号太多,将严重影响算法性能,必须通过某种启发式的策略进行筛选。此外,在推导内部等价性时,需要充分利用已知的等价关系,并防止验证过程往后变得过于复杂。本专利技术使用了创新的方法来解决上述问题,极大地提高了算法的性能与处理能力,并可方便地应用于设计自动化工具中。因此,具有较高的实用价值。
技术实现思路
本专利技术提出了一种。它是利用电路内部结构相似性,以可满足性算法为引擎,增量地验证两个电路的功能等价性。为了进一步阐明方法的原理和创新之处,首先介绍一些基本概念。可满足性问题是指找到一个变量赋值使得给定的布尔函数是可满足的,或证明这样的赋值不存在。为了解决方便,SAT问题常常用合取范式(CNF)公式。一个CNF公式是由一些子句组成的集合,集合中的每个子句是由一些变量或它们的否定(称为文字)构成的析取。逻辑电路的CNF公式是每个门的CNF公式构成的集合,每个门的CNF公式很容易推导出来。如一个与门a=bc,可以表示为(b+﹁a)(c+﹁a)(﹁b+﹁c+a),它包含三个子句。等价性检验是指,在已知两个电路输入与输出之间的一一对应关系情况下,验证它们的输出函数(布尔函数)是功能等价的。有时也称之为逻辑验证或布尔比较。不妨用函数F(X)表示规范电路,而用G(X)表示实现电路,以单输出电路为例,为了验证F(X)=G(X),一个很自然的想法是,只需证明两个电路输出的异或值固定为0,即F(X)G(X)=0。如附图1所示,前面参考文献中称这种结构为miter。通常在设计周期中,处于不同阶段的两个电路可能包含许多的结构相似性,因此,可以利用这些相似性来简化miter结构,从而提高算法的性能。例如,如附图2所示,假设f和g是分别来自规范和实现中的一对候选等价信号,并且被证明确实等价。那么在后续验证过程中,可以用g置换f,从而简化miter结构,如图3所示。这里f和g的等价性也是通过类似的方法验证,即验证它们的异或值固定为0。大量的实验表明,如果候选的等价信号对太多或太少,都会严重影响算法的性能。此外,如果直接应用传统的ATPG工具来验证中间信号的等价性,对于大型设计,将需要大量的运行时间。本专利技术旨在通过某种策略对候选信号进行筛选,减少一部分不必要的候选信号,避免可满足性程序的频繁调用;为了充分应用已知的内部等价性,使用增量可满足性算法来提高算法性能。实验表明,本专利技术提出的方法比以往多数方法要快。由于在集成电路设计流程中,设计的不同版本之间常保留许多结构相似性,同时,目前国内外对可满足性算法的研究日益成熟,出现了许多高效的程序包,本专利技术提出的方法可以很方便地与这些程序包集成起来,因此具有广阔的应用前景。专利技术技术方案一种,所述方法具有两个阶段,第一阶段是确定两个电路内部的候选等价信号,并通过电路结构分析,对候选等价信号作静态筛选,第二阶段是通过子句分组实现增量可满足性方法,并验证每对候选信号的等价性。第一阶段是确定候选等价信号,并通过电路结构分析,对候选信号作静态筛选,其具体步骤如下第一步使用并行随机模拟或名称匹配的方法找出两个电路内部的候选等价信号,凡是响应特征(signature)相同的或者名称匹配的两个信号(一个来自规范电路,另一个来自实现电路)当作一对候选等价信号;第二步对候选等价信号进行静态筛选,如果规范电路中某个信号的扇入数少于2,那么删除该信号所对应所有候选信号对,另外,如果规范电路中信号a的某个候选信号b依赖的原始输入个数比a多,那么删除该候选信号对。第二阶段是通过子句分组实现增量可满足性方法,并验证候选信号的等价性,其具体步骤如下1)在验证过程第一阶段对候选信号作出筛选之后,构造整个实现电路的CNF公式,作为永久子句组;2)动态选择分割集,验证每对候选信号的等价性,如果分割集中的信号存在依赖关系,即某个信号是其它信号的扇出信号,那么从分割集中删除这个信号,此外,尽可能选择扇入数多的信号进入分割集合;3)通过对CNF公式的子句进行分组来实现增量可满足性算法,当验证一对信号是等价后,用实现电路中的信号置换规范电路中的等价信号,为表示已知的等价关系,增加相应CNF子句到永久子句组,规范电路中的C本文档来自技高网
...

【技术保护点】
一种基于可满足性的组合电路等价性检验方法,其特征在于,所述方法具有两个阶段,第一阶段是确定两个电路内部的候选等价信号,并通过电路结构分析,对候选等价信号作静态筛选,第二阶段是通过子句分组实现增量可满足性方法,并验证每对候选信号的等价性。

【技术特征摘要】

【专利技术属性】
技术研发人员:李光辉李晓维
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1