一种激励产生方法及装置的制作方法

文档序号:6425439阅读:163来源:国知局
专利名称:一种激励产生方法及装置的制作方法
技术领域
本申请涉及集成电路验证领域,特别是涉及一种激励产生方法及装置。
背景技术
在IC仿真验证过程中,需要为DUT (待测试的对象)提供完备的激励,需要一种可读性高,高抽象层次的,支持随机、自动化的激励描述与产生机制。现有的一般采用传统的硬件描述语言,如VERILOG VHDL,对DUT进行仿真验证,在使用传统硬件描述语言进行高抽象层次的激励描述时,由于硬件描述序言 缺乏丰富的随机机制,造成描述语句用于,不易理解;从而导致验证效率不高,验证的灵活度低。

发明内容
为解决上述技术问题,本申请实施例提供一种可读性高、高效率、高灵活度的激励产生方法及装置。技术方案如下一种激励产生方法,包括接收携带有测试用例命令的命令文件;对所述测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令;依据所述文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。上述的方法,优选的,所述对测试用例命令进行翻译包括读取所述命令文件中的测试用例命令;解析所述测试用例命令获取所述测试用例命令中的目标地址范围;依据所述目标地址范围生成与其相适应的操作数;解析所述操作数的操作类型并生成与所述操作类型相对应的命令序列;将所述命令序列转换为文本格式的命令。上述的方法,优选的,还包括接收所述待测试对象依据所述事务输出的功能部件,对所述功能部件进行分析获得所述待测试对象的输出数据。上述的方法,优选的,所述携带有测试用例命令的命令文件基于python语言编与;所述测试用例命令包含目标、操作和数据。一种激励产生装置,包括接收器,用于接收携带有测试用例命令的命令文件;翻译器,用于对所述接收器接收的命令文件中的测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令;事务级参考模块,用于依据所述翻译器翻译的文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。上述的装置,优选的,所述翻译器包括读取单元,用于读取所述接收器接收的命令文件中的测试用例命令;第一解析单元,用于解析所述读取单元读取的测试用例命令,获取所述测试命令中的目标地址范围;生成单元,用于依据所述第一解析单元获取的目标地址范围生成与所述目标地址范围相适应的操作数;第二解析单元,用于解析所述生成单元生成的操作数的操作类型,并生成与所述操作类型相对应的命令序列;转换单元,用于将所述命令序列转换为文本格式的命令。 上述的装置,优选的,还包括监视器,用于接收所述待测试对象依据所述事务级参考模块产生的事务输出的功能部件;并对所述功能部件进行解析获得所述待测试对象的输出数据。上述的装置,优选的,所述接收器接收的携带有测试用例命令的命令文件基于python语言编写。由以上本申请实施例提供的技术方案可见,本发明提供的激励产生方法及装置,接收携带有测试用例命令的命令文件,对所述测试用例命令进行翻译,将所述测试用例命令翻译为易被解析的文本命令,依据所述文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给待测试对象,完成对所述待测试对象的激励。本申请实施例提供的激励产生方法及装置,在激励产生过程中,应用python语言编写较为复杂的命令文件,通过翻译器将所述复杂的命令文件翻译为精简的文本命令文件。本申请实施例提供的激励产生方法中,接收应用python语言编写的命令文件,基于python语言编写的命令文件,渐近于自然语言,其可读性好、容易理解,并且有助于复用和维护;经过翻译的文本命令文件适合与任何语言的验证环境相配合,便于移植。本申请实施例提供的激励产生方法相对于传统的硬件语言产生激励,增加了翻译过程,提供了高抽象层次的事务级激励编写机制,提高了生产效率,验证效率,灵活度高。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本申请实施例提供的一种激励产生方法实施例一的方法流程图;图2为本申请实施例提供的一种激励产生方法实施例二的方法流程图;图3为本申请实施例提供的一种激励产生方法实施例三的方法流程图;图4为本申请实施例提供的一种激励产生装置实施例一的结构示意图;图5为本申请实施例提供的一种激励产生装置实施例二的结构示意图;图6为本申请实施例提供的一种激励产生装置实施例三的结构示意图7为本申请实施例提供的激励产生过程中验证环境样例示意图。
具体实施例方式为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。实施例一本申请实施例提供的一种激励产生方法的方法流程图如图I所示,包括步骤SlOl :接收携带有测试用例命令的命令文件;
本申请实施例提供的激励产生方法中,在仿真验证环境下,基于python语言编写测试用例,即包含有测试用例命令的命令文件;所述命令文件是一种自定义的文本格式文件,包含多条用来激励待测试对象的命令,每条命令都包含指令、地址、数据等;对于应用python语言编写的命令文件,可以支持所有python语言的语法,包括数据格式类型;随机机制;流程控制语句如循环,条件分支等;命令文件中包含目标,操作,数据〈可选 > 等部分目标是具备相同属性的一类或一个芯片可控制单元;包括同一页面内所有的寄存器,所有页面中同一类型的寄存器,缓存/存储器中的内容块;操作是针对目标的,包含如write_all,写所有;Read_all,读所有;Possible_write,不固定的写等;数据可以是直接的常数,也可以是一个约束集合,约束语言遵从python语言的约束语法;步骤S102 :对所述测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令;接收到所述携带有测试用例命令的命令文件后,对所述命令文件中的测试用例命令进行翻译,将初始编写的复杂测试用例命令精简为简单的文本命令;文本命令的文件命令格式分三列Unit—Operater address<data>其中Unit—Operater包括 read,write 等原子操作。步骤S103 :依据所述文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象;本申请实施例提供的激励产生方法中,引擎芯片即待测试对象中,包含7个页面,每个页面含有相同的一组寄存器,其中包含一个XXX寄存器;对所述XXX寄存器进行写操作即XXX(data). write_all ;翻译过程由python语言实现,负责翻译命令文件;测试用例命令翻译为文本命令如下Write address—xxx—page—I data
Write address—xxx—page—2 dataWrite address—xxx—page—3 dataWrite address—xxx—page—4 dataWrite address—xxx—page—5 dataWrite address—xxx—page—6 dataWrite address—xxx—page—7 dataaddress_xxx_page_n是该寄存器xxx的逻辑地址,后缀n表示数据所写入的页面,data为写入该页面的实际数据;所述文本命令的解析过程简单,适合与任何语言的验证环境配合,依据所述文本 命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象,完成对所述待测试对象的激励。实施例二在实施例一的基础上,本申请实施例对于所述测试用例命令翻译为文本命令的过程进行详细阐述,其翻译过程流程图如图2所示,包括步骤S201 :读取所述命令文件中的测试用例命令;首先读入python格式的命令文件中的命令;步骤S202 :解析所述测试用例命令获取所述测试用例命令中的目标地址范围;步骤S203 :依据所述目标地址范围生成与其相适应的操作数;生成在所述目标地址范围内合理的操作数;步骤S204 :解析所述操作数的操作类型并生成与所述操作类型相对应的命令序列;步骤S205 :将所述命令序列转换为文本格式的命令。实施例二的翻译过程,依据实际芯片即待测试对象的设计需求,选择目标、操作集合,应用相应的类函数实现翻译过程。实施例三在实施例一的基础上,本申请实施例提供的激励产生方法还包括一些后续步骤如图3所示,步骤SlOl 步骤S103如实施例一中所述,此处不再赘述;步骤S104 :接收所述待测试对象依据所述事务输出的功能部件;步骤S105 :对所述功能部件进行分析获得所述待测试对象的输出数据。对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。针对以上方法实施例,本申请实施例还提供了一种激励产生装置,其结构示意图如图4所示,包括接收器301,用于接收携带有测试用例命令的命令文件;翻译器302,用于对所述接收器301接收的命令文件中的测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令;事务级参考模块303,用于依据所述翻译器302翻译的文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。事务级参考模块303可以是一个参考模型,本申请实施例提供的参考模型采用C语言程序编写实现以驱动所述硬件事务级参考模块;事务级参考模块每从文本文件中读入一个命令,都生成一个事务,同时将所述事务发送给总线功能模型。在图4所述激励产生装置的基础上,翻译器301的具体结构如图5所示,包括读取单元304,用于读取所述接收器301接收的命令文件中的测试用例命令;第一解析单元305,用于解析所述读取单元304读取的测试用例命令,获取所述测试命令中的目标地址范围;生成单元306,用于依据所述第一解析单元305获取的目标地址范围生成与所述目标地址范围相适应的操作数;第二解析单元307,用于解析所述生成单元306生成的操作数的操作类型,并生成 与所述操作类型相对应的命令序列;转换单元308,用于将所述命令序列转换为文本格式的命令。本申请实施例提供的激励产生装置中还包括监视器309,其结构示意图如图6所示,监视器309,用于接收所述待测试对象依据所述事务级参考模块303产生的事务输出的功能部件;并对所述功能部件进行解析获得所述待测试对象的输出数据。对于系统实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。综合上述激励产生方法及装置,本申请实施例提供的验证环境样例示意图如图7所示,翻译器将编写的复杂命令文件翻译为精简命令文件,通过C程序驱动的事务级参考模型产生事务;总线功能模型接收事务级输入,并按芯片的时序要求发送至DUT (待测试对象);监视器接收DUT输出的功能部件,分析出有效数据,传送给比较检查器。在图7中,翻译器将复杂命令文件翻译为精简命令文件,及事务级参考模型接收精简命令文件的过程属于逻辑处理过程,处理的过程包含事务级数据流的处理;剩余的其它过程为数据处理过程。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
权利要求
1.一种激励产生方法,其特征在于,包括 接收携带有测试用例命令的命令文件; 对所述测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令; 依据所述文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。
2.根据权利要求I所述的方法,其特征在于,所述对测试用例命令进行翻译包括 读取所述命令文件中的测试用例命令; 解析所述测试用例命令获取所述测试用例命令中的目标地址范围; 依据所述目标地址范围生成与其相适应的操作数; 解析所述操作数的操作类型并生成与所述操作类型相对应的命令序列; 将所述命令序列转换为文本格式的命令。
3.根据权利要求I所述的方法,其特征在于,还包括 接收所述待测试对象依据所述事务输出的功能部件, 对所述功能部件进行分析获得所述待测试对象的输出数据。
4.根据权利要求I所述的方法,其特征在于,所述携带有测试用例命令的命令文件基于python语言编写; 所述测试用例命令包含目标、操作和数据。
5.一种激励产生装置,其特征在于,包括 接收器,用于接收携带有测试用例命令的命令文件; 翻译器,用于对所述接收器接收的命令文件中的测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令; 事务级参考模块,用于依据所述翻译器翻译的文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。
6.根据权利要求5所述的装置,其特征在于,所述翻译器包括 读取单元,用于读取所述接收器接收的命令文件中的测试用例命令; 第一解析单元,用于解析所述读取单元读取的测试用例命令,获取所述测试命令中的目标地址范围; 生成单元,用于依据所述第一解析单元获取的目标地址范围生成与所述目标地址范围相适应的操作数; 第二解析单元,用于解析所述生成单元生成的操作数的操作类型,并生成与所述操作类型相对应的命令序列; 转换单元,用于将所述命令序列转换为文本格式的命令。
7.根据权利要求5所述的装置,其特征在于,还包括 监视器,用于接收所述待测试对象依据所述事务级参考模块产生的事务输出的功能部件;并对所述功能部件进行解析获得所述待测试对象的输出数据。
8.根据权利要求5所述的装置,其特征在于,所述接收器接收的携带有测试用例命令的命令文件基于python语目编写。
全文摘要
本申请公开了一种激励产生方法,包括接收携带有测试用例命令的命令文件;对所述测试用例命令进行翻译,生成与所述测试用例命令相对应的文本命令;依据所述文本命令产生事务,并将所述事务按照待测试对象的时序要求发送给所述待测试对象。本申请实施例提供的激励产生方法,在激励产生过程中,应用python语言编写较为复杂的命令文件,通过翻译器将所述复杂的命令文件翻译为精简的文本命令文件;经过翻译的文本命令文件适合与任何语言的验证环境相配合,便于移植;本申请实施例提供的激励产生方法相对于传统的硬件语言产生激励,增加了翻译过程,提供了高抽象层次的事务级激励编写机制,提高了生产效率,验证效率,灵活度高。
文档编号G06F17/50GK102810123SQ20111014744
公开日2012年12月5日 申请日期2011年6月2日 优先权日2011年6月2日
发明者张小平, 张建杰, 熊冰, 温芝权 申请人:苏州雄立科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1