[发明专利]一种基于裸机代码的自动化SoC验证方法及装置在审
申请号: | 201910372125.X | 申请日: | 2019-05-06 |
公开(公告)号: | CN110096404A | 公开(公告)日: | 2019-08-06 |
发明(设计)人: | 王耀斌;曹杰 | 申请(专利权)人: | 盛科网络(苏州)有限公司 |
主分类号: | G06F11/26 | 分类号: | G06F11/26 |
代理公司: | 南京利丰知识产权代理事务所(特殊普通合伙) 32256 | 代理人: | 王锋 |
地址: | 215000 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自动化 验证 验证结果 可用 工作量 回归 重复 | ||
本发明揭示了一种基于裸机代码的自动化SoC验证方法及装置,所述方法包括搭建基于裸机代码的自动化验证环境,在所述自动化验证环境内,自动化运行SoC验证过程。本发明搭建完环境,只需执行Python脚本就可以自动化完成SoC各个模块的验证,减少其他因素对验证结果的影响,减少重复验证的工作量,可用于回归验证,减少大量人工时间。
技术领域
本发明涉及一种SoC验证技术,尤其是涉及一种基于裸机代码的自动化SoC验证方法及装置。
背景技术
随着SoC(System on Chip,系统级芯片)集成度越来越高,验证已经变得日益重要,验证的好坏将影响芯片投片的成功率,SoC的验证工作贯穿整个设计流程,当前验证工作已经占整个设计工作70%左右,因此一个好的验证方法可以有效提高验证效率,缩短开发周期,在SoC中有着重要的意义。
仿真和软件验证是SoC设计中重要组成部分,仿真主要是IP(Internet Protocol,互联网协议)核-IP核间互连验证、系统总线协调性验证和标准规范兼容性验证等;软件验证主要用于各个模块的功能性验证和系统级验证,SoC的模块和功能不断增加,使得软件验证工作量也越来越大,在软件方面的投资已经远超于硬件投资。这会带来以下两个问题,一是由于软件验证慢而延误了产品上市的时间,二是产品出现问题后多是由于软件方面的原因。
因此在软件验证过程中,需要设计开发一种通用、自动化、便捷和可控可观测的验证方法,来提高SoC设计中的软件验证的效率。
现有的软件验证方法主要依赖于uboot(系统引导文件),在uboot中实现各个模块的复位和初始化,在uboot命令行中手动输入相关命令,例:在uboot命令行中输入“mmcinfo”命令,软件会复位和初始化eMMC(Embedd Multi Media Card),我们再依靠格式化输出的打印,人工去判断整个过程是否存在问题。
但是上述现有软件验证方法还是存在以下缺点:1、对模块的特性和功能覆盖率比较小,很难满足SoC验证的要求。2、很多模块之间互相会有影响,出现问题之后,不容易定位。3、假设uboot启动失败,很多模块验证将无法进行,对uboot整体代码过于依赖。4、验证过程中,需要人工不停地输入命令,简单重复动作太多,也容易操作失误。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于裸机代码的自动化SoC验证方法及装置。
为实现上述目的,本发明提出如下技术方案:一种基于裸机代码的自动化SoC验证方法,包括:
S1,搭建基于裸机代码的自动化验证环境;
S2,在所述自动化验证环境内,自动化运行SoC验证过程。
优选地,所述自动化验证环境包括Ubuntu PC机、SoC目标板和仿真器,其中,所述仿真器的一端连接所述Ubuntu PC机,另一端连接所述SoC目标板,所述SoC目标板与UbuntuPC机连接。
优选地,所述仿真器使用USB线连接Ubuntu PC机,使用JTAG端口连接SoC目标板,所述SoC目标板的串口接Ubuntu PC机。
优选地,所述仿真器为劳特巴赫仿真器。
优选地,所述S2包括:
S21,在Ubuntu PC机上执行Python脚本,自动化编译SoC全部或单独某个模块,每个模块生成一个可执行文件;
S22,所述仿真器自动执行仿真器脚本,并将所述可执行文件下载到SoC目标板中并运行,在运行过程中,执行模块中的验证用例;
S23,所述SoC目标板将模块验证结果传回Ubuntu PC机;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛科网络(苏州)有限公司,未经盛科网络(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910372125.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:集群系统中建立精细化模型的数据处理方法及装置
- 下一篇:控制装置及控制方法