一种模拟寄存器读写的白盒验证方法、系统、设备及介质技术方案

技术编号:38903717 阅读:14 留言:0更新日期:2023-09-22 14:22
本发明专利技术提供了一种模拟寄存器读写的白盒验证方法、系统、设备与介质,所述方法包括:根据验证需求,预先构建多线程验证任务执行程序;响应于多线程验证任务执行请求,运行多线程验证任务执行程序,遍历预设环境配置文件库;解析预设环境配置文件库中的各个环境配置文件,并根据解析结果创建对应的逻辑验证线程;响应于逻辑验证线程创建成功,更新当前逻辑验证线程总数,并由逻辑验证线程执行对应待验证逻辑函数的逻辑验证得到验证结果。本发明专利技术通过软件模拟寄存器读写并依此对源代码逻辑进行验证,在无需依赖硬件设备的情况下,基于简单灵活的配置实现低成本、高效可靠的多线程逻辑验证,有效缩短验证时长和交付周期,为芯片系统性能提供可靠保障。片系统性能提供可靠保障。片系统性能提供可靠保障。

【技术实现步骤摘要】
一种模拟寄存器读写的白盒验证方法、系统、设备及介质


[0001]本专利技术涉及寄存器验证
,特别是涉及一种模拟寄存器读写的白盒验证方法、系统、计算机设备及存储介质。

技术介绍

[0002]芯片研发过程中,通常采用Emulation(仿真模拟器)和FPGA(Field Programmable Gate Array)来模拟真实的开发环境,以对代码逻辑进行有效验证。然而,这种验证方式不仅对硬件的依赖性较高、成本高,而且无法完成多种配置验证,更不能很好地完成多线程并发验证,极易出现验证资源竞争的排队情况,导致软件无法及时验证或验证不充分,进而导致交付延期或影响芯片系统性能等情况。
[0003]因此,亟需提供一种不依赖于硬件设备、配置简单灵活且高效可靠的源代码逻辑验证方法。

技术实现思路

