一种验证系统、验证系统的创建方法及验证方法

文档序号:6114335阅读:127来源:国知局
专利名称:一种验证系统、验证系统的创建方法及验证方法
技术领域
本发明涉及电子测试技术领域,特别是一种芯片逻辑功能的验证的系统,以及验证环境的创建方法及验证方法。
背景技术
随着芯片设计规模的扩大,逻辑功能验证的工作量越来越大,因此如何提高逻辑验证的效率并保证其质量成为一个比较重要的问题。
传统的验证方法是针对芯片模块的功能,由工程师手工设计生成该模块的验证系统进行验证。这样的方法费时费力,由于工程师能力的差别,产生的验证系统质量参差不齐,验证质量难以保证。而且,随着芯片规模的扩大,功能的日趋复杂,导致验证系统本身的复杂度也越来越大,生成验证系统本身也需要占用大量的时间,影响实际的执行测试用例的时间,也同样会对验证的质量产生不好的影响。
另一方面,一种芯片从模块级验证到整芯片级验证会产生多个验证环境,而模块级验证与整芯片级验证息息相关。为保证模块及验证的边界条件与整芯片级的环境一致,需要在最后的整芯片级验证中,整合进模块级验证的环境。芯片内部含有多种模块,各个模块功能各有不同,手工产生的模块级验证环境由于工程师的不同在结构上也会有一些差别,这样对于最后的系统整合也会产生一些困难,导致花费更多的时间跟人力在验证环境的维护上,也同样会对验证质量产生不好的影响。
因此,有必要规范验证环境的主体结构,并提高验证环境的产生效率,以提高验证的效率跟质量。

