用于对寄存器进行验证的方法及装置、电子设备、存储介质与流程

文档序号:29566351发布日期:2022-04-09 02:35阅读:338来源:国知局
用于对寄存器进行验证的方法及装置、电子设备、存储介质与流程

1.本技术涉及寄存器验证技术领域,例如涉及一种用于对寄存器进行验证的方法及装置、电子设备、存储介质。


背景技术:

2.随着集成电路规模越来越大,集成电路的各模块会设计数量较多的寄存器以实现模块相应的功能。在对集成电路进行使用前,需要对集成电路各模块的寄存器分别进行验证。现有技术中,通常由人工对照模块设计文档计算寄存器的哪些位可以进行写入和读出,从而对寄存器进行验证。在寄存器的数量较多的情况下,人工对寄存器进行验证的效率较低。


技术实现要素:

3.为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
4.本公开实施例提供了一种用于对寄存器进行验证的方法及装置、电子设备、存储介质,以提高对寄存器验证的效率。
5.在一些实施例中,用于对寄存器进行验证的方法,包括:获取寄存器对应的寄存器参数和访问权限;根据所述寄存器参数和所述访问权限生成验证激励;按照所述验证激励对所述寄存器进行验证,获得验证结果。
6.在一些实施例中,用于对寄存器进行验证的装置,包括:获取模块,被配置为获取寄存器对应的寄存器参数和访问权限;生成模块,被配置为根据所述寄存器参数和所述访问权限生成验证激励;验证模块,被配置为按照所述验证激励对所述寄存器进行验证,获得验证结果。
7.在一些实施例中,电子设备,包括处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行上述的用于对寄存器进行验证的方法。
8.在一些实施例中,存储介质,存储有程序指令,所述程序指令在运行时,执行如上述的用于对寄存器进行验证的方法。
9.本公开实施例提供的用于对寄存器进行验证的方法及装置、电子设备、存储介质,可以实现以下技术效果:通过获取寄存器对应的寄存器参数和访问权限;根据寄存器参数和访问权限生成验证激励;按照验证激励对寄存器进行验证,获得验证结果。这样,能够自动对寄存器进行验证,不需要人工对寄存器进行验证,提高了对寄存器进行验证的效率。
10.以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。
附图说明
11.一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图
并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
12.图1是本公开实施例提供的一个用于对寄存器进行验证的方法的示意图;
13.图2是本公开实施例提供的另一个用于对寄存器进行验证的方法的示意图;
14.图3是本公开实施例提供的另一个用于对寄存器进行验证的方法的示意图;
15.图4是本公开实施例提供的一个汇总表格的示意图;
16.图5是本公开实施例提供的一个用于对寄存器进行验证的装置的示意图;
17.图6是本公开实施例提供的一个电子设备的示意图。
具体实施方式
18.为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
19.本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
20.除非另有说明,术语“多个”表示两个或两个以上。
21.本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。
22.术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。
23.结合图1所示,本公开实施例提供一种用于对寄存器进行验证的方法,包括:
24.步骤s101,获取寄存器对应的寄存器参数和访问权限;
25.步骤s102,根据寄存器参数和访问权限生成验证激励;
26.步骤s103,按照验证激励对寄存器进行验证,获得验证结果。
27.采用本公开实施例提供的用于对寄存器进行验证的方法,通过获取寄存器对应的寄存器参数和访问权限;根据寄存器参数和访问权限生成验证激励;按照验证激励对寄存器进行验证,获得验证结果。这样,能够自动对寄存器进行验证,不需要人工对寄存器进行验证,提高了对寄存器进行验证的效率。
28.可选地,从模块设计文档中获取寄存器对应的寄存器参数和访问权限。
29.可选地,寄存器参数包括寄存器的偏移地址、寄存器名称、寄存器复位值、寄存器的位域、寄存器的位域的名称和寄存器的位域的读写属性等。
30.在一些实施例中,集成电路中存在若干模块,各模块分别包括若干寄存器。通常会对设计的集成电路编写模块设计文档,而模块设计文档通常有固定的设计文档模板,因此所有的模块设计文档具有统一的规范格式。通常模块设计文档会包括寄存器列表和寄存器详细说明列表。表1为寄存器列表示例表,如表1所示,寄存器名称为reg1的寄存器的偏移地址为0x00,描述为status,“读”访问权限为“u”,“写”访问权限为“e”,复位值为0x00000001,
复位域/复位信号为app_rst_n。寄存器名称为reg3的寄存器的偏移地址为0x08,描述为record,“读”访问权限为“u”,“写”访问权限为“se”,复位值为0x000000ff,复位域/复位信号为app_rst_n。寄存器名称为reg9的寄存器的偏移地址为0x2c,描述为trim,“读”访问权限为u,“写”访问权限为
“‑”
,复位值为0x00000009,复位域/复位信号为sys_rst_n。其中,u用于表征寄存器可读;e用于表征寄存器在e的情况下不可写;se用于表征寄存器在se的情况下不可写;可选地,e和se分别为不同的权限控制,可称为e保护和se保护;
“‑”
用于表征寄存器没有访问权限控制。
[0031][0032]
表1
[0033]
表2为寄存器名称为reg1的寄存器详细说明列表示例表,如表2所示,reg1的位域为12对应的位域名称为msk1.1,读写属性为r,功能描述为control2。reg1的位域为8对应的位域名称为msk1.6,读写属性为r,功能描述为control6。其中,r用于表征位域的读写属性为可读;control2用于表征位域12对应的功能;control6用于表征位域8对应的功能。
[0034]
位域位域名称读写属性功能描述31:13msk1.1rcontrol112msk1.2rcontrol211msk1.3rcontrol310msk1.4rcontrol49msk1.5rcontrol58msk1.6rcontrol67msk1.7rcontrol76:4msk1.8rcontrol83:0msk1.9rcontrol9
[0035]
表2
[0036]
表3为寄存器名称为reg2的寄存器详细说明列表示例表,如表3所示,reg2的位域为10对应的位域名称为msk2.4,读写属性为rw,功能描述为control13。其中,rw用于表征位域的读写属性为可读且可写;control13用于表征位域10对应的功能。
[0037]
位域位域名称读写属性功能描述31:13msk2.1rcontrol1012msk2.2rwcontrol1111msk2.3rwcontrol1210msk2.4rwcontrol139msk2.5rwcontrol148msk2.6rwcontrol157msk2.7rwcontrol166:4msk2.8rwcontrol173:0msk2.9rwcontrol18
[0038]
表3
[0039]
可选地,按照验证激励对寄存器进行验证,获得验证结果,包括:在寄存器对应的访问权限关闭的情况下,对寄存器进行复位值验证获得复位验证结果;对寄存器进行读写验证获得读写验证结果;在寄存器对应的访问权限开启的情况下,对寄存器进行访问权限验证获得访问权限验证结果。由于,芯片由集成电路构成,集成电路由若干寄存器构成,不同的芯片可能会存在不同的访问控制权限,在不同的访问控制权限下,寄存器的访问权限会存在差异。因此,在芯片的访问控制权限开启的情况下,即在寄存器对应的访问权限开启的情况下,需要验证寄存器的访问权限是否生效,即芯片的访问控制权限规定的寄存器访问权限与测试出的寄存器的访问权限是否一致。这样,分别在寄存器对应的访问权限关闭或访问权限开启的情况下对寄存器的功能进行验证,能够全面的对寄存器进行验证。
[0040]
可选地,对寄存器进行复位值验证获得复位验证结果,包括:对寄存器进行第一读操作,第一读操作用于获取寄存器的第一字符;将第一字符与预设的复位值进行比较,获得第一比较结果;根据第一比较结果确定寄存器的复位验证结果。这样,将第一字符与预设的复位值进行比较,根据第一比较结果确定寄存器的复位验证结果,能够确定寄存器的复位值是否与模块设计文档设计的复位值一致,从而自动确定寄存器是否满足设计要求,提高了对寄存器的复位值验证的效率。
[0041]
在一些实施例中,预设的复位值为模块设计文档中寄存器复位值。
[0042]
可选地,根据第一比较结果确定寄存器的复位验证结果,包括:在第一比较结果为第一字符与预设的复位值一致的情况下,确定寄存器的复位验证结果为第一验证结果;在第一比较结果为第一字符与预设的复位值不一致的情况下,确定寄存器的复位验证结果为第二验证结果;第一验证结果用于表征寄存器的复位值正常;第二验证结果用于表征寄存器的复位值不正常。
[0043]
可选地,对寄存器进行读写验证获得读写验证结果,包括:对寄存器进行第一写操作,第一写操作用于将第一设定字符写入寄存器;对寄存器进行第二读操作,第二读操作用于获取寄存器的第二字符;将第二字符与第一期望字符进行比较,获得第二比较结果;第一期望字符由寄存器根据寄存器的位域的读写属性对第一设定字符计算获得;根据第二比较结果确定寄存器的读写验证结果。这样,将第二字符与第一期望字符进行比较,根据第二比较结果确定寄存器的读写验证结果,能够自动确定寄存器的读写功能是否正常,提高了对寄存器的读写功能的验证效率。
[0044]
可选地,根据第二比较结果确定寄存器的读写验证结果,包括:在第二比较结果为第二字符与第一期望字符一致的情况下,确定读写验证结果为第三验证结果;在第二比较结果为第二字符与第一期望字符不一致的情况下,确定读写验证结果为第四验证结果;第三验证结果用于表征寄存器的读写功能正常;第四验证结果用于表征寄存器的读写功能不正常。由于,在寄存器的读写功能正常的情况下,将第一设定字符写入寄存器后,寄存器会根据寄存器的位域的读写属性计算出第一期望字符。因此,对寄存器进行读操作,读出来的第二字符与第一期望字符一致的情况下,则寄存器的读写功能正常。这样,通过比较第二字符与第一期望字符,能够确定寄存器的读写功能是否正常。
[0045]
可选地,第一设定字符与预设的复位值不相同。
[0046]
可选地,对寄存器进行访问权限验证获得访问权限验证结果,包括:对寄存器进行第二写操作,第二写操作用于将第二设定字符写入寄存器;对寄存器进行第三读操作,第三读操作用于获取寄存器的第三字符;将第三字符、第二期望字符和预设的复位值进行比较,获得第三比较结果;第二期望字符由寄存器根据寄存器的位域的读写属性对第二设定字符计算获得;根据第三比较结果确定寄存器的访问权限验证结果。
[0047]
可选地,将第三字符、第二期望字符和预设的复位值进行比较,获得第三比较结果,包括:在第三字符与第二期望字符一致的情况下,则第三比较结果为寄存器可读且可写;在第三字符与预设的复位值一致的情况下,则第三比较结果为寄存器可读且不可写。
[0048]
可选地,根据第三比较结果确定寄存器的访问权限验证结果,包括:将第三比较结果与寄存器对应的访问权限进行比较,获得第四比较结果;根据第四比较结果确定寄存器的访问权限验证结果。
[0049]
可选地,根据第四比较结果确定寄存器的访问权限验证结果,包括:在第四比较结果为寄存器对应的访问权限与第三比较结果一致的情况下,确定寄存器的访问权限验证结果为第五验证结果;在第四比较结果为寄存器对应的访问权限与第三比较结果不一致的情况下,确定寄存器的访问权限验证结果为第六验证结果;第五验证结果用于表征寄存器的访问权限正确;第六验证结果用于表征寄存器的访问权限不正确。
[0050]
可选地,第二设定字符与预设的复位值不相同。
[0051]
在一些实施例中,芯片中存在若干个实例化模块,各实例化模块的寄存器分布相同;累计实例化模块的数量,将数量确定为模块的实例化数量。各实例化模块的基地址不同,通过基地址对各实例化模块的寄存器依次进行验证。
[0052]
可选地,根据寄存器参数和访问权限对寄存器进行验证,获得验证结果后,还包括:将验证结果展示给用户。
[0053]
结合图2所示,本公开实施例提供另一种用于对寄存器进行验证的方法,包括:
[0054]
步骤s201,获取寄存器对应的寄存器参数和访问权限;
[0055]
步骤s202,根据寄存器参数和访问权限生成验证激励;
[0056]
步骤s203,按照验证激励对寄存器进行验证,获得验证结果;
[0057]
步骤s204,将验证结果展示给用户。
[0058]
采用本公开实施例提供的用于对寄存器进行验证的方法,通过获取寄存器对应的寄存器参数和访问权限;根据寄存器参数和访问权限生成验证激励;按照验证激励对寄存器进行验证,获得验证结果;将验证结果展示给用户。这样,能够自动对寄存器进行验证,将
验证结果展示给用户,能够让用户直观的获取验证结果,便于用户根据验证结果对寄存器进行调试,提高了对寄存器进行验证和调试的效率。
[0059]
可选地,将验证结果展示给用户,包括:将验证结果推送到预设的客户端。
[0060]
可选地,将验证结果展示给用户,包括:将验证结果发送到预设的显示屏,触发显示屏对验证结果进行展示。
[0061]
可选地,根据寄存器参数和访问权限生成验证激励,包括:根据寄存器参数和访问权限生成汇总表格;根据汇总表格生成验证激励。
[0062]
结合图3所示,本公开实施例提供另一种用于对寄存器进行验证的方法,包括:
[0063]
步骤s301,获取寄存器对应的寄存器参数和访问权限;
[0064]
步骤s302,根据寄存器参数和访问权限生成汇总表格;
[0065]
步骤s303,根据汇总表格生成验证激励;
[0066]
步骤s304,按照验证激励对寄存器进行验证,获得验证结果。
[0067]
采用本公开实施例提供的用于对寄存器进行验证的方法,通过获取寄存器对应的寄存器参数和访问权限;根据寄存器参数和访问权限生成汇总表格;根据汇总表格生成验证激励;按照验证激励对寄存器进行验证,获得验证结果。这样,能够自动对寄存器进行验证,不需要人工编写验证激励对寄存器进行验证,提高了对寄存器进行验证的效率。
[0068]
在一些实施例中,通过以下方式根据寄存器参数和访问权限生成汇总表格:
[0069]
步骤s11:读取模块设计文档,将模块设计文档中的所有表格内容保存到一个表格数组中,然后执行步骤s12。
[0070]
步骤s12:遍历所有表格内容,在读取到唯一特征文本的情况下,即遍历到寄存器列表的情况下,使用变量“reglst_tab_cnt”保存寄存器列表在表格数组中的索引,用于分隔寄存器列表和寄存器详细说明列表。唯一特征文本为寄存器列表中的寄存器参数,可选地,由寄存器名称和偏移地址组成唯一特征文本,然后执行步骤s3。
[0071]
步骤s13:创建一个excel表格,然后执行步骤s14。
[0072]
步骤s14:根据变量“reglst_tab_cnt”的值,定位到表格数组中寄存器列表对应的位置,遍历寄存器列表的每一行,将每个寄存器名称、偏移地址、“写”访问权限和复位值写入数组row0中,通过numpy库中的array对象将数组row转化成n行4列的数组,其中,n为寄存器的个数;numpy库为python扩展库,python为一种计算机编程语言,然后执行步骤s15。
[0073]
步骤s15:将变量“reglst_tab_cnt”的值加1,定位到第一个寄存器的寄存器详细说明列表,遍历寄存器详细说明列表的每一行,将寄存器的位域、位域名称和读写属性写入到数组row1中,通过numpy库中的array对象将数组row转化成m行4列的数组,其中,m为除去每个表头后该表格的行数,然后执行步骤s16。
[0074]
步骤s16:将row0列表的每一行和row1列表的文本生成的相应的行和列写入excel表格表格中预设的位置,然后执行步骤s17。
[0075]
步骤s17:清空row1,遍历row0列表到下一行,判断是否所有的寄存器对应的偏移地址、寄存器名称、位宽、访问权限、复位值、位域、位域名称和读写属性均被写入excel表格中;在所有的寄存器对应的偏移地址、寄存器名称、位宽、访问权限、复位值、位域、位域名称和读写属性均被写入excel表格中的情况下,执行步骤s18;在所有的寄存器对应的偏移地址、寄存器名称、位宽、访问权限、复位值、位域、位域名称和读写属性未被写入excel表格中
的情况下,返回执行步骤s15。
[0076]
步骤s18:关闭excel表格。
[0077]
在一些实施例中,图4为汇总表格的示意图,如图4所示,单元格a1为ipnumbers,ipnumbers为模块的实例化数量,单元格a2为baseaddr,baseaddr为模块对应的基地址;offset为寄存器的偏移地址;name为寄存器名称;e_se_protect为寄存器的“写”访问权限;reset为寄存器复位值;bit为寄存器的位域;field为位域的名称;access为位域的读写属性;在一些实施例中,基地址为0xf0000400的模块对应的寄存器包括reg1、reg2、reg3和reg4;其中,寄存器名称为reg1的寄存器对应的偏移地址为0x00,位宽为32,“写”访问权限为e,寄存器复位值为0x00000001;reg1对应的位域包括[31:13]、[12]、[11]、[10]、[9]、[8]、[7]、[6:4]、[3:0];位域为[31:13]对应的位域名称为msk1.1,读写属性为可读;位域为[12]对应的位域名称为msk1.2,读写属性为可读;位域为[11]对应的位域名称为msk1.3,读写属性为可读;位域为[10]对应的位域名称为msk1.4,读写属性为可读;位域为[9]对应的位域名称为msk1.5,读写属性为可读;位域为[8]对应的位域名称为msk1.6,读写属性为可读;位域为[7]对应的位域名称为msk1.7,读写属性为可读;位域为[6:4]对应的位域名称为msk1.8,读写属性为可读;位域为[3:0]对应的位域名称为msk1.9,读写属性为可读。
[0078]
在一些实施例中,demo case为由基类函数构成的自定义函数,用于执行预设操作,预设操作为:关闭所有寄存器对应的访问权限;对寄存器进行复位值验证获得复位验证结果;对寄存器进行读写验证获得读写验证结果;给每个寄存器写回寄存器复位值;开启所有寄存器对应的访问权限;确定寄存器是否存在访问权限,在寄存器存在访问权限的情况下,对寄存器进行访问权限验证获得访问权限验证结果。
[0079]
在一些实施例中,通过以下方式根据汇总表格生成验证激励:
[0080]
步骤s21:读取excel表格,按照excel表格从上往下的顺序将表格的内容以行为单位写入到flist列表中,遍历flist列表,在遍历到“baseaddr”的情况下,将“baseaddr”所在行之后的一行写入到一个basead列表中,然后执行步骤s22。
[0081]
步骤s22:遍历flist列表,在遍历到“offset”的情况下,将“offset”所在行的内容写入到一个reglst列表中,然后执行步骤s23。
[0082]
步骤s23:将reglst列表中的内容填充到demo case的module baseaddr数组中;提取每个寄存器的偏移地址、复位值、读写属性和“写”访问权限存储到demo case的结构体类型的数组ip_reg中;将每个寄存器每个位域的读写属性保存到一个demo case的32位的16进制数据中,从而生成验证激励regtest case;验证激励regtest case用于对reglst列表中的寄存器进行预设操作。
[0083]
结合图5所示,本公开实施例提供一种用于对寄存器进行验证的装置,包括:获取模块501、生成模块502和验证模块503;获取模块501,被配置为获取寄存器对应的寄存器参数和访问权限;生成模块502,被配置为根据寄存器参数和访问权限生成验证激励;验证模块503,被配置为按照验证激励对寄存器进行验证,获得验证结果。
[0084]
采用本公开实施例提供的用于对寄存器进行验证的装置,通过获取模块获取寄存器对应的寄存器参数和访问权限;生成模块根据寄存器参数和访问权限生成验证激励;验证模块按照验证激励对寄存器进行验证,获得验证结果。这样,能够自动对寄存器进行验证,不需要人工对寄存器进行验证,提高了对寄存器进行验证的效率。
[0085]
可选地,用于对寄存器进行验证的装置,还包括:展示模块,被配置为将验证结果展示给用户。
[0086]
结合图6所示,本公开实施例提供一种电子设备,包括处理器(processor)600和存储有程序指令的存储器(memory)601。可选地,该电子设备还可以包括通信接口(communication interface)602和总线603。其中,处理器600、通信接口602、存储器601可以通过总线603完成相互间的通信。通信接口602可以用于信息传输。处理器600可以调用存储器601中的程序指令,以执行上述实施例的用于对寄存器进行验证的方法。
[0087]
此外,上述的存储器601中的程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。
[0088]
存储器601作为一种可读存储介质,可用于存储软件程序、可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器600通过运行存储在存储器601中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于对寄存器进行验证的方法。
[0089]
存储器601可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器。
[0090]
可选地,电子设备包括计算机或服务器。
[0091]
采用本公开实施例提供的电子设备,通过获取寄存器对应的寄存器参数和访问权限;根据寄存器参数和访问权限生成验证激励;按照验证激励对寄存器进行验证,获得验证结果。这样,能够自动对寄存器进行验证,不需要人工对寄存器进行验证,提高了对寄存器进行验证的效率。
[0092]
本公开实施例提供了一种存储介质,存储有可执行指令,可执行指令设置为执行上述用于对寄存器进行验证的方法。
[0093]
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于对寄存器进行验证的方法。
[0094]
上述的可读存储介质可以是暂态可读存储介质,也可以是非暂态可读存储介质。
[0095]
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0096]
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)
旨在同样包括复数形式。类似地,如在本技术中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
[0097]
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0098]
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0099]
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1