一种基于UVM的芯片验证系统及验证方法转让专利

申请号 : CN202211063842.2

文献号 : CN115146568B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何礼昕夏云彭俊

申请人 : 南京芯驰半导体科技有限公司

摘要 :

一种基于UVM的芯片验证系统及验证方法,所述验证方法包括:运行于片上系统上的测试程序通过第一接口向UVM的验证平台发送验证组件配置信号;所述UVM的验证平台解析所述验证组件配置信号,生成包括地址信息、信号内容和操作符信息的验证组件数据;与所述地址信息相对应的验证组件响应所述验证组件数据完成验证组件的配置;所述测试程序通过第二接口和UVM的验证平台上对应的验证组件连接并进行仿真测试。本申请还提供一种基于UVM的芯片验证系统,方便测试程序和UVM的验证平台协同工作,提高了芯片验证的效率。

权利要求 :

1.一种基于UVM的芯片验证方法,包括:

运行于片上系统上的测试程序通过第一接口向UVM的验证平台发送验证组件配置信号;

所述UVM的验证平台解析所述验证组件配置信号,生成包括地址信息、信号内容和操作符信息的验证组件数据;

与所述地址信息相对应的验证组件响应所述验证组件数据完成验证组件的配置;

所述测试程序通过第二接口和UVM的验证平台上对应的验证组件连接并进行仿真测试;

所述第一接口包括共享内存、标准通信接口和系统总线中的任意一种,所述第二接口为外设端口。

2.根据权利要求1所述的基于UVM的芯片验证方法,其特征在于,所述方法还包括运行于片上系统上的测试程序通过第一接口向所述UVM的验证平台发送测试信息以供在UVM的验证平台查看显示。

3.根据权利要求1所述的基于UVM的芯片验证方法,其特征在于,所述第一接口为系统总线中的APB总线。

4.一种基于UVM的芯片验证系统,包括UVM的验证平台,所述UVM的验证平台包括验证组件,所述验证组件用于模拟外设进行仿真测试,其特征在于,所述UVM的验证平台还包括系统控制器,所述系统控制器与运行于片上系统上的测试程序和UVM的验证平台中的所述验证组件通信连接,用于解析接收到的片上系统上测试程序发送的验证组件配置信号生成包括地址信息、信号内容和操作符信息的验证组件数据,并向相应的验证组件发送解析后的验证组件数据,所述验证组件数据用于验证组件完成验证的相关配置;所述系统控制器通过共享内存、标准通信接口和系统总线中的任意一种与所述片上系统通信连接。

5.根据权利要求4所述的基于UVM的芯片验证系统,其特征在于,所述系统总线为APB系统总线。

6.根据权利要求4所述的基于UVM的芯片验证系统,其特征在于,所述系统控制器包括:系统接口、代理模块和验证组件端口;所述系统接口用于与所述片上系统上的测试程序连接;所述代理模块用于解析所述验证组件配置信号生成包括地址信息、信号内容和操作符信息的验证组件数据;所述验证组件端口用于基于所述地址信息向对应的验证组件传输所述验证组件数据以使所述验证组件响应所述验证组件数据。

7.根据权利要求6所述的基于UVM的芯片验证系统,其特征在于,所述验证组件端口包括相互连接的Analysis端口和imp端口,所述Analysis端口配置在代理模块上,所述imp端口为每一验证组件配置有一个,不同验证组件的imp端口被分配有不同的地址。

8.一种电子设备,其特征在于,包括:

处理器;

存储器,包括一个或多个计算机程序模块;

其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块用于被执行时实现权利要求1‑3任一项所述的基于UVM的芯片验证方法。

9.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令运行时执行权利要求1‑3任一项所述的基于UVM的芯片验证方法的步骤。

说明书 :

一种基于UVM的芯片验证系统及验证方法

技术领域

[0001] 本申请涉及芯片验证技术领域,特别是涉及一种基于UVM的芯片验证系统及验证方法。

背景技术

