代码验证系统和代码验证方法与流程

文档序号:30834338发布日期:2022-07-22 22:37阅读:266来源:国知局
代码验证系统和代码验证方法与流程

1.本技术涉及云计算技术领域,特别是涉及一种代码验证系统和代码验证方法。


背景技术:

2.virtio是一个通用的半虚拟化i/o框架,该框架主要包含三个部分:前端驱动、后端设备以及虚拟队列。随着云计算产业的高速发展,出现了一些硬件实现virtio的后端设备,如智能网卡以及数据处理单元(data processing unit,简称dpu),一款高质量的智能网卡决定了产品会立于市场的不败之地。这对验证工程师提出了很高的要求,一个高效的验证方案,可以快速收敛缺陷,保证产品的高速、高质量问世。高层次综合(high-level synthesis,简称hls)具有开发效率高等优点,因此被广泛用于智能网卡代码的开发,hls能自动把c以及c++等高级语言转换成verilog语言,对验证人员来说,需要对c语言和verilog语言两套代码进行验证。
3.现有技术中,对于c语言代码,采用hls自带的c语言验证模块c testbench对c语言代码进行验证,对于verilog语言代码,搭建基于通用验证方法学(universal verification methodology,简称uvm)的验证平台对verilog语言代码进行验证,然而这种方式,验证效率不高。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提升验证效率的代码验证系统和代码验证方法。
5.第一方面,本技术提供了一种代码验证系统,包括:系统级芯片soc模块、参考模块、对比模块、代理模块以及顶层模块,所述顶层模块包括:第一待测试模块和第二待测试模块,所述第一待测试模块采用第一语言代码生成,所述第二待测试模块采用第二语言代码生成,所述soc模块通过所述代理模块分别与所述第一待测试模块和所述第二待测试模块连接,所述参考模块和所述对比模块连接,所述对比模块通过所述代理模块分别与所述第一待测试模块和所述第二待测试模块连接,所述代理模块配置有所述第一待测试模块对应的模式以及所述第二待测试模块对应的模式;
6.当对所述第一待测试模块进行验证时,所述代理模块用于切换至所述第一待测试模块对应的模式,所述soc模块用于对所述第一待测试模块进行第一配置,所述第一待测试模块用于响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述参考模块用于生成第一参考结果,所述对比模块用于获取所述第一测试结果和所述第一参考结果,并根据所述第一测试结果和所述第一参考结果,验证所述第一待测试模块是否正常;
7.当对所述第二待测试模块进行验证时,所述代理模块用于切换至所述第二待测试模块对应的模式,所述soc模块用于对所述第二待测试模块进行第二配置,所述第二待测试模块用于响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结
果发送给所述对比模块,所述参考模块用于生成第二参考结果,所述对比模块用于获取所述第二测试结果和所述第二参考结果,并根据所述第二测试结果和所述第二参考结果,验证所述第二待测试模块是否正常。
8.在其中一个实施例中,所述代码验证系统,还包括:双向转换模块,所述双向转换模块用于将第一语言转换为第二语言,还用于将所述第二语言转换为第一语言,所述代理模块通过接口interface和所述第二待测试模块连接,所述代理模块通过所述双向转换模块和所述第一待测试模块连接。
9.在其中一个实施例中,所述顶层模块还包括:时钟模块、复位模块以及时钟模拟模块,所述第一待测试模块和所述时钟模拟模块连接,所述第二待测试模块分别与所述时钟模块和所述复位模块连接,所述时钟模块用于,在对所述第二待测试模块进行验证的过程中产生时钟信号,以使所述第二待测试模块基于所述时钟信号,生成所述第二测试结果,两个相邻时钟信号之间相隔一个时钟周期,所述复位模块用于,在对所述第二待测试模块进行验证的过程中产生复位信号,所述时钟模拟模块用于,在对所述第一待测试模块进行验证的过程中,每隔一个时钟周期调用一次所述第一语言代码,以使所述第一待测试模块生成所述第一测试结果。
10.在其中一个实施例中,所述soc模块包括能够并行运行的三个线程,所述三个线程分别用于运行控制程序、协处理程序和开放虚拟交换标准ovs处理程序,所述控制程序、所述协处理程序和所述开放虚拟交换标准ovs处理程序用于进行所述第一配置和所述第二配置。
11.在其中一个实施例中,所述代码验证系统还包括:事务级别模型端口,所述soc模块通过所述事务级别模型端口和所述代理模块连接。
12.在其中一个实施例中,所述代理模块包括:寄存器代理reg agent、直接内存存取代理dma agent、双倍速率同步动态随机存储器代理ddr agent、以太网接收口代理mac rx agent以及以太网发送口代理mac tx agent。
13.在其中一个实施例中,所述第一语言代码为c语言代码,所述第二语言代码为verilog语言代码。
14.第二方面,本技术还提供了一种代码验证方法,包括:
15.当对所述第一待测试模块进行验证时,控制所述代理模块切换至所述第一待测试模块对应的模式,控制所述第一待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第一待测试模块进行第一配置,所述第一待测试模块响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述对比模块根据所述第一测试结果和第一参考结果,验证所述第一待测试模块是否正常;
16.当对所述第二待测试模块进行验证时,控制所述代理模块切换至所述第二待测试模块对应的模式,控制所述第二待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第二待测试模块进行第二配置,所述第二待测试模块响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结果发送至所述对比模块,所述对比模块根据所述第二测试结果和第二参考结果,验证所述第二待测试模块是否正常。
17.上述代码验证系统和代码验证方法,系统包括:系统级芯片soc模块、参考模块、对比模块、代理模块以及顶层模块,所述顶层模块包括:第一待测试模块和第二待测试模块,
所述第一待测试模块采用第一语言代码生成,所述第二待测试模块采用第二语言代码生成,所述soc模块通过所述代理模块分别与所述第一待测试模块和所述第二待测试模块连接,所述参考模块和所述对比模块连接,所述对比模块通过所述代理模块分别与所述第一待测试模块和所述第二待测试模块连接。实现了使用同一个验证系统,对两种不同的代码进行验证,解决了现有技术中维护两套验证环境带来的验证效率低的问题。
附图说明
18.图1为一个实施例中代码验证系统的结构示意图;
19.图2为另一个实施例中代码验证系统的结构示意图;
20.图3为又一个实施例中代码验证系统的结构示意图;
21.图4为又一个实施例中代码验证系统的结构示意图;
22.图5为又一个实施例中代码验证系统的结构示意图;
23.图6为又一个实施例中代码验证系统的结构示意图;
24.图7为一个实施例中代码验证方法的流程示意图;
25.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
26.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.高层次综合(high-level synthesis,简称hls)具有开发效率高等优点,因此被广泛用于智能网卡代码的开发,hls能自动把c以及c++等高级语言转换成verilog语言,对验证人员来说,需要对c语言和verilog语言两套代码进行验证。在一些实施例中,对于c语言代码,采用hls自带的c语言验证模块c testbench对c语言代码进行验证,对于verilog语言代码,搭建基于通用验证方法学(universal verification methodology,简称uvm)的验证平台对verilog语言代码进行验证,然而这种方式,需要维护两套验证环境,增加验证人员难度,验证效率也不高。
28.为此,本技术实施例提出,以用于验证verilog语言代码的验证平台为基础,以c语言和verilog语言的差异为切入点,对该验证平台进行改进,使得改进后的平台能够兼容c语言和verilog语言两套代码的验证,从而解决验证人员需要维护两套验证环境的问题。下面结合具体的实施例详细说明本技术实施例的方案。
29.在一个实施例中,参见图1所示,本技术实施例提供的验证系统,包括:系统级芯片soc模块、参考模块、对比模块、代理模块以及顶层模块。
30.其中,顶层模块包括:第一待测试模块和第二待测试模块,第一待测试模块采用第一语言代码生成,第二待测试模块采用第二语言代码生成,soc模块通过代理模块分别与第一待测试模块和第二待测试模块连接,参考模块和对比模块连接,对比模块通过代理模块分别与第一待测试模块和第二待测试模块连接,代理模块配置有第一待测试模块对应的模式以及第二待测试模块对应的模式。
31.可选的,本技术实施例提供的验证系统可用于对开发人员编写的智能网卡的代码
进行验证。如上文所描述,开发人员编写的智能网卡的代码存在两个版本,c语言代码和verilog语言代码。本技术实施例中,第一语言代码可以为c语言代码,第二语言代码可以为verilog语言代码,但这仅是一种示例,不构成对本技术实施例的限制。
32.可选的,上述参考模块、对比模块和代理模块均采用verilog语言编写。
33.其中,代理模块配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,指的是代理模块配置有两种分别和第一待测试模块和第二待测试模块适配的接口,当对第一待测试模块进行验证时,代理模块将上述两种接口中第一待测试模块对应的接口打开,将第二待测试模块对应的接口关闭,使得代理模块能够和第一待测试模块进行交互。当对第二待测试模块进行验证时,代理模块将上述两种接口中第二待测试模块对应的接口打开,将第一待测试模块对应的接口关闭,使得代理模块能够和第二待测试模块进行交互。
34.基于图1所示验证系统,下面介绍对第一待测试模块进行验证时,验证系统中各个模块的作用,以及对第二待测试模块进行验证时,验证系统中各个模块的作用:
35.当对第一待测试模块进行验证时,代理模块用于切换至第一待测试模块对应的模式,soc模块用于对第一待测试模块进行第一配置,第一待测试模块用于响应于第一配置生成第一测试结果,并通过代理模块将第一测试结果发送至对比模块,参考模块用于生成第一参考结果,对比模块用于获取第一测试结果和第一参考结果,并根据第一测试结果和第一参考结果,验证第一待测试模块是否正常。
36.其中,第一配置可以包括智能网卡的规格、特性等基本配置,本技术实施例对此不作限定,第一配置完成后,代理模块可将激励分别发送至参考模块和第一待测试模块,第一待测试模块基于接收到的激励生成第一测试结果,并通过代理模块将第一测试结果发送至对比模块,参考模块基于接收到的激励生成第一参考结果,并将第一参考结果发送至对比模块,对比模块将第一测试结果和第一参考结果进行比较,若两者相同,则确定第一待测试模块正常,若两者不同,则确定第一待测试模块异常。
37.需要说明的是:上述判断第一待测试模块是否正常的方式,仅是一种示例,也可采用行业内其他判断方式,本技术实施例对此不作限定。
38.当对第二待测试模块进行验证时,代理模块用于切换至第二待测试模块对应的模式,soc模块用于对第二待测试模块进行第二配置,第二待测试模块用于响应于第二配置生成第二测试结果,并通过代理模块将第二测试结果发送给对比模块,参考模块用于生成第二参考结果,对比模块用于获取第二测试结果和第二参考结果,并根据第二测试结果和第二参考结果,验证第二待测试模块是否正常。
39.和第一待测试模块类似,第二配置可以包括智能网卡的规格、特性等基本配置,第二配置完成后,代理模块可将激励分别发送至参考模块和第二待测试模块,第二待测试模块基于接收到的激励生成第二测试结果,并通过代理模块将第二测试结果发送至对比模块,参考模块基于接收到的激励生成第二参考结果,并将第二参考结果发送至对比模块,对比模块将第二测试结果和第二参考结果进行比较,若两者相同,则确定第二待测试模块正常,若两者不同,则确定第二待测试模块异常。
40.本技术实施例提供的验证系统,代理模块配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,当对第一待测试模块进行验证时,代理模块切换至第一待测试模块对应的模式,以完成对第一待测试模块的验证;当对第二待测试模块进行验证时,代
理模块切换至第二待测试模块对应的模式,以完成对第二待测试模块的验证。实现了使用同一个验证系统,对两种不同的代码进行验证,解决了现有技术中维护两套验证环境带来的验证效率低的问题。
41.第一语言代码为c语言代码,第二语言代码为verilog语言代码,且参考模块、对比模块和代理模块均采用verilog语言编写的情况下,第一待测试模块无法和代理模块直接进行交互。为解决这一问题,在一个实施例中,参见图2所示,提出一种验证系统,还包括:双向转换模块,该双向转换模块用于将第一语言转换为第二语言,还用于将第二语言转换为第一语言,代理模块通过接口和第二待测试模块连接,代理模块通过该双向转换模块和第一待测试模块连接。
42.可选的,当对第一待测试模块进行验证时,代理模块切换至第一待测试模块对应的模式,在代理模块和第一待测试模块进行交互的过程中,双向转换模块可用于将代理模块输出的dpi函数封装为第一语言,以使第一待测试模块能够识别,双向转换模块还用于将第一待测试模块输出的c函数fifo的write和read函数封装为第二语言,以使代理模块能够识别。
43.可选的,代理模块通过接口interface和第二待测试模块进行交互的方式可参见现有的通用验证方法学(universal verification methodology,uvm)架构,本技术在此不再赘述。
44.本技术实施例提供的验证系统,增加了双向转换模块,该双向转换模块可将第一语言转换为第二语言,还可将第二语言转换为第一语言,使得第一待测试模块能够和代理模块进行交互,从而使得第一待测试模块和第二待测试模块能够在同一验证系统进行验证,解决了现有技术中维护两套验证环境带来的验证效率低的问题。
45.第一语言代码为c语言代码,第二语言代码为verilog语言代码的情况下,由于c语言和verilog语言存在差异,比如:verilog语言有时钟和复位的概念,而c语言并没有时钟和复位的概念。为了实现第一待测试模块也能在uvm架构下实现验证,本技术实施例提出,增加时钟模拟模块,具体的,在一个实施例中,参见图3所示,顶层模块还包括:时钟模块、复位模块以及时钟模拟模块,第一待测试模块和时钟模拟模块连接,第二待测试模块分别与时钟模块和复位模块连接,时钟模块用于,在对第二待测试模块进行验证的过程中产生时钟信号,以使第二待测试模块基于时钟信号,生成第二测试结果,两个相邻时钟信号之间相隔一个时钟周期,复位模块用于,在对第二待测试模块进行验证的过程中产生复位信号,时钟模拟模块用于,在对第一待测试模块进行验证的过程中,每隔一个时钟周期调用一次第一语言代码,以使第一待测试模块生成第一测试结果。
46.可选的,在对第一待测试模块进行验证的过程中,控制第一待测试模块启动后,钟模拟模块每隔一个时钟周期调用一次第一语言代码,使得第一待测试模块生成第一测试结果,第一待测试模块将第一测试结果发送给对比模块,使得对比模块对该第一测试结果进行验证。在对第二待测试模块进行验证的过程中,控制第二待测试模块启动后,时钟模块每隔一个时钟周期产生一个时钟信号,第二待测试模块接收到该时钟信号后,运行一次第二语言代码,从而得到第二测试结果,第二待测试模块将第二测试结果发送给对比模块,使得对比模块对该第二测试结果进行验证。
47.本技术实施例提供的验证系统,增加了时钟模拟模块,在对第一待测试模块进行
验证的过程中,控制第一待测试模块启动后,时钟模拟模块每隔一个时钟周期调用一次第一语言代码,实现了时钟信号的模拟,使得第一待测试模块也能在uvm架构下实现验证,解决了c语言代码和verilog语言代码验证兼容的问题。
48.在一些实施例中,soc侧的软件行为需要验证人员进行模拟,使得验证人员不仅要对齐逻辑设计需求,还要跟软件人员对齐需求,因此会花费验证人员大量时间去理解soc侧的软件行为,还需要大量的时间去实现软件代码,了解软件需求,实现软件功能,调试debug,增加验证人员工作量,效率低下。为解决该技术问题,在一个实施例中,参见图4所示,soc模块包括能够并行运行的三个线程,这三个线程分别用于运行控制程序、协处理程序和开放虚拟交换标准ovs处理程序,控制程序、协处理程序和开放虚拟交换标准ovs处理程序用于进行上述第一配置和第二配置。
49.其中,控制程序、协处理程序和开放虚拟交换标准ovs处理程序为软件人员开发的,也就是说,本技术实施例直接将软件人员开发的程序用在对第一待测试模块和第二待测试模块进行验证的过程中,无需验证人员花费大量时间去理解soc侧的软件行为,以及花费大量的时间去实现软件代码,而且将软硬件联调提前,极大的提升了验证效率和验证质量。
50.由于,soc模块需要和代理模块进行交互,而soc模块通常使用的是c语言,代理模块通常使用的是verilog语言,在这种情况下,为了实现两者的交互,本技术实施例提出,参见图5所示,验证平台还包括:事物级别模型(transaction level modeling,简称tlm)端口,soc模块通过该tlm端口和代理模块连接。soc模块下发的请求通过tlm端口传递给代理模块,代理模块将请求解析,将解析结果发送给待测试模块,若待测试模块有返回数据,代理模块又会将数据打包,打包后通过tlm端口返回给soc模块,最终实现soc模块和代理模块的数据交互。
51.本技术实施例提供的验证系统,直接将软件人员开发的程序用在对第一待测试模块和第二待测试模块进行验证的过程中,无需验证人员花费大量时间去理解soc侧的软件行为,以及花费大量的时间去实现软件代码,而且将软硬件联调提前,极大的提升了验证效率和验证质量。而且增加了tlm端口,使得soc模块和代理模块能够实现交互。
52.下面对验证系统的进一步细化设计进行说明。
53.在一个实施例中,如图6所示,验证系统还包括:验证模块,该验证模块包括:激励产生模块、激励分发模块和寄存器模块。激励产生模块和激励分发模块连接,激励分发模块分别和寄存器模块和代理模块连接,寄存器模块分别和代理模块和对比模块连接,代理模块分别和对比模块、参考模块、第一待测试模块以及第二待测试模块连接。图6中,soc模块也称为smart_nic_soc,顶层模块也称为smart_nic_tb_top,验证模块称为smart_nic_testbench。其中,激励产生模块包括:寄存器激励产生单元reg_seq、直接内存存取激励产生单元smart_nic_dma_seq以及以太网网口激励产生单元mac*_seq。激励分发模块也称为smart_nic_vsqr,寄存器模块也称为smart_nic_reg_mdl,对比模块也称为smart_nic_scb,参考模块也称为smart_nic_rm。其中,代理模块包括:寄存器代理reg agent、直接内存存取代理dma agent、双倍速率同步动态随机存储器代理ddr agent、以太网接收口代理mac rx agent以及以太网发送口代理mac tx agent。
54.其中,寄存器代理reg agent包括:寄存器数据接收单元reg sqr、寄存器数据采集
单元reg mnt以及寄存器驱动单元reg drv,寄存器驱动单元reg drv配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,寄存器数据采集单元reg mnt配置有第一待测试模块对应的模式以及第二待测试模块对应的模式(未示出)。
55.其中,直接内存存取代理dma agent包括:直接内存存取数据接收单元dma mem、直接内存存取数据采集单元dma mnt以及直接内存存取驱动单元dma drv,直接内存存取驱动dma drv单元配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,直接内存存取数据采集单元dma mnt配置有第一待测试模块对应的模式以及第二待测试模块对应的模式(未示出)。
56.其中,双倍速率同步动态随机存储器代理ddr agent包括:双倍速率同步动态随机存储器数据接收单元ddr mem、双倍速率同步动态随机存储器数据采集单元ddr mnt以及双倍速率同步动态随机存储器驱动单元ddr drv,双倍速率同步动态随机存储器驱动单元ddr drv配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,双倍速率同步动态随机存储器数据采集单元ddr mnt配置有第一待测试模块对应的模式以及第二待测试模块对应的模式(未示出)。
57.其中,以太网发送口代理mac tx agent包括:以太网发送口数据接收单元mac tx sqr、以太网发送口数据采集单元mac tx mnt以及以太网发送口驱动单元mac tx drv,以太网发送口驱动单元mac tx drv配置有第一待测试模块对应的模式以及第二待测试模块对应的模式,以太网发送口数据采集单元mac tx mnt配置有第一待测试模块对应的模式以及第二待测试模块对应的模式(未示出)。
58.其中,以太网接收口代理mac rx agent包括:以太网接收口数据采集单元mac rx mnt,以太网接收口数据采集单元mac rx mnt配置有第一待测试模块对应的模式以及第二待测试模块对应的模式。
59.当对第一待测试模块进行验证时,将代理模块中各个代理的模式切换至第一待测试模块对应的模式,即,将各个代理配置的和第一待测试模块适配的接口打开,将各个代理配置的和第二待测试模块适配的接口关闭,使得代理模块和第一待测试模块进行交互,当对第二待测试模块进行验证时,将代理模块中各个代理的模式切换至第二待测试模块对应的模式,即,将各个代理配置的和第二待测试模块适配的接口打开,将各个代理配置的和第一待测试模块适配的接口关闭,使得代理模块和第二待测试模块进行交互。
60.本技术实施例提供的验证系统,对代理模块进行了细化,基于该验证系统,可实现c语言代码和verilog语言代码两种代码的验证,提升了验证效率。
61.在一个实施例中,参见图7所示,提供一种代码验证方法,包括:
62.s701、当对所述第一待测试模块进行验证时,控制所述代理模块切换至所述第一待测试模块对应的模式,控制所述第一待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第一待测试模块进行第一配置,所述第一待测试模块响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述对比模块根据所述第一测试结果和第一参考结果,验证所述第一待测试模块是否正常。
63.其中,第一配置可以包括智能网卡的规格、特性等基本配置,第一配置完成后,代理模块可将激励分别发送至参考模块和第一待测试模块,第一待测试模块基于接收到的激励生成第一测试结果,并通过代理模块将第一测试结果发送至对比模块,参考模块基于接
收到的激励生成第一参考结果,并将第一参考结果发送至对比模块,对比模块将第一测试结果和第一参考结果进行比较,若两者相同,则确定第一待测试模块正常,若两者不同,则确定第一待测试模块异常。详细过程参见上文实施例中对验证系统的描述。在此不再赘述。
64.s702、在第一待测试模块正常时,对所述第二待测试模块进行验证,控制所述代理模块切换至所述第二待测试模块对应的模式,控制所述第二待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第二待测试模块进行第二配置,所述第二待测试模块响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结果发送至所述对比模块,所述对比模块根据所述第二测试结果和第二参考结果,验证所述第二待测试模块是否正常。
65.和第一待测试模块类似,第二配置可以包括智能网卡的规格、特性等基本配置,第二配置完成后,代理模块可将激励分别发送至参考模块和第二待测试模块,第二待测试模块基于接收到的激励生成第二测试结果,并通过代理模块将第二测试结果发送至对比模块,参考模块基于接收到的激励生成第二参考结果,并将第二参考结果发送至对比模块,对比模块将第二测试结果和第二参考结果进行比较,若两者相同,则确定第二待测试模块正常,若两者不同,则确定第二待测试模块异常。详细过程参见上文实施例中对验证系统的描述。在此不再赘述。
66.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储xx数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码验证方法。
67.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
68.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
69.当对所述第一待测试模块进行验证时,控制所述代理模块切换至所述第一待测试模块对应的模式,控制所述第一待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第一待测试模块进行第一配置,所述第一待测试模块响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述对比模块根据所述第一测试结果和第一参考结果,验证所述第一待测试模块是否正常;
70.当对所述第二待测试模块进行验证时,控制所述代理模块切换至所述第二待测试模块对应的模式,控制所述第二待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第二待测试模块进行第二配置,所述第二待测试模块响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结果发送至所述对比模块,所述对比模块根据所述第二测试结果和第二参考结果,验证所述第二待测试模块是否正常。
71.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时实现以下步骤:
72.当对所述第一待测试模块进行验证时,控制所述代理模块切换至所述第一待测试模块对应的模式,控制所述第一待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第一待测试模块进行第一配置,所述第一待测试模块响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述对比模块根据所述第一测试结果和第一参考结果,验证所述第一待测试模块是否正常;
73.当对所述第二待测试模块进行验证时,控制所述代理模块切换至所述第二待测试模块对应的模式,控制所述第二待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第二待测试模块进行第二配置,所述第二待测试模块响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结果发送至所述对比模块,所述对比模块根据所述第二测试结果和第二参考结果,验证所述第二待测试模块是否正常。
74.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
75.当对所述第一待测试模块进行验证时,控制所述代理模块切换至所述第一待测试模块对应的模式,控制所述第一待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第一待测试模块进行第一配置,所述第一待测试模块响应于所述第一配置生成第一测试结果,并通过所述代理模块将所述第一测试结果发送至所述对比模块,所述对比模块根据所述第一测试结果和第一参考结果,验证所述第一待测试模块是否正常;
76.当对所述第二待测试模块进行验证时,控制所述代理模块切换至所述第二待测试模块对应的模式,控制所述第二待测试模块运行,并控制所述soc模块启动,使得所述soc模块对所述第二待测试模块进行第二配置,所述第二待测试模块响应于所述第二配置生成第二测试结果,并通过所述代理模块将所述第二测试结果发送至所述对比模块,所述对比模块根据所述第二测试结果和第二参考结果,验证所述第二待测试模块是否正常。
77.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
78.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例
中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
79.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1