发明内容
本发明的目的在于提供一种验证系统、验证系统的创建方法及验证方法,用于完成从模块级到整芯片级验证的验证工作,规范验证环境的主体结构,并提高验证环境的产生效率,以提高验证的效率跟质量。
为了实现上述目的,本发明提供了一种验证系统,用于对包括总线集合和时钟复位管脚的DUT进行逻辑验证,包括测试激励驱动模块,用于产生测试激励数据,还包括对应于总线集合的总线功能模型模块,用于实现测试激励数据到对应总线集合时序的转换后发送给芯片管脚驱动单元;芯片管脚驱动单元,用于获取总线集合的总线监视信号和时钟复位管脚的管脚信息,并利用转换后的测试激励数据驱动DUT;验证采样时钟及复位模块,用于根据时钟复位管脚的管脚信息产生时钟采样信号和验证复位信号;对应于总线集合的总线协议监视模块,用于根据总线监视信号完成交互协议的检查,同时获取总线数据和对应总线集合的事件信号;芯片行为级功能检查模块,用于根据总线数据和对应总线集合的事件信号进行逻辑验证。
上述的验证系统,其中,总线集合定义为数据总线时,对应的总线协议监视模块中包括采样数据通道模块,用于总线数据的传输,芯片行为级功能检查模块中包括数据存储模块,用于存储总线数据。
上述的验证系统,其中,芯片行为级功能检查模块具体包括总线数据存储模块,用于存储总线数据;芯片行为级功能参考模块,用于根据总线集合的事件信号选择参考模型,并利用参考模型产生参考输出;数据比较器,用于根据总线数据和/或事件信号与参考输出进行比较,对DUT进行验证。
上述的验证系统,其中,测试激励驱动模块具体用于根据总线集合事件信号和测试激励约束条件产生对应于总线集合的测试激励数据。
为了更好的实现上述目的,本发明还提供了一种验证系统的创建方法,验证系统用于对包括总线集合和时钟复位管脚的DUT进行逻辑验证,其中,包括步骤1,将DUT管脚划分为总线集合,并对DUT的管脚进行标注;步骤2,分析各总线集合的管脚标注后获取各总线集合的管脚信息及对应的时钟信息、复位信息;步骤3,根据总线集合的管脚信息及对应的时钟信息、复位信息创建芯片管脚驱动模块、验证采样时钟及复位模块、芯片行为级功能检查模块、总线集合对应的功能模型模块、总线集合对应的总线协议监视模块和总线协议监视模块;步骤4,根据权利要求1所述连接关系建立各模块之间的连接关系。
上述的验证系统的创建方法,其中,步骤1中对DUT的管脚进行标注具体包括标注时钟管脚;标注复位管脚;定义总线并标注总线采样信号。
上述的验证系统的创建方法,其中,对于数据总线,对DUT的管脚进行标注还需标注地址信号和数据信号。
上述的验证系统的创建方法,其中,步骤2具体包括步骤21,分析管脚标注,获取该DUT的时钟管脚信息及复位管脚信息;步骤22,建立一个空的总线列表;步骤23,分析管脚标注,在总线列表中添加进对应总线集合的定义。
上述的验证系统的创建方法,其中,该总线集合的定义包括总线集合的管脚名称、信号宽度、地址管脚信息、数据管脚信息、预定义的总线监视单元、预定义的总线功能模型单元及采样信号和复位信号。
上述的验证系统的创建方法,其中,步骤3具体包括步骤31,根据各总线的管脚信息创建芯片管脚驱动模块;步骤32,根据时钟管脚信息及复位管脚信息获取DUT的时钟信号及复位信号,创建验证采样时钟及复位模块;步骤33,创建各总线集合对应的功能模型模块和总线协议监视模块;步骤34,创建芯片行为级功能检查模块;步骤35,创建测试激励驱动模块。
上述的验证系统的创建方法,其中,对于定义为数据总线的总线集合,步骤33中,在芯片行为级功能检查模块中需设置存储总线数据的存储器,步骤34中,在该总线集合对应的总线协议监视模块中设置与存储器的数据通道。
为了更好的实现上述目的,本发明还提供了一种验证系统对DUT进行验证的方法,该DUT包括总线集合和时钟复位管脚,包括如下步骤步骤S1,测试激励驱动模块产生测试激励数据;步骤S2,对应于总线集合的总线功能模型模块实现测试激励数据到对应总线集合时序的转换;步骤S3,芯片管脚驱动单元,利用转换后的测试激励数据驱动DUT;步骤S4,芯片管脚驱动单元获取总线集合的总线监视信号和时钟复位管脚的管脚信息;步骤S5,验证采样时钟及复位模块根据时钟复位管脚的管脚信息产生时钟采样信号和验证复位信号;步骤S6,对应于总线集合的总线协议监视模块根据总线监视信号完成交互协议的检查,同时获取总线数据和对应总线集合的事件信号;步骤S7,芯片行为级功能检查模块根据总线数据和对应总线集合的事件信号进行逻辑验证。
上述的方法,其中,步骤S7具体包括如下步骤总线数据存储模块存储总线数据;芯片行为级功能参考模块根据总线集合的事件信号选择参考模型,并利用参考模型产生参考输出;数据比较器根据总线数据和/或事件信号与参考输出进行比较,对DUT进行验证。
上述的方法,其中,验证采样时钟及复位模块产生的时钟采样信号与对应总线集合的时钟同步。
上述的方法,其中,步骤S1与步骤S2之间还包括对应于总线集合的总线功能模型模块接收DUT的对应总线集合的信号,实现与DUT的交互。
通过这样的方法,可以减少验证系统生成的工作量,使验证者的工作重点放在具体的针对该DUT的特定功能的测试用例生成上,而不需要花过多时间考虑如何搭建验证系统。同时,也有利于验证系统的规范化,保证验证质量,减小由于验证工程师的能力差异而导致的验证系统的质量差异,并有利于由模块级验证到整芯片级验证的系统的整合。


