用于计算集成电路模型的验证覆盖率的方法和设备技术

技术编号:8413224 阅读:176 留言:0更新日期:2013-03-14 02:11
本发明专利技术实施例提供了一种计算集成电路模型的验证覆盖率的方法,包括:获取待验证集成电路模型的逻辑结构;根据所述逻辑结构,搜索并记录所述待验证集成电路模型中的信号路径;以及计算验证对所述信号路径的覆盖率。根据本发明专利技术实施例提供的技术方案,可以得到基于信号路径的验证覆盖率,从而更加准确地提供有关验证完备性的数据。

【技术实现步骤摘要】

本专利技术涉及集成电路设计技术,更具体地说,涉及用于计算集成电路模型的验证覆盖率的方法和设备。■
技术介绍
在集成电路设计过程中,验证(verification)是非常重要的一个步骤。在验证步骤中,向集成电路模型输入各种激励信号,通过比较集成电路模型的实际输出信号和期望的输出信号是否相符,来检查集成电路模型的逻辑正确性。例如,在验证具有两个输入端的 与门模型时,依次向该模型输入四种可能的激励信号,检查各激励信号下与门模型的输出是否正确,从而确定该与门模型的逻辑是否正确。集成电路模型需要经过验证以后才能用来作为制造实际集成电路的依据。验证步骤的目的是确保集成电路模型在所有可能的激励的情况下都能够按照设计正确地工作。理论上讲,通过穷举各种可能的激励信号可以实现完全的验证,从而确保集成电路模型的正确性。但是这种方式效率太低,从而随着集成电路的复杂度越来越高而变得越来越不实际。在实际的验证步骤中所采用的激励信号是所有可能的激励信号的子集。所述子集可以是人工地选取的,这需要验证人员有非常丰富的经验。所述子集也可以通过根据约束条件进行随机测试例生成而选取。但无论采用哪种方法,都需要考察验证的完备性,即考察采用所述子集进行验证是否覆盖了各种可能性。通常用覆盖率(coverage)来表示所述完备性。传统的覆盖率计算方法基于寄存器传送级(RTL, Register Transfer Level)单元。例如,将已经验证过的RTL单元占集成电路模型中总RTL单元的比例作为所述覆盖率。然而,孤立的RTL单元能够正确工作并不代表由这些RTL单元组成的集成电路模型能够正确地工作。因此,需要一种改进的覆盖率计算方法。■
技术实现思路
本专利技术实施例提供了用于计算集成电路模型的验证覆盖率的方法和设备。根据本专利技术实施例的一种计算集成电路模型的验证覆盖率的方法,包括获取待验证集成电路模型的逻辑结构;根据所述逻辑结构,搜索并记录所述待验证集成电路模型中的信号路径;以及计算验证对所述信号路径的覆盖率。根据本专利技术实施例的一种计算集成电路模型的验证覆盖率的设备,包括获取装置,配置为获取待验证集成电路模型的逻辑结构;搜索装置,配置为根据所述逻辑结构,搜索并记录所述待验证集成电路模型中的信号路径;以及计算装置,配置为计算验证对所述信号路径的覆盖率。根据本专利技术实施例提供的技术方案,可以得到基于信号路径的验证覆盖率。所述基于信号路径的验证覆盖率可以与基于RTL单元的验证覆盖率结合,更加准确地提供有关验证完备性的数据。■附图说明图I是适于用来实现本专利技术实施方式的示例性计算系统100的框图。图2是根据本专利技术实施例的计算验证覆盖率的方法的流程图。图3是如何搜索并记录信号路径的流程图。图4A和图4B示出正向信号追踪和反向信号追踪。图5是一个组合逻辑电路。图6是根据本专利技术实施例的计算验证覆盖率的装置的方框图。 ■具体实施例方式所属
的技术人员知道,本专利技术的多个方面可以体现为系统、方法或计算机程序产品。因此,本专利技术的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本专利技术的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括一但不限于一电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者任何合适的上述组口 ο计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者任何合适的上述组合。用于执行本专利技术的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如” C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络--包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。以下参照按照本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本专利技术的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。·也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。下面参照附图,结合具体实施例对本专利技术进行描述。这样的描述仅仅出于说明目的,而不意图对本专利技术的范围进行限制。图I示出了适于用来实现本专利技术实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括CPU(中央处理单元)101、RAM(随机存取存储器)102、R0M(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外本文档来自技高网
...

【技术保护点】
一种计算集成电路模型的验证覆盖率的方法,包括:获取待验证集成电路模型的逻辑结构;根据所述逻辑结构,搜索并记录所述待验证集成电路模型中的信号路径;以及计算对所述信号路径的验证覆盖率。

【技术特征摘要】

【专利技术属性】
技术研发人员:范博陈亮潘永峰周凡
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1