[0002] 随着集成电路理论的不断发展以及片上系统(System On Chip)技术的出现,设计人员对芯片的设计能力和效率都有了一定的提升,这使得芯片的复杂度和规模也日渐增加。而因为工艺制程的不断提升和市场对产品缺陷越来越低的容忍度,每次流片失败后需要承担的损失也越来越大,这就使得流片前的验证工作变得十分重要,并逐渐成为芯片设计流程中不可或缺的一环。
[0003] 目前进行芯片验证时,不仅需要将芯片安装在开发电路板上通过测试程序测试,还需要通过通用验证方法学(UVM,Universal Verification Methodology)来验证,UVM提供了一套基于SystemVerilog语言的标准类库,这不仅使得验证工程师可以快速的完成底层验证平台的搭建工作,更是提供了一套统一的标准,对验证方法进行了约束与指导,提高了验证平台的重用性和移植性。根据UVM验证方法学搭建的验证平台,可以实现测试激励随机产生、验证结果自检测、功能覆盖率收集等功能,足够应对当前验证流程中的大多数场景。
[0004] 现有技术中通过凑时间和固化流程的方式让基于UVM的验证平台和测试程序协同工作,然而这种协同工作方式不仅验证效率低而且协同度较差。

发明内容

[0005] 为了解决现有技术存在的不足,本申请的目的在于提供一种基于UVM的芯片验证系统及验证方法,方便测试程序和UVM的验证平台协同工作。
[0006] 为实现上述目的,本申请提供的基于UVM的芯片验证方法,包括,
[0007] 运行于片上系统上的测试程序通过第一接口向UVM的验证平台发送验证组件配置信号;
[0008] 所述UVM的验证平台解析所述验证组件配置信号,生成包括地址信息、信号内容和操作符信息的验证组件数据;
[0009] 与所述地址信息相对应的验证组件响应所述验证组件数据完成验证组件的配置;
[0010] 所述测试程序通过第二接口和UVM的验证平台上对应的验证组件连接并进行仿真测试。
[0011] 进一步地,所述方法还包括运行于片上系统上的测试程序通过第一接口向所述UVM的验证平台发送测试信息以供在UVM的验证平台查看显示。
[0012] 进一步地,所述第一接口包括共享内存、标准通信接口和系统总线中的任意一种,所述第二接口为外设端口。
[0013] 进一步地,其特征在于,所述第一接口为系统总线中的APB总线。
[0014] 为实现上述目的,本申请还提供一种基于UVM的芯片验证系统,包括:
[0015] UVM的验证平台,所述UVM的验证平台包括验证组件,所述验证组件用于模拟外设进行仿真测试,所述UVM的验证平台还包括系统控制器,所述系统控制器与运行于片上系统上的测试程序和UVM的验证平台中的所述验证组件通信连接,用于解析接收到的片上系统上测试程序发送的验证组件配置信号并向相应的验证组件发送解析后的验证组件数据,所述验证组件数据用于验证组件完成验证的相关配置。
[0016] 进一步地,所述系统控制器通过共享内存、标准通信接口和系统总线中的任意一种与所述片上系统通信连接。
[0017] 进一步地,其特征在于,所述系统总线为APB系统总线。
[0018] 进一步地,所述系统控制器包括:系统接口、代理模块和验证组件端口;所述系统接口用于与所述片上系统上的测试程序连接;所述代理模块用于解析所述信号生成包括地址信息、信号内容和操作符信息的验证组件数据;所述验证组件端口用于基于所述地址信息向对应的验证组件传输所述验证组件数据以使所述验证组件响应所述验证组件数据。
[0019] 进一步地,所述验证组件端口包括相互连接的Analysis端口和imp端口,所述Analysis端口配置在代理模块上,所述imp端口为每一验证组件配置有一个,不同验证组件的imp端口被分配有不同的地址。
[0020] 为实现上述目的,本申请提供的电子设备,包括:
[0021] 处理器;
[0022] 存储器,包括一个或多个计算机程序模块;
[0023] 其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块用于被执行时实现如上所述的基于UVM的芯片验证方法。
[0024] 为实现上述目的,本申请提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的基于UVM的芯片验证方法的步骤。
[0025] 本申请的基于UVM的芯片验证系统及验证方法,方便运行在片上系统上的测试程序和UVM的验证平台之间协同工作,提高了验证测试效率。
[0026] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。