[0004]本专利技术的目的是提供一种模拟寄存器读写的白盒验证方法,通过通过软件模拟寄存器读写并依此对源代码逻辑进行验证,解决了芯片逻辑验证方法的应用缺陷,在无需依赖硬件设备的情况下,基于简单灵活的配置实现低成本、高效可靠的多线程逻辑验证,有效缩短验证时长和交付周期,减少交付风险,为芯片系统性能提供可靠保障。
[0005]为了实现上述目的,有必要针对上述技术问题,提供一种模拟寄存器读写的白盒验证方法、系统、设备及介质。
[0006]第一方面,本专利技术实施例提供了一种模拟寄存器读写的白盒验证方法,所述方法包括以下步骤:
[0007]根据验证需求,预先构建多线程验证任务执行程序;所述多线程验证任务执行程序包括多个待验证逻辑函数;
[0008]响应于多线程验证任务执行请求,运行所述多线程验证任务执行程序,遍历预设环境配置文件库;
[0009]解析所述预设环境配置文件库中的各个环境配置文件,并根据对应的解析结果,创建对应的逻辑验证线程;
[0010]响应于所述逻辑验证线程创建成功,更新当前逻辑验证线程总数,并由所述逻辑验证线程执行对应待验证逻辑函数的逻辑验证,得到对应的验证结果。
[0011]进一步地,所述根据验证需求,预先构建多线程验证任务执行程序的步骤包括:
[0012]预先设计验证API接口,并根据所述验证API接口,构建不同的待验证源代码;
[0013]根据逻辑验证需求,选择所述待验证源代码组合得到不同的待验证逻辑函数;
[0014]将所有待验证逻辑函数和所述验证API接口集成,得到所述多线程验证任务执行程序。
[0015]进一步地,所述验证API接口包括初始化API接口、释放空间API接口、结果比较API
接口、读写地址转换API接口、模拟读寄存器API接口和模拟写寄存器API接口;
[0016]所述初始化API接口,用于分配各个逻辑验证线程运行使用的软件空间,并建立硬件寄存器地址与软件地址间的映射关系;
[0017]所述释放空间API接口,用于释放各个逻辑验证线程运行使用的软件空间;
[0018]所述结果比较API接口,用于判断各个待验证逻辑函数执行完成后的寄存器值与对应环境配置文件中寄存器地址的验证期望值是否一致;
[0019]所述读写地址转换API接口,用于将传入的硬件寄存器地址转换为软件地址或直接输出硬件寄存器地址;
[0020]所述模拟读寄存器API接口,用于模拟寄存器读取操作;
[0021]所述模拟写寄存器API接口,用于模拟寄存器写入操作。
[0022]进一步地,所述根据所述验证API接口,构建不同的待验证源代码的步骤包括:
[0023]根据预设验证宏开关,设计所述读写地址转换API接口;
[0024]根据所述读写地址转换API接口,设计所述模拟读寄存器API接口和所述模拟写寄存器API接口;
[0025]根据所述模拟读寄存器API接口和所述模拟写寄存器API接口,构建不同的待验证源代码。
[0026]进一步地,所述环境配置文件包括若干个待验证逻辑函数名称、以及分别与各个待验证逻辑函数对应的若干个待分配空间寄存器信息;所述待分配空间寄存器信息包括寄存器地址以及对应的初始值和验证期望值。
[0027]进一步地,所述根据对应的解析结果,创建对应的逻辑验证线程的步骤包括:
[0028]判断所述解析结果是否有效;
[0029]若否,则输出对应的错误日志信息,并结束当前流程;
[0030]若是,则判断当前逻辑验证线程总数是否达到预设数目,若否,则直接创建对应的逻辑验证线程,反之,则等待所述逻辑验证线程总数降至所述预设数目以下时,创建对应的逻辑验证线程。
[0031]进一步地,所述由所述逻辑验证线程执行对应的待验证逻辑函数的逻辑验证,得到对应的验证结果的步骤包括:
[0032]调用所述初始化API接口进行验证环境初始化;
[0033]响应于验证环境初始化完成,获取待加载配置数据;所述待加载配置数据包括配置文件名称、待验证逻辑函数地址指针数组以及对应的待分配空间寄存器信息地址;
[0034]遍历所述待验证逻辑函数地址指针数组,执行对应的待验证逻辑函数;
[0035]响应于各个待验证逻辑函数运行完成,根据对应的待分配空间寄存器信息地址,调用所述结果比较API接口,得到对应的验证结果,并调用所述释放空间API接口进行软件空间释放。
[0036]进一步地,所述由所述逻辑验证线程执行对应待验证逻辑函数的逻辑验证,得到对应的验证结果的步骤之后,还包括:
[0037]释放对应的逻辑验证线程,并更新当前逻辑验证线程总数。
[0038]进一步地,所述更新当前逻辑验证线程总数的步骤包括:
[0039]获取访问锁权限,并对所述当前逻辑验证线程总数进行加锁更新;
[0040]响应于所述加锁更新完成,释放所述访问锁权限。
[0041]第二方面,本专利技术实施例提供了一种模拟寄存器读写的白盒验证系统,所述系统包括:
[0042]程序构建模块,用于根据验证需求,预先构建多线程验证任务执行程序;所述多线程验证任务执行程序包括多个待验证逻辑函数;
[0043]配置加载模块,响应于多线程验证任务执行请求,运行所述多线程验证任务执行程序,遍历预设环境配置文件库;
[0044]线程创建模块,用于解析所述预设环境配置文件库中的各个环境配置文件,并根据对应的解析结果,创建对应的逻辑验证线程;
[0045]逻辑验证模块,用于响应于所述逻辑验证线程创建成功,更新当前逻辑验证线程总数,并由所述逻辑验证线程执行对应待验证逻辑函数的逻辑验证,得到对应的验证结果。
[0046]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0047]第四方面,本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟寄存器读写的白盒验证方法,其特征在于,所述方法包括以下步骤:根据验证需求,预先构建多线程验证任务执行程序;所述多线程验证任务执行程序包括多个待验证逻辑函数;响应于多线程验证任务执行请求,运行所述多线程验证任务执行程序,遍历预设环境配置文件库;解析所述预设环境配置文件库中的各个环境配置文件,并根据对应的解析结果,创建对应的逻辑验证线程;响应于所述逻辑验证线程创建成功,更新当前逻辑验证线程总数,并由所述逻辑验证线程执行对应待验证逻辑函数的逻辑验证,得到对应的验证结果。2.如权利要求1所述的模拟寄存器读写的白盒验证方法,其特征在于,所述根据验证需求,预先构建多线程验证任务执行程序的步骤包括:预先设计验证API接口,并根据所述验证API接口,构建不同的待验证源代码;根据逻辑验证需求,选择所述待验证源代码组合得到不同的待验证逻辑函数;将所有待验证逻辑函数和所述验证API接口集成,得到所述多线程验证任务执行程序。3.如权利要求2所述的模拟寄存器读写的白盒验证方法,其特征在于,所述验证API接口包括初始化API接口、释放空间API接口、结果比较API接口、读写地址转换API接口、模拟读寄存器API接口和模拟写寄存器API接口;所述初始化API接口,用于分配各个逻辑验证线程运行使用的软件空间,并建立硬件寄存器地址与软件地址间的映射关系;所述释放空间API接口,用于释放各个逻辑验证线程运行使用的软件空间;所述结果比较API接口,用于判断各个待验证逻辑函数执行完成后的寄存器值与对应环境配置文件中寄存器地址的验证期望值是否一致;所述读写地址转换API接口,用于将传入的硬件寄存器地址转换为软件地址或直接输出硬件寄存器地址;所述模拟读寄存器API接口,用于模拟寄存器读取操作;所述模拟写寄存器API接口,用于模拟寄存器写入操作。4.如权利要求3所述的模拟寄存器读写的白盒验证方法,其特征在于,所述根据所述验证API接口,构建不同的待验证源代码的步骤包括:根据预设验证宏开关,设计所述读写地址转换API接口;根据所述读写地址转换API接口,设计所述模拟读寄存器API接口和所述模拟写寄存器API接口;根据所述模拟读寄存器API接口和所述模拟写寄存器API接口,构建不同的待验证源代码。5.如权利要求4所述的模拟寄存器读写的白盒验证方法,其特征在于,所述环境配置文件包括若干个待验证逻辑函数名称、以及分别与各个待验证逻辑函数对应的若干个待分配空间寄存器信息;所述待分配空间寄存器信息包括寄存器地址以及对应的初始值和验证期望值。6.如权利要求5所述的模拟寄存器读写的白盒验...

【专利技术属性】
技术研发人员:徐星辰
申请(专利权)人:合芯科技苏州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1