集成电路验证方法及其系统技术方案

技术编号:4272317 阅读:284 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及集成电路验证方法及其系统,方法包括:步骤1,抽象引擎对待验证的集成电路进行抽象,生成对应的抽象模型,进行形式化计算;步骤2,激励生成引擎初始化根据待检测的集成电路的规范建立的马尔可夫模型;步骤3,激励生成引擎由马尔可夫模型生成激励,将激励输入仿真器,仿真器对待检测的集成电路进行仿真;步骤4,激励生成引擎依据形式化信息比较本周期仿真结果和上周期仿真获得的仿真结果,如果本周期仿真结果更接近目标状态,则调整马尔可夫模型中参数;步骤5,如果待检测的集成电路未达到目标状态并且仿真次数未超过预设次数,则执行步骤3;否则,终止仿真,并报告成功或者运行超时。本发明专利技术能够降低计算成本,提高检测效率。

【技术实现步骤摘要】

本专利技术涉及大规模集成电路验证领域,尤其涉及集成电路验证方法及其系统
技术介绍
随着集成电路产业的迅速发展,设计的多样性和复杂性程度也越来越高,而传统 功能验证方法处理的设计规模和效率的增长落后于开发规模的增长,使得其面临的困难越 来越大。 集成电路复杂性增长给功能验证带来的难题包括两个方面第一设计内部功能逻辑、接口协议、例外处理等等复杂度急剧增加,凭借人工经验或已有方法难于处理;第二集成电路结构里包含的寄存器数目增加,造成仿真的速度越来越慢,使得形式化验证方法更加难以处理。为了解决或缓解上述两个问题,集成电路功能验证方法需要尽量减少需要的人工专家知识,并且生成较短的测试向量,以驱动仿真验证特定的功能属性。 另外,在现有集成电路验证流程中,设计的功能覆盖率的增加并不为线性,尤其对于设计的难达属性或者状态,往往耗费大量的验证成本而收效甚微。针对集成电路中难达属性或者状态的验证,是一个急需解决的问题。已有的集成电路的功能验证方法主要分为模拟验证和形式化验证两大类方法。 模拟验证方法主要通过给设计输入测试向量进行仿真,并且将仿真的结果和一个 功能正确的黄金模型(Golden Model)进行对比,以验证设计在不同的输入激励情况下的功 能正确性。模拟验证方法能够快速的验证一些常见的设计属性,但是对于难以到达的边缘 属性,难于在有限时间内进行覆盖和验证。虽然可以通过人工手工写测试向量来验证特定 功能点,但需要耗费大量的人力时间,并且测试向量难以在不同设计间重用,不能够作为主 要的验证手段。 形式化验证方法中,主要是模型检验(Model Checking)方法,比较适合于对设计 的边缘属性进行验证。在这类方法中,集成电路设计被抽象为一个有限状态模型,目标属性 则被描述为一个时态逻辑公式,验证的过程为遍历有限状态模型中的可达状态,从而证明 集成电路设计满足目标属性;或者给出一个状态序列形式的反例,以证明目标属性不可满 足。模型检验具有规范化、易于自动化、完全的特点,但其中状态空间大小随设计中寄存器 数目指数增长(2'n),造成状态爆炸;这也是困扰模型检验方法在大规模工业设计上得到 应用的根本问题。 通过对模拟验证和形式化验证方法分别的优缺点和适应场景的分析,可以发现一 种提高验证效率和验证可处理设计规模的方法将形式化验证和模拟验证方法结合起来, 在原始设计上进行一定程度的抽象,在抽象模型上用形式化验证方法获取部分设计信息, 然后用这些信息引导模拟仿真生成较短的仿真向量,从而快速、准确的验证到目标的设计 边缘属性。通过抽象能够减少形式化方法计算的代价,同时获得的设计信息能够帮助提高 对目标属性进行模拟验证的效率。 采取这种优化的验证方法,一个问题在于如何对电路进行抽象,才能够使获得的抽象模型较小、且包含较准确的设计信息。最简单直观的方法是借助工程师对集成电路设 计的理解,人工提取部分与目标最相关的逻辑作为抽象模型。这种方法对于中小设计效果 较好,但对于复杂设计则效果得不到保证,并且需要大量专家时间,不适合自动化验证的需 求。另一种方法则基于现代集成电路设计模块化的思想,提取和目标状态对应的信号关系 密切的设计模块作为抽象模型。但如果模块较大,则导致抽象模型过于复杂,并且这种方法 抽象的粒度较大,不够理想。还有采用数据挖掘方法,在集成电路设计中各个寄存器位之间 挖掘关系,将关系密切的寄存器位加入抽象模型。该种方法在寄存器位(bit)级上进行,并 不适合寄存器传输级功能验证的需要。 另外,如何利用在抽象模型上进行形式化计算得到的信息来引导模拟验证快速覆 盖到目标的设计属性,也是一个难题。 一种可行的方法是,用形式化计算方法把设计的抽象 模型描述为一个状态空间,计算从目标状态向前的前像,并且以这个前像的距离作为对状 态的近似评估。利用抽象模型上计算获得的距离信息对模拟仿真进行引导,其核心部分就 在于激励生成引擎和引导的策略如何设计。已有的方法,大多采用的是随机的激励生成方 法,每次生成N个测试序列,然后用抽象距离信息评估这些序列仿真所能够到达的状态优 劣,从中选择到达抽象距离最低的序列进行仿真。也有的方法采用遗传算法和文化算法作 为激励生成引擎,利用抽象距离信息设计种群的适应度函数。文化算法本质上是一种优中 选优的策略,即从好的种群中选择个体繁衍下一代,以期更好的种群质量;不过这种方法 没有从以往的仿真信息中学习知识,并且没有很好的利用设计规范的信息,其效率可以有 进一步的提高。 应用抽象距离引导的针对集成电路边缘属性的混合验证方法参考文献1, Distance—Guided Hybrid Verification with GUIDO Design, Proceedings onDesign, Automation and Test in Europe 2006. M皿ich,Germany :IEEE,2006 :1_6 ;文献2,Guiding simulation with increasingly refined abstracttraces, Proceedings on Design Automation Conference, 2006. Anaheim, California, USA :ACM/IEEE, 2006 :737-742 ;文献 3, An effective guidancestrategy for abstraction—guided simulation, Proceedings on DesignAutomation Conference,2007. San Diego, California, USA:ACM/IEEE,2007 :63-68 ;文献4, Efficient Design Validation Based on Cultural Algorithms, Proceedings on Design, Automation and Test in Europe 2008. Munich, Germany :IEEE,2008 :402-407。
技术实现思路
为解决上述问题,本专利技术提供了集成电路验证方法及其系统,能够降低计算成本, 提高检测效率。 本专利技术公开了一种集成电路验证方法,包括 步骤l,抽象引擎对待验证的集成电路进行抽象,生成对应的抽象模型,并且在所 述抽象模型上进行形式化计算,以获得形式化信息; 步骤2,激励生成引擎初始化根据待检测的集成电路的规范建立的马尔可夫模 型; 步骤3,激励生成引擎由马尔可夫模型生成激励,将所述激励输入仿真器,所述仿真器对所述待检测的集成电路进行仿真; 步骤4,所述激励生成引擎依据所述形式化信息比较本周期仿真结果和上周期仿 真获得的仿真结果,如果本周期仿真结果更接近目标状态,则调整所述马尔可夫模型中参 数; 步骤5,如果待检测的集成电路未达到目标状态并且仿真次数未超过预设次数,则 执行所述步骤3 ;否则,终止仿真,并报告成功或者运行超时。 所述步骤l进一步为, 步骤21,建立数据依赖图; 步骤22,在所述数据依赖图上进行抽象,生成抽象模型; 步骤23,在所述抽象模型上进行形式化计算,获得形式化信息。 所述步骤21本文档来自技高网
...

【技术保护点】
一种集成电路验证方法,其特征在于,包括:步骤1,抽象引擎对待验证的集成电路进行抽象,生成对应的抽象模型,并且在所述抽象模型上进行形式化计算,以获得形式化信息;步骤2,激励生成引擎初始化根据待检测的集成电路的规范建立的马尔可夫模型;步骤3,激励生成引擎由马尔可夫模型生成激励,将所述激励输入仿真器,所述仿真器对所述待检测的集成电路进行仿真;步骤4,所述激励生成引擎依据所述形式化信息比较本周期仿真结果和上周期仿真获得的仿真结果,如果本周期仿真结果更接近目标状态,则调整所述马尔可夫模型中参数;步骤5,如果待检测的集成电路未达到目标状态并且仿真次数未超过预设次数,则执行所述步骤3;否则,终止仿真,并报告成功或者运行超时。

【技术特征摘要】
一种集成电路验证方法,其特征在于,包括步骤1,抽象引擎对待验证的集成电路进行抽象,生成对应的抽象模型,并且在所述抽象模型上进行形式化计算,以获得形式化信息;步骤2,激励生成引擎初始化根据待检测的集成电路的规范建立的马尔可夫模型;步骤3,激励生成引擎由马尔可夫模型生成激励,将所述激励输入仿真器,所述仿真器对所述待检测的集成电路进行仿真;步骤4,所述激励生成引擎依据所述形式化信息比较本周期仿真结果和上周期仿真获得的仿真结果,如果本周期仿真结果更接近目标状态,则调整所述马尔可夫模型中参数;步骤5,如果待检测的集成电路未达到目标状态并且仿真次数未超过预设次数,则执行所述步骤3;否则,终止仿真,并报告成功或者运行超时。2. 根据权利要求1所述的集成电路验证方法,其特征在于,所述步骤l进一步为,步骤21,建立数据依赖图;步骤22,在所述数据依赖图上进行抽象,生成抽象模型;步骤23,在所述抽象模型上进行形式化计算,获得形式化信息。3. 根据权利要求2所述的集成电路验证方法,其特征在于,所述步骤21进一步为,步骤31 ,根据待检测的集成电路的硬件描述语言的描述,依据存储目标状态的目标状态变量建立数据依赖图;所述数据依赖图中,每一个结点代表一个寄存器变量,两个结点之间的有向箭头表示目标结点对源结点存在数据依赖关系。4. 根据权利要求3所述的集成电路验证方法,其特征在于,所述步骤22进一步为,步骤41,在所述数据依赖图中,从目标状态变量出发,按照逻辑依赖关系由近及远的回溯,并采用广度优先搜索方式将遍历到的寄存器变量加入到抽象模型;如果两个存在依赖关系的寄存器变量被加入到所述抽象模型中,则两个所述寄存器变量之间的组合逻辑也被加入到所述抽象模型中。5. 根据权利要求3所述的集成电路验证方法,其特征在于,所述步骤22进一步为,步骤51,在所述数据依赖图中,将所述目标状态变量划分为组,从各个组的目标状态变量出发,按照逻辑依赖关系由近及远的回溯,并采用广度优先搜索方式将遍历到的寄存器变量加入到抽象模型的对应子抽象模型中;如果两个存在依赖关系的寄存器变量被加入到所述子抽象模型中,则两个所述寄存器变量之间的组合逻辑也被加入到所述子抽象模型中。6. 根据权利要求2所述的集成电路验证方法,其特征在于,所述步骤23进一步为,步骤61,采用基于二分决策图的形式化计算工具在所述抽象模型上进行形式化计算,获得形式化信息,将所述形式化信息记录到抽象距离信息表中,所述形式化信息包括抽象状态和抽象状态对应的抽象距离。7. 根据权利要求5所述的集成电路验证方法,其特征在于,所述步骤23进一步为,步骤71,采用基于二分决策图的形式化计算工具在每个所述子抽象模型上进行形式化计算,获得形式化信息,将所述形式化信息记录到所述子抽象模型对应的抽象距离信息表中,所述形式化信息包括抽象状态和抽象状态对应的抽象距离。8. 根据权利要求1所述的集成电路验证方法,其特征在于,所述步骤3进一步为,步骤81,所述激励生成引擎在仿真的每一周期之前,根据马尔可夫模型的当前配置生成一个周期的激励,并提供给仿真器进行仿真。9. 根据权利要求6或7所述的集成电路验证方法,其特征在于,所述步骤4进一步为,步骤91,从所述抽象距离信息表中查找仿真结果对应的抽象距离,依据所述抽象距离比较本周期仿真结果同上一周期的仿真结果,如果比较结果为本周期仿真结果更接近目标状态,则执行步骤92,否则,执行所述步骤5 ;步骤92,增大马尔可夫模型中当前仿真结果的激励所对应的边的权重,并减少所述马尔可夫模型中其他边的权重以使马尔可夫模型中一个顶点出发的边中权重和为l,执行所述步骤5。10. 根据权利要求7所述的集成电路验证方法,其特征在于,所述步骤4进一步为,步骤101,从所述抽象距离信息表中查找仿真结果对应的抽象距离,依据如下公式计算仿真结果在子抽象模型中的适应度,fiti = Max「Difiti是仿真结果在每个子抽象模型中的适应度值A为仿真结果在所述子抽象模型的抽象距离信息表中查找到的对应的抽象距离,MaXi为所述子抽象模型的最大抽象距离值;步骤S102,按如下公式计算仿真结果的适应度,v.''=0 Vw(。/ ,Vi为子抽象模型中包含的目标状态变量数目;Vt。^表示抽象模型的总的目标状态变量数目;Np表示子抽象模型的数量,Fitness—value表示本周期仿真结果的适应度值;步骤S103,比较本周期仿真结果对应的适应度同上一仿真周期的仿真结果对应的适应度,如果比较结果为本周期仿真结果更接近目标状态,则执行步骤104,否则,执行所述步骤5 ;步骤104,增大马尔可夫模型中当前仿真结果的激励所对应的边的权重,并减少所述马尔可夫模型中其他边的权重以使马尔可夫模型中一个顶点出发的边中权重和为l,执行所述步骤5。11. 一种集成电路验证系统,其特征在于,包括抽象引擎,用于对待验证的集成电路进行抽象,生成对应的抽象模...

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

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

1