1.本发明涉及电子设计自动化领域,尤其涉及一种芯片验证方法及装置、电子设备、存储介质。
背景技术:2.在集成电路技术领域,芯片在交付代工厂制造之前,通常要经过一系列的验证,以保证制造出的芯片能够满足设计要求。随着集成电路技术得快速发展,芯片得设计方案变得越来越复杂,相应的对芯片验证方案得要求也越来越高。尤其对于soc(system-on-chip,片上系统)系统级验证来说,对其仿真速度的要求也越来越高。
3.就现有的soc级验证环境而言,一般采用systemverilog+system c语言来搭建验证环境,即验证环境的各基础组件采用systemverilog语言编写,而初始化序列以及测试用例序列采用system c语言编写,各基础组件通过dpi(direct programming interface,直接编程接口)调用的方式来分别调用初始化序列以及测试用例序列。这样更改初始化序列或者测试用例后只需要重新生成相应的动态链接库,然后重新进行仿真即可。避免了更改systemverilog组件需要重新编译的过程,从而节省了几个小时的时间。
4.但随着soc系统变得越来越庞大,即使节省了编译时间,但初始化序列的时间和执行测试用例序列的时间仍然长达几个小时甚至几十个小时,因此,soc系统的验证效率仍然有待进一步提高。
技术实现要素:5.有鉴于此,本发明实施例提供一种芯片验证方法及装置、电子设备、计算机可读存储介质,能够有效提高芯片验证效率。
6.第一方面,本发明的实施例提供一种芯片验证方法,包括:监测对被验证芯片的验证操作的操作进度,所述验证操作包括以下至少一项:验证环境初始化操作、测试用例仿真操作;根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态;根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。
7.可选的,所述监测对被验证芯片的验证操作的操作进度包括:通过监测调用测试用例的预设函数,监测所述验证操作的操作进度;所述根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态包括:当监测到所述预设函数调用测试用例时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
8.可选的,所述监测对被验证芯片的验证操作的操作进度包括:加载所述验证操作对应的已编译文件,所述已编译文件包括至少两个已编译子文件,各所述已编译子文件根据仿真时间的先后划分;通过监测各所述已编译子文件是否已被执行,监测所述验证操作的操作进度。
9.可选的,所述根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态包括:当监测到预设已编译子文件执行结束或即将开始执行时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
10.可选的,所述预设已编译子文件的数量为一个或多个,所述检查点的数量与所述预设已编译子文件的数量相对应。
11.可选的,所述根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态包括:根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的至少两个时间点设置检查点,并记录所述检查点对应的电路仿真状态;所述根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作包括:根据所述仿真指令,从所述至少两个时间点对应的检查点中,选择一个目标检查点;从所述目标检查点开始,基于所述目标检查点对应的电路仿真状态重新对所述被验证芯片进行验证操作。
12.第二方面,本发明的实施例还提供一种芯片验证装置,包括:监测单元,用于监测对被验证芯片的验证操作的操作进度,所述验证操作包括以下至少一项:验证环境初始化操作、测试用例仿真操作;设置单元,用于根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态;重验证单元,用于根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。
13.可选的,所述监测单元,具体用于通过监测调用测试用例的预设函数,监测所述验证操作的操作进度;所述设置单元,具体用于当监测到所述预设函数调用测试用例时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
14.可选的,所述监测单元包括:加载模块,用于加载所述验证操作对应的已编译文件,所述已编译文件包括至少两个已编译子文件,各所述已编译子文件根据仿真时间的先后划分;监测模块,用于通过监测各所述已编译子文件是否已被执行,监测所述验证操作的操作进度。
15.可选的,所述设置单元,具体用于当监测到预设已编译子文件执行结束或即将开始执行时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
16.可选的,所述预设已编译子文件的数量为一个或多个,所述检查点的数量与所述预设已编译子文件的数量相对应。
17.可选的,所述设置单元,具体用于根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的至少两个时间点设置检查点,并记录所述检查点对应的电路仿真状态;所述重验证单元包括:选择模块,用于根据所述仿真指令,从所述至少两个时间点对应的检查点中,选择一个目标检查点;重验证模块,用于从所述目标检查点开始,基于所述目标检查点对应的电路仿真状态重新对所述被验证芯片进行验证操作。
18.第三方面,本发明的实施例还提供一种电子设备,包括:壳体、至少一个处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;所述至少一个处理器通过读取存储器中存储的可执行程序代码来运行与可执
行程序代码对应的程序,用于执行本发明的实施例提供的任一种芯片验证方法。
19.第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种芯片验证方法。
20.本发明的实施例提供的芯片验证方法及装置、电子设备、计算机可读存储介质,能够监测对被验证芯片的验证操作的操作进度,根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态,根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。由于验证操作可以包括验证环境初始化操作和/或测试用例仿真操作,在验证操作开始后至结束前的预设时间点设置检查点后,就可以在迭代验证过程中,从该检查点开始重新对被验证芯片进行验证操作,而无需每次都从最初的验证环境初始化重新开始,也即是说,在迭代验证过程中,检查点之前的验证操作无需重复执行,因而能够有效提高验证效率。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
22.图1为本发明的实施例提供的芯片验证方法的一种流程图;
23.图2为本发明的实施例提供的芯片验证方法的一种详细流程图;
24.图3为本发明的实施例提供的芯片验证装置的一种结构示意图;
25.图4为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
26.下面结合附图对本发明实施例进行详细描述。
27.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
28.为使本领域技术人员更好地理解本发明的实施例的技术构思、实施方案和有益技术效果,以下通过具体实施例进行详细说明。
29.第一方面,本发明的实施例提供一种芯片验证方法,能够有效提高芯片验证效率。
30.如图1所示,本发明的实施例提供的芯片验证方法,该方法可以包括:
31.s11、监测对被验证芯片的验证操作的操作进度,所述验证操作包括以下至少一项:验证环境初始化操作、测试用例仿真操作;
32.芯片的验证可以经历多个操作流程,本发明的实施例中,为了提高芯片验证效率,可以对其中一些操作进度进行监测,以便后续步骤中根据需要设置对应的检查点。这里,操作进度可以指操作的进展程度。具体而言,本发明的实施例中,被监测的验证操作可以包括验证环境初始化操作和/或测试用例仿真操作。具体实施中,可以通过芯片验证工具所支持
的脚本语言,例如tcl(tool command language,工具命令语言)脚本语言,实现对上述操作进度的监测。
33.芯片验证过程中,各种验证操作具有严格的执行顺序,例如验证环境初始化操作可以在验证操作的pre-main(主函数前)阶段执行,测试用例仿真操作可以在验证操作的main(主函数)阶段执行,其中pre-main阶段先于main阶段执行。具体的,在被监测的验证操作中,验证环境初始化操作例如可以包括对验证环境中的各寄存器赋默认值。在验证环境初始化操作结束后,可以进行测试用例仿真操作。在测试用例仿真操作中,可以加载测试用例中提供的各种信号,并检测被验证芯片对这些信号的各种响应。由于芯片规模庞大,无论是验证环境初始化操作还是测试用例仿真操作,都不是一蹴而就的,都需要花费相当长的一段时间。本发明的实施例提供的芯片验证方法通过对验证操作的操作进程进行监测,就可以获知每个验证操作的进展程度,以便进行进一步操作。
34.可选的,本发明的实施例中,在对验证操作进行监测时,既可以仅监测验证环境初始化操作,也可以仅监测测试用例仿真操作,还可以监测从验证环境初始化操作到测试用例仿真操作的整个过程。
35.s12、根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态;
36.步骤s11中获知了验证操作的操作进度后,本步骤中,可以在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态。可以理解的,验证操作从开始执行到执行结束一般会经历较长时间,本步骤中,可以根据需要,在这一时间段内的任意一个或多个时间点设置对应的检查点。每设置一个检查点,就可以记录下在该检查点对应的时间点上,被验证芯片对应的电路仿真状态,例如,可以记录下该时间点上电路中各个寄存器的状态等。根据具体监测的验证操作的不同,检查点的设置位置也可以相应不同,既可以设置于验证环境初始化操作中,也可以设置在测试用例仿真操作中,还可以在验证环境初始化操作和测试用例仿真操作中均设置检查点。
37.s13、根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。
38.在芯片验证过程中,使用测试用例对电路仿真可能会出现各种原因的验证不通过或验证出错的情况,为此,可以对电路或测试用例进行相应的调整后,重新进行仿真,也即是说,芯片验证中的仿真操作常常是迭代进行的。本发明的实施例中,由于对验证操作中设置了检查点并记录了检查点对应的电路仿真状态,因此在迭代过程中,就无需每次迭代都从最初的验证环境初始化开始执行,而只需要从设置的检查点开始,基于对应的电路仿真状态执行即可,从而能够有效减少迭代中重复执行的验证操作。
39.本发明的实施例提供的芯片验证方法,能够监测对被验证芯片的验证操作的操作进度,根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态,根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。由于验证操作可以包括验证环境初始化操作和/或测试用例仿真操作,在验证操作开始后至结束前的预设时间点设置检查点后,就可以在迭代验证过程中,从该检查点开始重新对被验证芯片进行验证操作,而无需每次都从最初的验证环境初始化重新开始,也即是说,在迭代验证过程中,检查点之前的
验证操作无需重复执行,因而能够有效提高验证效率。
40.本发明的实施例中,尽管被监测的验证操作可以包括验证环境初始化操作和/或测试用例仿真操作,但具体到每一种操作又可以包括很多具体的操作环节,通过对验证操作操作进度的监测,可以获知当前程序运行在哪个环节,并根据需要在对应的环节设置检查点,从而对迭代验证中进行更精细的流程控制,有效提高验证效率。
41.可选的,本发明的实施例中,可以采用多方式实现验证操作的操作进度的监测。例如,在本发明的一个实施例中,步骤s11中监测对被验证芯片的验证操作的操作进度可以包括:通过监测调用测试用例的预设函数,监测所述验证操作的操作进度;基于此,步骤s12中根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态可以包括:当监测到所述预设函数调用测试用例时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。本实施例中,在进行验证操作时,无论是验证环境初始化操作还是测试用例仿真操作,都可以通过具体的函数实现。显然,初始化操作所使用的函数与测试用例仿真所使用的函数是不同的,因此,可以通过监测调用测试用例的预设函数实现对操作进度的监测。当监测到该预设函数时,即说明当前的操作进程正在从验证环境初始化操作向测试用例仿真操作过渡,验证环境初始化操作已经结束,而测试用例仿真操作刚刚启动尚未对电路产生实际效果。此时,在验证操作中设置检查点并记录所述检查点对应的电路仿真状态,也就是在验证环境初始化操作和测试用例仿真操作之间设置了检查点,并记录了初始化操作结束且测试用例仿真操作尚未生效时的电路仿真状态。这样,当后续需要进行迭代仿真时,无需重新执行验证环境初始化操作,只需从测试用例仿真操作开始执行即可,相较传统soc测试用例验证方法,在测试用例一次正常的仿真迭代过程中可以节省几个小时到几十个小时的仿真时间,极大的提高了soc级验证的效率。
42.进一步地,除了通过对预设函数的监测,实现对验证操作操作进度的监测之外,本发明的实施例提供的芯片验证方法还可以通过其他方式实现操作进度的监测。举例而言,在本发明的一个实施例中,步骤s11中监测对被验证芯片的验证操作的操作进度可以包括:加载所述验证操作对应的已编译文件,所述已编译文件包括至少两个已编译子文件,各所述已编译子文件根据仿真时间的先后划分;通过监测各所述已编译子文件是否已被执行,监测所述验证操作的操作进度。基于此,步骤s12中根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态可以包括:当监测到预设已编译子文件执行结束或即将开始执行时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
43.本发明的实施例中,验证环境的各基础组件可以采用systemverilog语言编写,初始化序列以及测试用例序列可以采用system c语言编写。初始化序列以及测试用例序列编写完成后,可以预先编译生成对应的已编译文件,例如动态链接库文件等。各基础组件可以通过dpi调用的方式来分别调用上述已编译文件,以执行对应的验证环境初始化操作和/或测试用例仿真操作。为了便于对验证操作的操作进程进行监测,本发明的一个实施例中,在对初始化序列以及测试用例序列进行编译时,可以按照仿真时间的先后,生成多个已编译子文件,多个已编译子文件组成一个已编译文件。在调用时,各已编译子文件可以按照仿真时间的先后顺序彼此衔接依次执行,从而实现对应的验证操作。在监测时,可以通过监测各
已编译子文件是否被执行,获知当前的验证操作的操作进度。
44.举例而言,在本发明的一个实施例中,初始化序列经过编译后生成init1.dll,init2.dll,init3.dll,init4.dll四个已编译子文件,测试用例序列经过编译后生成test1.dll,test2.dll,test3.dll三个已编译子文件,通过监测可知,当前init1.dll,init2.dll,init3.dll,init4.dll和test1.dll已经执行完,而test2.dll及test3.dll尚未执行,则可以获知当前验证操作的操作进度为验证环境初始化操作已经完成,测试用例仿真操作执行了一部分。如果预先指定了test1.dll是一个预设已编译子文件,则此时(test1.dll已执行结束且test2.dll及test3.dll尚未执行时)可以设置对应的检查点。后续迭代仿真时,可以直接从该检查点开始向后执行测试用例仿真操作,而该检查点之前的验证环境初始化操作和部分测试用例仿真操作则无需重复执行,从而有效提高了验证效率。
45.本实施例中,预设已编译子文件为test1.dll,但本发明的实施例不限于此,可选的,在本发明的其他实施例中,预设已编译子文件的数量可以为一个或多个,检查点的数量可以与预设已编译子文件的数量相对应,例如,如果在各已编译子文件中预先指定了n个作为预设已编译子文件,则也可以在这n个预设已编译子文件开始执行或执行结束时插入对应的检查点。
46.进一步地,已编译子文件的数量、每个已编译子文件的大小以及检查点的设置数量、设置位置等都可以根据需要进行设置和调整。例如,在本发明的一个实施例中,也可以在每个已编译子文件运行结束后都设置一个检查点,本发明的实施例对此不做限定。
47.本发明的实施例中,在步骤s12中设置了一个检查点的情况下,步骤s13可以根据用户输入到的指令,例如重运行(rerun)指令,从该检查点开始重新对被验证电路进行验证操作。而在另一些情况下,为了便于对电路进行综合验证分析,可以在验证过程中设置多个检查点,每次进行迭代仿真时,可以根据实际需要,选择不同的检查点作为目标检查点,并从该目标检查点开始重新进行迭代仿真,从而进一步提高了验证效率。
48.具体而言,在本发明的一个实施例中,步骤s12中,根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态可以包括:根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的至少两个时间点设置检查点,并记录所述检查点对应的电路仿真状态;基于此,步骤s13中根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作具体可以包括:根据所述仿真指令,从所述至少两个时间点对应的检查点中,选择一个目标检查点;从所述目标检查点开始,基于所述目标检查点对应的电路仿真状态重新对所述被验证芯片进行验证操作。
49.下面通过具体实施例对本发明的实施例提供的芯片验证方法进行详细说明。
50.如图2所示,本发明的实施例提供的芯片验证方法可以包括:
51.s201、以图形界面启动验证环境并调用预先编写好的tcl脚本。
52.s202、tcl脚本通过监测调用测试用例的预设函数,监测所述验证操作的操作进度。
53.s203、当监测到所述预设函数调用测试用例时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
54.s204、仿真出现错误,修改测试用例后重新生成测试用例的已编译文件。
55.s205、接收用户输入的rerun命令,根据所述rerun命令跳转至检查点位置,从而无需重复执行验证环境初始化操作。
56.s206、根据检查点所记录的电路仿真状态,执行对修改后的测试用例的仿真操作。
57.相应的,第二方面,本发明的实施例提供一种芯片验证装置,能够有效提高芯片验证效率。
58.如图3所示,本发明的实施例提供的芯片验证装置可以包括:
59.监测单元31,用于监测对被验证芯片的验证操作的操作进度,所述验证操作包括以下至少一项:验证环境初始化操作、测试用例仿真操作;
60.设置单元32,用于根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态;
61.重验证单元33,用于根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。
62.本发明的实施例提供的芯片验证装置,能够监测对被验证芯片的验证操作的操作进度,根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的预设时间点设置检查点,并记录所述检查点对应的电路仿真状态,根据仿真指令,从所述检查点开始,基于所述电路仿真状态重新对所述被验证芯片进行验证操作。由于验证操作可以包括验证环境初始化操作和/或测试用例仿真操作,在验证操作开始后至结束前的预设时间点设置检查点后,就可以在迭代验证过程中,从该检查点开始重新对被验证芯片进行验证操作,而无需每次都从最初的验证环境初始化重新开始,也即是说,在迭代验证过程中,检查点之前的验证操作无需重复执行,因而能够有效提高验证效率。
63.可选的,监测单元31,具体可用于通过监测调用测试用例的预设函数,监测所述验证操作的操作进度;设置单元32,具体可用于当监测到所述预设函数调用测试用例时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
64.可选的,监测单元31可包括:
65.加载模块,用于加载所述验证操作对应的已编译文件,所述已编译文件包括至少两个已编译子文件,各所述已编译子文件根据仿真时间的先后划分;
66.监测模块,用于通过监测各所述已编译子文件是否已被执行,监测所述验证操作的操作进度。
67.可选的,设置单元32,具体可用于当监测到预设已编译子文件执行结束或即将开始执行时,在所述验证操作中设置所述检查点,并记录所述检查点对应的电路仿真状态。
68.可选的,所述预设已编译子文件的数量为一个或多个,所述检查点的数量与所述预设已编译子文件的数量相对应。
69.可选的,设置单元32,具体可用于根据所述操作进度,在所述验证操作开始后至所述验证操作结束前的至少两个时间点设置检查点,并记录所述检查点对应的电路仿真状态;
70.重验证单元33可包括:
71.选择模块,用于根据所述仿真指令,从所述至少两个时间点对应的检查点中,选择一个目标检查点;
72.重验证模块,用于从所述目标检查点开始,基于所述目标检查点对应的电路仿真状态重新对所述被验证芯片进行验证操作。
73.第三方面,如图4所示,本发明的实施例还提供一种电子设备,包括:壳体100、至少一个处理器110、存储器120、电路板130和电源电路140,其中,电路板130安置在壳体100围成的空间内部,处理器110和存储器120设置在电路板130上;电源电路140,用于为上述电子设备的各个电路或器件供电;存储器120用于存储可执行程序代码;处理器110通过读取存储器120中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种的芯片验证方法。处理器110对上述步骤的具体执行过程以及处理器110通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
74.第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种的芯片验证方法。处理器对上述步骤的具体执行过程以及处理器通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
75.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
76.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
77.尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
78.为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
79.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
80.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。