图1为本发明的DUT划分后的简要示意图;图2为本发明的验证系统的结构示意图;图3为芯片行为级功能检查模块的结构示意图;图4为本发明的本发明创建验证系统的流程示意图;图5为创建验证系统中步骤43的具体流程示意图。
具体实施例方式
对于DUT(Device Under Test,被测器件),本发明中,如图1所示,将该DUT的外部接口划分为两大部分总线集合,其中该总线集合包括一个或多个,本发明的具体实施例中以2个总线集合为例进行说明,即总线A和总线B,同时总线A声明为数据总线,该总线集合的划分可以将功能相同的总线划分为一个总线集合,也可以将标准总线划分为一个总线集合,当然也可以是其它的划分方式;该总线A由于为数据总线,因此需要标注数据线和地址线;各总线集合对应的时钟和复位管脚,其对应于总线A和总线B分别输出总线A的时钟和总线B的时钟,同时输出和/或接收复位信号。
本发明的验证系统如图2所示,包括测试激励驱动模块、芯片管脚驱动单元、对应于总线集合的总线功能模型模块、验证采样时钟及复位模块、对应于总线集合的总线协议监视模块及芯片行为级功能检查模块,该验证系统与DUT的内部功能无关,而只与DUT的外部接口相关。
下面对本发明的验证系统中的各模块及其功能、如何实现验证进行详细的描述。
测试激励驱动模块,用于根据总线A事件信号、总线B事件信号获取DUT管脚的信号状态,并结合DUT管脚的信号状态和测试激励约束条件产生对应于总线集合的测试激励数据及验证复位驱动信号,同时,该测试激励驱动模块还利用将驱动模块采样信号与总线A或B的采样信号连接,实现与总线上的采样信号保持同步,该驱动模块采样信号与测试激励驱动模块内部时钟同步。
芯片管脚驱动单元,用于与DUT的总线A、总线B、时钟和复位管脚进行信息交互,包括获取DUT管脚上的输出数据,对DUT管脚数据进行赋值以驱动DUT,其中DUT管脚上的输出数据包括总线A监视信号、总线B监视信号、总线A时钟和总线B时钟,芯片管脚单元根据总线A时钟和总线B时钟分别获取总线A时钟采样和总线B时钟采样;当然该芯片管脚驱动单元也可以是多个,分别与总线A、总线B、时钟和复位管脚相对应,分别执行相应的数据获取、赋值等功能。
对应于总线集合的总线功能模型模块,通过芯片管脚驱动单元分别接收DUT的对应总线集合的信号,实现与DUT的交互(握手),同时负责接口时序的产生和识别,测试激励数据的接收和发送,并完成激励数据到总线时序的转换,将测试激励数据通过芯片管脚驱动单元映射到DUT中,从而驱动DUT,改变总线的管脚信号。在本发明的具体实施例中包括总线A功能模型模块和总线B功能模型模块,分别与总线A和总线B对应。
验证采样时钟及复位模块,用于产生验证系统内部使用的时钟采样信号,还用于产生验证复位信号,该时钟采样信号分别与总线A和总线B的时钟同步,该验证复位信号用于复位验证系统和/或驱动DUT进行复位,其中验证采样时钟及复位模块通过芯片管脚驱动单元获取总线A时钟采样和总线B时钟采样后输出总线A采样信号和总线B采样信号。该总线A采样信号和总线B采样信号与总线A和总线B的时钟同步,用于验证系统内部各模块(总线功能模型模块、总线协议监视模块、芯片行为级功能检查模块),用于对总线A和总线B的数据采样,其与DUT时钟独立;验证采样时钟及复位模块利用验证复位驱动信号驱动复位信号,对DUT进行复位,控制其工作状态,和/或采集DUT的复位信号,监视DUT的工作状态,以相应调整验证系统的状态,同时该验证复位信号还连接到内部各模块(测试激励驱动模块、芯片行为级功能检查模块、总线功能模型模块),用于复位各模块的状态。
对应于总线集合的总线协议监视模块,其设置有对应于总线集合的管脚信号的接口,用于采集对应总线集合的总线监视信号,并根据对应总线集合的总线监视信号完成对交互协议的检查,监视DUT外部总线的协议交互情况是否符合要求,同时获取总线A事件信号、总线B事件信号和总线A总线数据后发送到芯片行为级功能检查模块,还将总线A事件信号、总线B事件信号发送到测试激励驱动模块,使测试激励驱动模块能获取DUT管脚的信号状态,以产生测试激励数据及验证复位驱动信号。
在本发明的具体实施例中包括总线A协议监视模块和总线B协议监视模块,其中总线A协议监视模块包括有一总线A采样数据通道模块,该总线A采样数据通道模块定义好了与芯片行为级功能检查模块的接口,包括数据宽度、地址信息及数据信息等,同时,针对该总线A采样数据通道模块,还预定义了总线A的总线数据采集信号,同步于该总线数据采集信号,总线A协议监视模块采集总线监视信号中总线A的管脚上对应的数据,然后通过总线A采样数据通道模块将数据存入芯片行为级功能检查模块中。
总线B协议监视模块与总线A协议监视模块区别在于总线B没有被定义为一个数据总线,所以总线B协议监视模块中不具有数据通道。
芯片行为级功能检查模块,用于根据所有的总线信息进行DUT的验证。
该芯片行为级功能检查模块如图3所示,包括总线A总线数据存储模块,用于存储总线A总线数据;芯片行为级功能参考模块,用于保存参考模型,根据总线A和B的事件信号及总线A总线数据选择参考模型,并利用参考模型产生参考输出;数据比较器,根据总线A总线数据和芯片行为级功能参考模块的参考输出进行比较,判断DUT行为是否正确。
进行芯片行为级检察时,根据事件信号以确定采集总线A的数据的时刻以及比较结果的时刻。
上述的验证系统与DUT的具体功能无关,只与DUT的外部接口管脚相关。在该验证系统中,建立了各个单元之间的必要的信号连接以及各个单元之间的接口关系后,各单元内部并没有具体的针对该DUT的特定功能的内容。验证工程师在这个基础上,根据需要将具体的测试相关的其他内容添加进验证系统中,即可以进行验证工作。
上述的实施例中以2个总线集合为例进行的说明,相应地,如果DUT拥有多个其他的总线集合C、D、E等等,可以以此类推得到类似的验证系统。因此,只需要定义好该DUT的外部接口对应的管脚,就可以产生如图2所示的一个针对该DUT的验证系统。
本发明的验证系统的创建方法如图4所示,包括如下步骤步骤41,将DUT管脚划分为一个或多个总线集合,并对DUT的管脚进行标注;比如将DUT管脚划分为图2中的总线A和总线B,总线A和B各自的时钟管脚及复位管脚不包含在内;步骤42,分析各总线集合的管脚标注后获取各总线的管脚信息及对应的时钟信息、复位信息;步骤43,根据各总线的管脚信息及对应的时钟信息、复位信息产生如前所述的验证系统。
其中,步骤41中对DUT管脚进行标注具体包括以下步骤标注时钟管脚,如总线A时钟管脚和总线B时钟管脚;标注复位管脚;定义总线并标注总线采样信号,如图2中总线A的采样信号为总线A时钟,总线B的采样信号为总线B时钟;对于数据总线还需标注地址信号和数据信号,如图2中总线A的地址线和数据线。
步骤42具体包括以下步骤步骤421,分析管脚标注,获取该DUT的时钟管脚信息及复位管脚信息;步骤422,建立一个空的总线列表;步骤423,分析管脚标注,如果发现新的总线定义,则在步骤2.2中建立的那个总线列表中添加进新的总线定义,包括该总线的管脚名称、信号宽度、地址管脚信息、数据管脚信息、预定义的总线监视单元、预定义的总线功能模型单元及采样信号和复位信号等等;步骤424,重复步骤423直到所有的DUT管脚标注都已分析完毕。
步骤43如图5所示,具体包括如下步骤步骤431,获取DUT的所有管脚信息,并根据管脚信息产生DUT的芯片管脚驱动模块;
步骤432,根据步骤42中的时钟管脚信息及复位管脚信息获取DUT的时钟信号及复位信号,产生DUT验证系统的验证采样时钟及复位模块;步骤433,根据总线列表中的总线定义产生对应总线集合的功能模型模块和总线协议监视模块,并建立总线集合的功能模型模块、芯片管脚驱动模块、验证采样时钟及复位模块、总线协议监视模块之间的连接;步骤434,产生DUT芯片行为级功能检查模块,并建立与其他模块的连接;步骤435,产生测试激励驱动模块,并建立测试驱动激励单元与各功能模块之间的连接。
对于定义为数据总线的总线集合,在芯片行为级功能检查模块中需设置存储总线数据的存储器,并在对应的总线协议监视模块中设置与存储器的数据通道。
产生出上述的验证系统后,只需在各功能模块中加入相应的测试相关的内容即可实现验证。
对于上述步骤中提到的连接关系,由于在前面已有详细描述,在此不再赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种验证系统,用于对包括总线集合和时钟复位管脚的DUT进行逻辑验证,包括测试激励驱动模块,用于产生测试激励数据,其特征在于,还包括对应于总线集合的总线功能模型模块,用于实现测试激励数据到对应总线集合时序的转换后发送给芯片管脚驱动单元;芯片管脚驱动单元,用于获取总线集合的总线监视信号和时钟复位管脚的管脚信息,并利用转换后的测试激励数据驱动DUT;验证采样时钟及复位模块,用于根据时钟复位管脚的管脚信息产生时钟采样信号和验证复位信号;对应于总线集合的总线协议监视模块,用于根据总线监视信号完成交互协议的检查,同时获取总线数据和对应总线集合的事件信号;芯片行为级功能检查模块,用于根据总线数据和对应总线集合的事件信号进行逻辑验证。
2.根据权利要求1所述的验证系统,其特征在于,总线集合定义为数据总线时,对应的总线协议监视模块中包括采样数据通道模块,用于总线数据的传输,芯片行为级功能检查模块中包括数据存储模块,用于存储总线数据。
3.根据权利要求1所述的验证系统,其特征在于,芯片行为级功能检查模块具体包括总线数据存储模块,用于存储总线数据;芯片行为级功能参考模块,用于根据总线集合的事件信号选择参考模型,并利用参考模型产生参考输出;数据比较器,用于根据总线数据和/或事件信号与参考输出进行比较,对DUT进行验证。
4.根据权利要求1所述的验证系统,其特征在于,验证采样时钟及复位模块产生的时钟采样信号与对应总线集合的时钟同步。
5.根据权利要求1所述的验证系统,其特征在于,对应于总线集合的总线功能模型模块还用于接收DUT的对应总线集合的信号,实现与DUT的交互。
6.根据权利要求1所述的验证系统,其特征在于,测试激励驱动模块具体用于根据总线集合事件信号和测试激励约束条件产生对应于总线集合的测试激励数据。
7.一种验证系统的创建方法,验证系统用于对包括总线集合和时钟复位管脚的DUT进行逻辑验证,其特征在于,包括步骤1,将DUT管脚划分为总线集合,并对DUT的管脚进行标注;步骤2,分析各总线集合的管脚标注后获取各总线集合的管脚信息及对应的时钟信息、复位信息;步骤3,根据总线集合的管脚信息及对应的时钟信息、复位信息创建芯片管脚驱动模块、验证采样时钟及复位模块、芯片行为级功能检查模块、总线集合对应的功能模型模块、总线集合对应的总线协议监视模块和总线协议监视模块;步骤4,根据权利要求1所述连接关系建立各模块之间的连接关系。
8.根据权利要求7所述的验证系统的创建方法,其特征在于,步骤1中对DUT的管脚进行标注具体包括标注时钟管脚;标注复位管脚;定义总线并标注总线采样信号。
9.根据权利要求8所述的验证系统的创建方法,其特征在于,对于数据总线,对DUT的管脚进行标注还需标注地址信号和数据信号。
10.根据权利要求8或9所述的验证系统的创建方法,其特征在于,步骤2具体包括步骤21,分析管脚标注,获取该DUT的时钟管脚信息及复位管脚信息;步骤22,建立一个空的总线列表;步骤23,分析管脚标注,在总线列表中添加进对应总线集合的定义。
11.根据权利要求10所述的验证系统的创建方法,其特征在于,该总线集合的定义包括总线集合的管脚名称、信号宽度、地址管脚信息、数据管脚信息、预定义的总线监视单元、预定义的总线功能模型单元及采样信号和复位信号。
12.根据权利要求11所述的验证系统的创建方法,其特征在于,步骤3具体包括步骤31,根据各总线的管脚信息创建芯片管脚驱动模块;步骤32,根据时钟管脚信息及复位管脚信息获取DUT的时钟信号及复位信号,创建验证采样时钟及复位模块;步骤33,创建各总线集合对应的功能模型模块和总线协议监视模块;步骤34,创建芯片行为级功能检查模块;步骤35,创建测试激励驱动模块。
13.根据权利要求12所述的验证系统的创建方法,其特征在于,对于定义为数据总线的总线集合,步骤33中,在芯片行为级功能检查模块中需设置存储总线数据的存储器,步骤34中,在该总线集合对应的总线协议监视模块中设置与存储器的数据通道。
14.利用权利要求7所述方法创建的验证系统对DUT进行验证的方法,该DUT包括总线集合和时钟复位管脚,其特征在于,包括如下步骤步骤S1,测试激励驱动模块产生测试激励数据;步骤S2,对应于总线集合的总线功能模型模块实现测试激励数据到对应总线集合时序的转换;步骤S3,芯片管脚驱动单元,利用转换后的测试激励数据驱动DUT;步骤S4,芯片管脚驱动单元获取总线集合的总线监视信号和时钟复位管脚的管脚信息;步骤S5,验证采样时钟及复位模块根据时钟复位管脚的管脚信息产生时钟采样信号和验证复位信号;步骤S6,对应于总线集合的总线协议监视模块根据总线监视信号完成交互协议的检查,同时获取总线数据和对应总线集合的事件信号;步骤S7,芯片行为级功能检查模块根据总线数据和对应总线集合的事件信号进行逻辑验证。
15.根据权利要求14所述的方法,其特征在于,步骤S7具体包括如下步骤总线数据存储模块存储总线数据;芯片行为级功能参考模块根据总线集合的事件信号选择参考模型,并利用参考模型产生参考输出;数据比较器根据总线数据和/或事件信号与参考输出进行比较,对DUT进行验证。
16.根据权利要求14所述的方法,其特征在于,验证采样时钟及复位模块产生的时钟采样信号与对应总线集合的时钟同步。
17.根据权利要求14所述的方法,其特征在于,步骤S1与步骤S2之间还包括对应于总线集合的总线功能模型模块接收DUT的对应总线集合的信号,实现与DUT的交互。
全文摘要
本发明公开了一种验证系统、验证系统的创建方法及验证方法,其中验证系统,包括测试激励驱动模块,还包括对应于总线集合的总线功能模型模块,用于实现测试激励数据到总线集合时序的转换;芯片管脚驱动单元,用于获取总线集合的总线监视信号和时钟复位管脚的管脚信息,并利用转换后的测试激励数据驱动DUT;验证采样时钟及复位模块,用于产生时钟采样信号和验证复位信号;对应于总线集合的总线协议监视模块,用于完成交互协议的检查,同时获取总线数据和对应总线集合的事件信号;芯片行为级功能检查模块,用于进行逻辑验证。本发明减少了验证系统生成的工作量,有利于由模块级验证到整芯片级验证的系统的整合。
文档编号G01R31/317GK1858611SQ20061008264
公开日2006年11月8日 申请日期2006年5月19日 优先权日2006年5月19日
发明者刘昕 申请人:北京天碁科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1