[发明专利]集成电路验证方法及其系统有效
申请号: | 200910244172.2 | 申请日: | 2009-12-30 |
公开(公告)号: | CN101794330A | 公开(公告)日: | 2010-08-04 |
发明(设计)人: | 张弢;吕涛;李晓维 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 集成电路 验证 方法 及其 系统 | ||
技术领域
本发明涉及大规模集成电路验证领域,尤其涉及集成电路验证方法及其系 统。
背景技术
随着集成电路产业的迅速发展,设计的多样性和复杂性程度也越来越高, 而传统功能验证方法处理的设计规模和效率的增长落后于开发规模的增长,使 得其面临的困难越来越大。
集成电路复杂性增长给功能验证带来的难题包括两个方面:第一设计内部 功能逻辑、接口协议、例外处理等等复杂度急剧增加,凭借人工经验或已有方 法难于处理;第二集成电路结构里包含的寄存器数目增加,造成仿真的速度越 来越慢,使得形式化验证方法更加难以处理。为了解决或缓解上述两个问题, 集成电路功能验证方法需要尽量减少需要的人工专家知识,并且生成较短的测 试向量,以驱动仿真验证特定的功能属性。
另外,在现有集成电路验证流程中,设计的功能覆盖率的增加并不为线性, 尤其对于设计的难达属性或者状态,往往耗费大量的验证成本而收效甚微。针 对集成电路中难达属性或者状态的验证,是一个急需解决的问题。已有的集成 电路的功能验证方法主要分为模拟验证和形式化验证两大类方法。
模拟验证方法主要通过给设计输入测试向量进行仿真,并且将仿真的结果 和一个功能正确的黄金模型(Golden Model)进行对比,以验证设计在不同的 输入激励情况下的功能正确性。模拟验证方法能够快速的验证一些常见的设计 属性,但是对于难以到达的边缘属性,难于在有限时间内进行覆盖和验证。虽 然可以通过人工手工写测试向量来验证特定功能点,但需要耗费大量的人力时 间,并且测试向量难以在不同设计间重用,不能够作为主要的验证手段。
形式化验证方法中,主要是模型检验(Model Checking)方法,比较适合于 对设计的边缘属性进行验证。在这类方法中,集成电路设计被抽象为一个有限 状态模型,目标属性则被描述为一个时态逻辑公式,验证的过程为遍历有限状 态模型中的可达状态,从而证明集成电路设计满足目标属性;或者给出一个状 态序列形式的反例,以证明目标属性不可满足。模型检验具有规范化、易于自 动化、完全的特点,但其中状态空间大小随设计中寄存器数目指数增长(2^n), 造成“状态爆炸”;这也是困扰模型检验方法在大规模工业设计上得到应用的 根本问题。
通过对模拟验证和形式化验证方法分别的优缺点和适应场景的分析,可以 发现一种提高验证效率和验证可处理设计规模的方法:将形式化验证和模拟验 证方法结合起来,在原始设计上进行一定程度的抽象,在抽象模型上用形式化 验证方法获取部分设计信息,然后用这些信息引导模拟仿真生成较短的仿真向 量,从而快速、准确的验证到目标的设计边缘属性。通过抽象能够减少形式化 方法计算的代价,同时获得的设计信息能够帮助提高对目标属性进行模拟验证 的效率。
采取这种优化的验证方法,一个问题在于如何对电路进行抽象,才能够使 获得的抽象模型较小、且包含较准确的设计信息。最简单直观的方法是借助工 程师对集成电路设计的理解,人工提取部分与目标最相关的逻辑作为抽象模 型。这种方法对于中小设计效果较好,但对于复杂设计则效果得不到保证,并 且需要大量专家时间,不适合自动化验证的需求。另一种方法则基于现代集成 电路设计模块化的思想,提取和目标状态对应的信号关系密切的设计模块作为 抽象模型。但如果模块较大,则导致抽象模型过于复杂,并且这种方法抽象的 粒度较大,不够理想。还有采用数据挖掘方法,在集成电路设计中各个寄存器 位之间挖掘关系,将关系密切的寄存器位加入抽象模型。该种方法在寄存器位 (bit)级上进行,并不适合寄存器传输级功能验证的需要。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910244172.2/2.html,转载请声明来源钻瓜专利网。