一种测试用例离线验证方法、平台、设备及存储介质与流程
本发明涉及芯片与电子系统验证领域,尤其涉及一种测试用例离线验证方法、平台、设备及存储介质。
背景技术:
1、随着芯片设计规模与复杂度持续提升,c/c++高级语言测试逻辑结合systemverilog /通用验证方法学(universal verification methodology,uvm)硬件仿真的混合语言验证,已成为ip模块、子系统及片上系统寄存器/存储器访问类功能验证的主流技术路径,其验证效率直接影响芯片研发的整体周期与成本。
2、当前混合语言验证普遍采用在线仿真架构,高级语言测试用例通过直接编程接口(direct programming interface,dpi)、编程语言接口(programming languageinterface,pli)/verilog过程接口(verilog procedural interface,vpi)等跨语言互操作机制,在事件驱动仿真器中与寄存器传输级(register transfer level,rtl)模型、硬件描述语言测试平台协同运行,全流程依赖完整仿真器环境与授权许可。部分零散方案采用简单桩代码替换在线接口尝试离线运行,但仅能实现基础接口占位,未形成体系化的完整验证能力。
3、现有技术中,高级语言逻辑调试全程依赖仿真器环境,既占用许可证资源,又因仿真周期漫长拉长迭代节奏,代码缺陷需等待完整仿真才能暴露,且调试信息淹没在海量日志中,缺陷定位效率极低。同时在线与离线能力割裂,无法脱离硬件模型与仿真器单独验证高级语言逻辑,难以实现软硬件缺陷分层排查。如果采用简单桩代码替换在线接口,易引发应用程序二进制接口兼容问题,出现类布局偏移、类型转换失败等故障,桩方案难以跨项目复用。此外离线运行缺乏结构化观测机制,无法分类记录各类操作,难以与在线结果对标,各项目重复搭建桩环境,缺少通用平台化方案,工程接入与维护成本居高不下。
技术实现思路
1、本发明提供了一种测试用例离线验证方法、平台、设备及存储介质,解决了现有混合语言验证中高级语言逻辑依赖仿真器、迭代慢、缺陷难分层且离线适配易出abi兼容问题。
2、根据本发明的一方面,提供了一种测试用例离线验证方法,该方法包括:
3、获取混合语言测试用例,基于混合语言测试用例编译离线程序;
4、启动离线程序,获取外部传入的运行参数,生成离线平台接口指针;
5、通过离线平台接口指针对接混合语言测试用例进行测试,并记录测试结果;
6、根据测试结果生成离线验证结果。
7、可选的,混合语言测试用例包括高级语言测试逻辑和硬件仿真侧代码,基于混合语言测试用例编译离线程序,包括:获取离线验证工具的源码与编译规则,根据源码与编译规则配置离线桩功能模块;获取预设的抽象接口定义,并提取混合语言测试用例中的高级语言测试逻辑;将高级语言测试逻辑与离线桩功能模块进行联合编译及静态链接,生成符合抽象接口定义的离线程序。
8、可选的,方法,还包括:确定高级语言测试逻辑所依赖的仿真器专有动态库,并确定仿真器专有动态库对应的导出符号列表;基于导出符号列表生成仿真器库空壳桩文件。
9、可选的,方法,还包括:在联合编译及静态链接过程中,采用仿真器库空壳桩文件替代真实仿真器专有动态库。
10、可选的,启动离线程序,获取外部传入的运行参数,生成离线平台接口指针,包括:启动离线程序,获取外部执行环境传入的运行参数并完成参数解析;创建离线功能接口实现实例;基于解析后的运行参数,对离线功能接口实现实例内的稀疏页式内存模型和多通道日志记录器执行初始化;基于离线功能接口实现实例生成符合抽象接口定义的离线平台接口指针。
11、可选的,通过离线平台接口指针对接混合语言测试用例进行测试,并记录测试结果,包括:获取高级语言测试逻辑预先约定的统一入口函数;将离线平台接口指针注入统一入口函数,驱动执行完整的高级语言测试逻辑;测试执行过程中,由离线功能接口实现实例响应高级语言测试逻辑的接口调用,生成并记录分通道结构化日志以及内存模型状态快照,其中,分通道结构化日志包括配置通道日志、数据通道日志、内存通道日志以及离线运行总日志;将分通道结构化日志和内存模型状态快照作为测试结果。
12、可选的,根据测试结果生成离线验证结果,包括:提取测试结果中的进程退出状态码、分通道结构化日志中的错误级别记录以及内存模型状态快照;将内存模型状态快照与预设的期望状态数据进行比对,得到内存数据比对结果;结合进程退出状态、错误记录与内存数据比对结果进行综合判定,生成离线验证结果。
13、根据本发明的另一方面,提供了一种测试用例离线验证平台,包括:抽象测试平台接口层、仿真绑定接口层、离线功能接口实现层;仿真绑定接口层包括跨语言互操作符号桩;离线功能接口实现层包括稀疏页式内存模型、多通道日志记录器、离线运行入口模块、构建集成规则模块和仿真器库空壳桩模块;其中,稀疏页式内存模型用于模拟实现测试逻辑的内存访问操作;多通道日志记录器用于生成分通道结构化日志;离线运行入口模块用于离线程序启动控制与运行参数解析;构建集成规则模块用于提供离线程序的编译与链接规则;仿真器库空壳桩模块用于替代真实仿真器专有动态库参与链接。
14、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
15、至少一个处理器;
16、以及与所述至少一个处理器通信连接的存储器;
17、其中,所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的一种测试用例离线验证方法。
18、根据本发明的另一方面,提供了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的一种测试用例离线验证方法。
19、本发明实施例的技术方案,通过编译生成离线程序可解耦验证过程对仿真器许可证与完整仿真环境的依赖,严格保障接口兼容性,无需修改测试用例源码即可适配离线场景。通过启动程序并生成接口指针可完成核心功能模块的初始化配置,形成统一调用入口,确保接口调用行为与在线模式完全一致。通过对接测试并记录结果可完整执行全部高级语言测试逻辑,留存结构化分通道日志与内存状态数据。能够快速完成验证判定与缺陷定位,实现软硬件缺陷分层排查,有效提升验证调试效率。
20、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种测试用例离线验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述混合语言测试用例包括高级语言测试逻辑和硬件仿真侧代码,所述基于所述混合语言测试用例编译离线程序,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
5.根据权利要求2所述的方法,其特征在于,所述启动离线程序,获取外部传入的运行参数,生成离线平台接口指针,包括:
6.根据权利要求5所述的方法,其特征在于,所述通过所述离线平台接口指针对接混合语言测试用例进行测试,并记录测试结果,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述测试结果生成离线验证结果,包括:
8.一种测试用例离线验证平台,应用于权利要求1-7中任一项所述的方法,其特征在于,包括:抽象测试平台接口层、仿真绑定接口层、离线功能接口实现层;所述仿真绑定接口层包括跨语言互操作符号桩;所述离线功能接口实现层包括稀疏页式内存模型、多通道日志记录器、离线运行入口模块、构建集成规则模块和仿真器库空壳桩模块;
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com