[发明专利]一种生成Soc随机验证平台的方法在审
申请号: | 201410788503.X | 申请日: | 2014-12-17 |
公开(公告)号: | CN104536885A | 公开(公告)日: | 2015-04-22 |
发明(设计)人: | 陈明园;余桉;汤晓东 | 申请(专利权)人: | 记忆科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广东广和律师事务所 44298 | 代理人: | 董红海 |
地址: | 518057 广东省深圳市南山区蛇口后海大道东角头厂房D*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 soc 随机 验证 平台 方法 | ||
技术领域
本发明涉及芯片的验证,特别是涉及一种生成SoC随机验证平台的方法。
背景技术
SoC芯片验证是对SoC芯片进行全面的功能验证,以保障SoC芯片的正确工作。随着集成电路产业的飞速发展,SoC芯片规模越来越大,设计也越来越复杂,使得SoC验证也越来越困难。图1是传统的验证平台系统示意框图,主要包括激励产生模块,待验证SoC芯片,结果比对模块。每个验证场景几乎都需要一个独立的激励产生模块产生激励,因此验证场景越多,激励产生模块也就越多,工作量越大,代码维护也更困难。以使用C语言编写激励产生模块为例,每种场景几乎都需要一个C文件编写的激励产生模块,在需要验证该场景时,使用C编译器编译该C文件,生成可执行文件,提供给相应的处理器进行处理操作。然后启动验证平台,SoC芯片内处理器将会载入这个文件,并且按照文件中激励要求产生相应的响应,完成功能的验证。即便两种场景不同的变量只有一个,例如某个寄存器的值,都需要编写多份的C文件进行全面覆盖。这样的实现方式,存在很多的冗余工作。由于验证场景有很多,验证人员需要编写大量的C文件类型的test-case。这样不但会给验证人员带来大量的繁复劳动,而且对后期test-case的维护也相当不利。
发明内容
针对以上缺陷,本发明目的在于提出如何可提高测试代码复用性,减少SoC芯片验证测试用例的编写工作,同时提高代码的可维护性。
为了实现上述目的,本发明提供了一种生成Soc随机验证平台的方法,其特征在于,根据各种验证场景编写独立的激励产生模块;提取各个激励产生模块需验证的可变参数为变量,所述变量通过随机变量文件设定;所述随机变量文件由随机产生模块自动生成,激励产生模块依据随机变量文件设定的变量生成对应最终的Soc验证的可执行文件。
所述的生成Soc随机验证平台的方法,其特征在于所述随机产生模块的随机种子是可变的,相同的随机种子生成的随机变量文件相同。
所述的生成Soc随机验证平台的方法,其特征在于所述的激励产生模块可预先编译生成可执行文件。
本发明在传统Soc验证技术上增加了随机产生模块,利用随机产生模块的随机性,将传统激励产生模块中的变量抽取出来,由随机产生模块产生,使得激励产生模块变得很简单。甚至使用一个随机产生模块和一个激励产生模块就能完成所有场景的验证。激励产生模块可以得到最大程度的复用,大大减少了测试用例代码的开发工作量,同时,代码维护起来也非常方便。
附图说明
图1是传统的验证平台系统示意框图;
图2是增加随机产生模块后的验证平台系统示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是增加随机产生模块后的验证平台系统示意框图,相比传统的验证方法,增加了一个随机产生模块。以使用C语言编写激励产生模块为例,也可以是采用其它编程语言来实现,使用该随机产生模块后,验证人员不用在C代码的激励产生模块中直接将变量固定为一个值,可以将所有的变量从该C代码提取出来,由随机产生模块提供。
首先由随机产生模块随机产生各个变量的值,可以在随机产生模块中对这些随机变量进行相应的约束,以便随机成符合规定的变量。
然后将这些变量值转换为C语言能够识别的语句,并放入到一个或多个文件中,同时在C代码中使用include的方式将这些含有变量的文件包含,或者通过文件读取的方式读取相应变量的值。通过这种方式实现后,每次只需要运行一次随机产生模块,就产生一组随机变量配置,将这些配置输出到一个或多个固定名字的文件中,再在C激励产生模块中使用include的方式将这些文件导入或直接读取的方式读取。所以C激励产生模块本身不需要进行任何改动。
在验证SoC芯片的时候,只需要编译一次SoC设计代码,然后多次验证的时候,只需要使用一次随机产生模块,然后编译一下C文件即可,非常方便使用。
为了能够实现验证场景的复现,以便发现bug的时候可以查看,还需要对随机产生模块进行改进,例如使用随机种子的方式,使得随机产生模块在同一个随机种子的作用下,每次产生的随机变量都不会改变,而只有改变随机种子,才会产生出不同的随机变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于记忆科技(深圳)有限公司;,未经记忆科技(深圳)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410788503.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:C程序并行区域的检测方法
- 下一篇:硬盘参数获取方法