附图说明

[0027] 附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
[0028] 图1为本申请的基于UVM的芯片验证方法的流程示意图;
[0029] 图2为本申请的基于UVM的芯片验证系统的结构示意图;
[0030] 图3为本申请的一种电子设备的示意框图;
[0031] 图4为本申请的一种存储介质的示意图。

具体实施方式

[0032] 下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
[0033] 应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
[0034] 本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0035] 需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
[0036] 下面,将参考附图详细地说明本申请的实施例。
[0037] 实施例1
[0038] 本申请的一个实施例,提供了一种基于UVM的芯片验证方法,用于实方便运行在片上系统上的测试程序与UVM的验证平台协同工作。
[0039] 图1为本申请的基于UVM的芯片验证方法的流程示意图,下面将参考图1对本申请的基于UVM的芯片验证方法进行详细描述:
[0040] 步骤S101:运行于片上系统上的测试程序通过第一接口向UVM的验证平台发送验证组件配置信号;
[0041] 步骤S102: UVM的验证平台解析所述验证组件配置信号,生成包括地址信息、信号内容和操作符信息的验证组件数据;
[0042] 步骤S103:与所述地址信息相对应的验证组件响应所述验证组件数据完成验证组件的配置;
[0043] 步骤S104:所述测试程序通过第二接口和UVM的验证平台上对应的验证组件连接并进行仿真测试。
[0044] 需要说明的是,测试程序一般用C语言编写开发,然后经编译成机器码preload到片上系统的处理器内部memory中在cpuboot后执行,用于配置片上系统,使其运行各种功能,并与诸如DDR、eMMC、PCIE、UART、I2C、DISPLAY等外设进行数据和信息交互;UVM的验证平台通常由UVM类库搭建,主要包括一些时钟、复位信号产生器以及外设的行为模型即验证组件。
[0045] 需要说明的是第二接口与测试环境中要验证的验证组件相关,示例性的如,如要验证芯片I2C的通讯功能,UVM的验证平台会配置有I2C验证组件,在验证芯片I2C通讯功能时I2C验证组件会通过片上系统的I2C接口与测试程序通信。
[0046] 在本实施例中,片上系统的验证对象为一款以ARM cortex‑R5为内核的高性能低功耗通用芯片,其配置有AXI总线、AHB总线和APB总线,其中,AXI是一种面向高性能、高带宽、低延迟的片内总线;AHB总线主要用于高性能模块(如CPU、DMA和DSP等)之间的连接;APB主要用于低带宽的周边外设之间的连接,例如UART和1284等。具体的,按照总线特性及IP性能要求,将不同的IP连接到相应的总线上。DDR和DMA模块挂在AXI总线上,USB和以太IP挂接在AHB总线上,IIC/UART/SPI等IP挂接在APB总线上。
[0047] 可以理解的是,在本实施方式中,片上系统的验证对象为配置有APB架构的ARM内核的芯片即可,具体的ARM内核型号并不对本实施方式造成影响。
[0048] 在本实施方式中,UVM的验证平台相当于一个虚拟IP挂接在APB总线来与运行在片上系统上的测试程序之间进行信息交互,即在本实施例中第一接口为APB总线,由测试程序通过APB总线发送UVM的验证平台上验证组件的验证组件配置信号, UVM的验证平台解析完验证组件配置信号后生成包括地址信息、信号内容和操作符信息的验证组件数据,根据地址信息将验证组件数据发给地址信息相匹配的验证组件,使验证组件响应验证组件数据完成相关配置后,测试程序再与UVM协同开始对芯片开始测试验证。
[0049] 可以理解的是,在另一些实施例中,UVM的验证平台也可以通过诸如共享内存和标准通信接口的通信方式与测试程序进行信息交互。
[0050] 在本实施方式中,为了查看测试程序运行的运行情况,运行于片上系统上的测试程序还会通过APB总线向UVM的验证平台发送测试信息以供在UVM的验证平台查看显示,测试信息包括但不限于于片上系统端口信息、驱动信息和debug信息。
[0051] 实施例2
[0052] 本申请的一个实施例,提供了一种基于UVM的芯片验证系统,用于方便运行在片上系统的测试程序与UVM的验证平台协同工作,提高验证测试效率。
[0053] 图2为本申请的基于UVM的芯片验证系统的结构示意图,如图2所示,包括UVM的验证平台100, UVM的验证平台100包括验证组件101和系统控制器102,验证组件101用于模拟外设进行仿真测试根据验证功能不同设置有如干个,系统控制器102与运行于片上系统200上的测试程序201和UVM的验证平台100中的验证组件101通信连接,用于解析接收到的片上系统100上测试程序102发送的验证组件配置信号并向相应的验证组件101发送解析后的验证组件数据,验证组件数据用于验证组件101完成验证的相关配置。
[0054] 在本实施方式中,系统控制器102至少包括:系统接口1021、代理模块1022和验证组件端口1023;系统接口1021用于与所述片上系统200上的测试程序201连接;代理模块1022用于解析验证组件配置信号生成包括地址信息、信号内容和操作符信息的验证组件数据;验证组件端口1023用于基于所述地址信息向对应的验证组件101传输所述验证组件数据以使验证组件101响应所述验证组件数据。
[0055] 在本实施方式中,系统接口1021为APB接口,UVM的验证平台100相当于一个虚拟IP挂接在片上系统200上的APB总线上来与运行在片上系统200上的测试程序201之间进行信息交互,即片上系统200预留一段系统地址,该地址只用于和UVM的验证平台100信息交互。可以理解的是,在另一些实施例中,UVM的验证平台100也可以通过诸如共享内存和标准通信接口的通信方式与测试程序进行信息交互,系统接口1021可根据选择的通信方式适应性的修改。
[0056] 在本实施方式中,UVM的验证平台100与运行在片上系统200上的测试程序201之间进行信息交互过程中,还至少通过fabric总线和Apb_mux等,其中Apb_ mux与apb总线连接,fabric总线分别与Apb_mux和执行测试程序201的芯片连接。
[0057] 在本实施方式中,系统接口1021通过system Verilog interface构建,其包括寄存器,声明是APB信号的端口,还包括退出UVM run_phase的事件变量。
[0058] 其中,用于存储测试程序201和UVM的验证平台101之间的交互信息,测试程序通过向agent发apb transaction的方式,由agent来访问寄存器。UVM的验证平台101可以直接通过系统接口1021的句柄访问到寄存器。退出UVM run_phase的事件变量的访问方式跟寄存器的访问方式一样。
[0059] 在本实施方式中,代理模块1022解析通过APB接口接收到的验证组件配置信号,然后通过验证组件端口1023将解析后的验证组件数据发送给相应的验证组件101,还管理UVMphase的升降,其能接收来自系统接口1021和验证组件101的终止仿真请求并响应结束仿真,并设置寄存器的默认值。
[0060] 在本实施方式中,验证组件端口1023包括相互连接的Analysis端口和imp端口,所述Analysis端口配置在代理模块1022上,所述imp端口为每一验证组件101配置一个,不同验证组件101的imp端口被分配有不同的地址。
[0061] 需要说明的是,imp端口为UVM 标准类库中的analysis端口的扩展类,本实施方式中,再其标准类的基础上加上了地址属性,进行验证组件配置时,根据imp端口的地址范围调用相应的写函数。
[0062] 需要说明是,本实施例中的验证组件101包括通用的验证组件和用户自定义的验证组件,用户自定义的验证组件往往是针对不同处理器核设置的独特的验证组件,本实施中只是为验证组件101配置imp端口,验证组件的类型和功能并不影响本实施例的实施,示例性的,一些通用验证组件101用于设置看门狗、后台访问片上系统内部变量、打印测试程序所发的debug信息等,而自定义的验证组件,则可以根据需求来定义相应的验证组件的响应方式。
[0063] 需要说明的是PAD为外设接口,其与测试环境中要验证的验证组件101相关,示例性的如,如要验证芯片I2C的通讯功能,UVM的验证平台会配置有I2C验证组件101,在验证芯片I2C通讯功能时I2C验证组件101会通过片上系统的I2C接口的PAD与测试程序201通信。
[0064] 本系统的工作过程如下:在进行芯片验证时,运行在片上系统200的测试程序201通过片上系统200的APB总线向 UVM的验证平台100发送验证组件配置信号, UVM的验证平台100通过系统控制器102的系统接口1021接收APB协议格式的验证组件配置信号,代理模块1022解析接收到的验证组件配置信号,生成包括地址信息、信号内容和操作符信息的验证组件数据,确定各验证组件配置的imp端口的地址与地址信息相匹配的验证组件101,代理模块1022通过Analysis端口和imp端口创建与验证组件101的连接,并向验证组件101发送验证组件数据,验证组件101响应验证组件数据完成芯片验证时的相关配置,然后测试程序201和UVM验证平台100协同开始测试验证,测试过程中,运行于片上系统200上的测试程序201还会通过APB总线向UVM的验证平台100发送测试信息以供在UVM的验证平台100查看显示,测试信息包括但不限于片上系统200的端口信息、驱动信息和debug信息。
[0065] 实施例3
[0066] 本实施例中,还提供一种电子设备,图3为本申请提供的一种电子设备的示意框图。如图3所示,电子设备130包括处理器131和存储器132。存储器132用于存储非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器131中的处理器核用于运行非暂时性计算机可读指令,处理器131运行时可以执行上文所述的基于UVM的芯片验证方法的一个或多个步骤。存储器132和处理器131可以通过总线系统和/或其它形式的连接机构(未示出)互连。
[0067] 例如,处理器131的处理器核可以是中央处理单元(CPU)、数字信号处理器(DSP)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(FPGA)等;例如,中央处理单元(CPU)可以为X86或ARM架构等。其处理器核可以为通用处理器核或专用处理器核,可以控制电子设备130中的其它组件以执行期望的功能。
[0068] 例如,存储器132可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD‑ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器131可以运行一个或多个计算机程序模块,以实现电子设备130的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
[0069] 需要说明的是,本申请的实施例中,电子设备130的具体功能和技术效果可以参考上文中关于基于UVM的芯片验证系统的描述,此处不再赘述。
[0070] 实施例4
[0071] 本实施例中,还提供一种计算机可读存储介质,图4为本申请的一种存储介质的示意图。如图4所示,存储介质150用于存储非暂时性计算机可读指令151。例如,当非暂时性计算机可读指令151由计算机执行时可以执行根据上文所述的基于UVM的芯片验证方法中的一个或多个步骤。
[0072] 例如,该存储介质150可以应用于上述电子设备130中。例如,存储介质150可以为图4所示的电子设备130中的存储器132。例如,关于存储介质150的相关说明可以参考图4所示的电子设备130中的存储器132的相应描述,此处不再赘述。
[0073] 需要说明的是,本申请上述的存储介质(计算机可读介质)可以是计算机可读信号介质或者非暂时性计算机可读存储介质或者是上述两者的任意组合。非暂时性计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。非暂时性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0074] 在本申请中,非暂时性计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是非暂时性计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等,或者上述的任意合适的组合。
[0075] 上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0076] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
[0077] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0078] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0079] 本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(片上系统)、复杂可编程逻辑设备(CPLD)等。
[0080] 以上描述仅为本申请的部分实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0081] 此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0082] 尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。