欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于并行波形分析的测试和测量系统独创技术45766字

用于并行波形分析的测试和测量系统

2021-03-15 02:42:18

用于并行波形分析的测试和测量系统

  技术领域

  技术领域涉及测试和测量系统,并且特别地涉及用于并行波形分析的测试和测量系统。

  发明内容

  集成电路(硅芯片或“芯片”)的验证和测试包括一个处理,在该处理中,针对实验室设置中的所有功能正确性来测试芯片的制造设计。这可以使用被组装在测试板或参考板上的芯片,连同芯片被设计用于其的系统的其它组件来完成。目标是要验证客户在真正部署中最终可能具有的芯片的所有用例并且证明用于所有这些使用模型的设计合格。这样的验证也可以应用于其它类型半导体的测试,所述其它类型半导体诸如任何其它半导体,诸如砷化镓、磷化铟等。

  然而,根据摩尔定律,随着新的半导体设计上的晶体管数量上的持续增加,硅芯片和其它类型的半导体的复杂性也迅速地增加。这种日益增加的复杂性一同带来了对如下的客户测试的不断增长的需求:验证下一代硬件,同时减少总体测试时间并增加测试吞吐量。特别地,随着硅芯片复杂性的增加,要测试的场景数量也随着每个场景的排列而增加。这为硅芯片和其它类型的半导体验证创建了非常大的挑战。例如,硅芯片验证在历史上依赖于用于调试、表征、符合性测试和在工厂进行测试的测试装备(例如,示波器、任意波形发生器(AWG)、任意函数发生器(AFG)、误码率测试器(BERT)等)。这种测试装备传统上执行两个高级任务。第一个任务是要在测试期间获取由示波器生成的波形,并且第二个任务是要使用数字信号处理(DSP)算法分析波形并验证模拟信号。常规地,这两项任务是按顺序完成的。特别地,常规示波器具有专用硬件来将波形获取到存储器中,所述波形然后由嵌入在示波器内的中央处理单元分析。由于任务是按顺序执行的,因此这由于要被验证和测试的硅芯片的复杂性增加而增加了总体测试时间。

  因此,为了解决在上面提到的目前已知系统的技术问题和限制,本文中描述的系统和方法使将波形获取到存储器中和对所获取波形进行分析的上述任务分离。

  在一个示例实施例中,本文中描述的系统和方法获取在被测设备(DUT)上执行测试所得到的波形,并且至少部分并行地执行对在DUT上执行测试所得到的波形的相应分析。本文中描述的系统和方法还可以获取在DUT上利用示波器执行第一测试所得到的第一波形,并且与获取在DUT上利用示波器执行第二测试所得到的第二波形至少部分并行地执行对第一波形的分析。这样的改进因此增加了测试吞吐量并减少了总体测试时间。

  在一个示例实施例中,一种用于在测试和测量系统中测试被测设备(DUT)的方法包括:从DUT电子地获取在DUT上执行第一测试所得到的第一波形;响应于获取在DUT上执行第一测试所得到的第一波形:开始电子地分析在DUT上执行第一测试所得到的第一波形;以及在分析在DUT上执行第一测试所得到的第一波形的同时,开始电子地获取在DUT上执行第二测试所得到的来自DUT的第二波形。该方法进一步包括,响应于获取在DUT上执行第二测试所得到的第二波形:在分析在DUT上执行第一测试所得到的第一波形的同时,开始电子地分析在DUT上执行第二测试所得到的第二波形;以及开始电子地获取在DUT上执行第三测试所得到的第三波形。

  根据各种实施例,非暂时性计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由至少一个处理器执行时,使得所述至少一个处理器执行上述方法中的一个或多个。

  附图说明

  附图中的组件不一定相对于彼此成比例。贯穿若干个视图,相同的附图标记指定对应的部分;

  图1是现有技术示波器波形获取和分析的时序图;

  图2是根据本公开的各种示例实施例的示波器波形获取和分析的时序图;

  图3是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统的网络架构的框图;

  图4是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统的示例架构中的并行分析组件的框图;

  图5是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例操作的序列图;

  图6是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例存记和监控架构的框图;

  图7是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例资产管理和控制架构的框图;

  图8是图示根据本公开的各种示例实施例的示例测试自动化平台架构的框图,用于并行波形分析的测试和测量系统可以在所述示例测试自动化平台架构内操作;

  图9是图示根据各种示例实施例的示例测试系统计算设备的概览框图,在所述示例测试系统计算设备中可以实现用于并行波形分析的测试和测量系统的实施例;

  图10是根据各种示例实施例的在用于并行波形分析的测试和测量系统中进行并行波形分析的示例计算机化方法的流程图;

  图11是根据各种示例实施例的用于在用于并行波形分析的测试和测量系统中进行并行波形分析的另一示例计算机化方法的流程图;

  图12是根据各种示例实施例的用于在用于并行波形分析的测试和测量系统中进行并行波形分析的示例计算机化方法的流程图,所述并行波形分析牵涉与获取第二波形至少部分并行地执行对第一波形的分析。

  具体实施方式

  本技术公开的各种实施例提供了用于硅芯片和其它半导体验证和测试的系统和方法,所述系统和方法使将波形获取到存储器中和对所获取波形进行分析的任务分离。在一个示例实施例中,本文中描述的系统和方法获取在被测设备(DUT)上执行测试所得到的波形,并且至少部分并行地执行对在DUT上执行测试所得到的波形的相应分析。本文中描述的系统和方法还可以获取在DUT上利用示波器执行第一测试所得到的第一波形,并且与获取在DUT上利用示波器执行第二测试所得到的第二波形至少部分并行地执行对第一波形的分析。这样的改进因此增加了测试吞吐量并减少了总体测试时间。

  图1是现有技术示波器波形获取和分析的时序图100。时序图100的纵轴上示出了四个示例测试(测试#1、测试#2、测试#3和测试#4)。

  在半导体验证中执行的测试包括诸如通过AWG来生成测试信号,并且将该测试信号施加到DUT。示波器获取将特定测试信号施加到DUT所得到的波形。然后,系统对将特定测试信号施加到DUT所得到的波形进行分析。因此,每个测试具有波形获取部分和波形分析部分。现有技术系统在开始后续测试的波形获取部分和波形分析部分之前,完成该测试的波形获取部分和波形分析部分。

  特别地,在图1中示出的现有技术示例中,测试#1具有波形获取部分102和波形分析部分104。测试#2具有波形获取部分106和波形分析部分108。测试#3具有波形获取部分110和波形分析部分112。最后,测试#4具有波形获取部分114和波形分析部分116。时序图100示出了相对于其它测试,随时间的经过何时执行每个测试的每个部分。如所示出的,现有技术系统在开始后续测试的波形获取部分和波形分析部分之前,完成每个测试的波形获取部分和波形分析部分。如所示出的,测试#1的波形获取部分102和波形分析部分104这两者都在测试#2的波形获取部分106和波形分析部分108开始之前完成。测试#2的波形获取部分106和波形分析部分108这两者都在测试#3的波形获取部分110和波形分析部分112开始之前完成。最后,测试#3的波形获取部分110和波形分析部分112都在测试#4的波形获取部分114和波形分析部分116开始之前完成。这种顺序处理可以继续用于进行非常大量的附加测试,因此导致对于DUT的总体测试时间非常长。

  图2是根据本公开的各种示例实施例的示波器波形获取和分析的时序图200。

  为了解决根据图1的时序图100执行按顺序的半导体测试和验证的系统所得到的问题,图2图示对在DUT上执行测试所得到的波形的获取,以及至少部分并行地执行对在DUT上执行测试所得到的波形的相应分析。特别地,在图2中所示出的示例中,测试#1具有波形获取部分202和波形分析部分204。测试#2具有波形获取部分206和波形分析部分208。测试#3具有波形获取部分210和波形分析部分212。最后,测试#4具有波形获取部分214和波形分析部分216。时序图200示出了相对于其它测试,随时间的经过何时执行每个测试的每个部分。如所示出的,根据在本文中描述的各种实施例的系统至少部分并行地执行对在DUT上执行测试所得到的所获取波形的相应分析。特别地,测试#1的波形分析部分204、测试#2的波形分析部分208、测试#3的波形分析部分212和测试#4的波形分析部分216全部被至少部分并行地执行(尽管在一些实施例中,对于一些测试的波形获取的分析可以在一些其它测试的分析开始之前完成)。

  在本示例中,系统执行测试#1的波形获取202,并且然后基于该获取的波形继续执行测试#1的分析部分204。然而,在测试#1的分析部分204完成之前,系统开始执行测试#2的波形获取206。此外,在测试#2的分析部分208完成之前,系统开始执行测试#3的波形获取210。更进一步地,在测试#3的分析部分212完成之前,系统开始执行测试#4的波形获取214。

  上述并行处理可以继续用于进行非常大量的附加测试,因此导致在测试吞吐量方面非常大的增加以及在DUT的总体测试时间方面的减少。

  图3是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统的网络架构300的框图。

  在图示网络架构300的示图左侧上示出的是示例硅芯片或客户306的包括测试台304的其它半导体验证实验室的组件。包括测试台304的验证实验室可以包括个人计算机(PC) 308,在各种实施例中,个人计算机(PC)308可以替代地包括其它计算系统、处理设备或计算机服务器。连接到PC 308的是各种测试和测量装备,包括示波器314、AWG 316、分析器318、电压表312和误码率测试器(BERT) 310。各种实施例中的示例附加装备可以包括任意函数发生器(AFG)和探头。

  测试装备可以经由一种或多种类型的网络和/或通信连接而被连接到PC 308,所述一种或多种类型的网络和/或通信连接包括但不限于20G以太网连接、通用串行总线(USB)连接和通用接口总线(GPIB)连接。这样的测试装备可以直接或间接地连接到DUT320。在一个示例中,PC 308被配置为执行和/或控制DUT 320的表征、硅/芯片或其它半导体初启(bring-up),以及针对DUT 320的某个水平的测试自动化。在硅芯片和其它半导体的验证和测试中涉及这样的处理,并且可以包括对DUT 320的半导体的所有特征的系统性测试。例如,对于要应用于DUT 320的每个测试,AWG 316可以生成测试信号,并且该测试信号被施加到DUT 320。然后示波器314可以获取将每个特定测试信号施加到DUT 320所得到的波形。PC 308可以发起和控制该处理,该处理包括在DUT 320上运行多个测试。

  PC 308连接到内部部署网络322(或“实验室网络”322),例如,内部部署网络322(或“实验室网络”)322可以包括局域网(LAN),并且可以充当实验室网络322上的本地控制器或服务器。实验室网络322可以经由防火墙326与一个或多个其它公共或私人网络分离。还连接到实验室网络322的是内部部署云计算服务器324。诸如通过实验室网络322将针对多个不同的测试获取的波形电子地传送到内部部署云计算服务器324,PC 308可以将所获取的波形存储到分解的持久性存储器334中。内部部署云计算服务器324可以启用并且执行对多个所获取波形的并行分析,所述多个所获取波形中的每个是在测试台304处在DUT 320上执行不同测试的结果。例如,云计算服务器324至少部分并行地执行对在DUT 320上的测试台304处执行测试所得到的所获取波形的相应分析。在测试台304处使用PC 308、AWG 316和示波器314来获取针对每次测试的波形以及使用云计算服务器324来执行对这样的波形的分析使将波形获取到存储器中和对所获取波形进行分析的上述任务分离。云计算服务器324还可以与示波器314获取在DUT 320上利用示波器314执行另外的测试所得到的另外的波形至少部分并行地执行对一个波形的分析。这样的改进因此增加了测试吞吐量并且减少了总体测试时间。

  在一些实施例中,PC 308和/或内部部署云计算服务器324可以可选地连接到公共云计算系统328。例如,这样的公共云计算系统328可以包括经由实验室网络322可访问的云计算服务器,该实验室网络322通过防火墙326连接到互联网。在这样的实施例中,PC 308和/或内部部署云计算服务器324可以通过实验室网络322将在DUT 320上执行的多个不同测试所获取的波形电子地传达到公共云计算系统328,该实验室网络322连接到诸如互联网之类的公共网络。除了内部部署云计算服务器324之外或替代内部部署云计算服务器324,公共云计算系统328可以使得能够实现并且执行对多个所获取波形的并行分析,所述多个所获取波形中的每个是在测试台304处在DUT 320上执行不同测试的结果。诸如远程用户332的远程用户的其它计算系统或设备330也可以经由公共网络来访问公共云计算系统328,以及相关联的测试结果、装备日志和测试资产管理数据。

  在一些实施例中,内部部署云计算服务器324和/或公共云计算系统328可以在这样的系统上实现的数据湖中存储在DUT 320上执行测试所得到的测试和验证数据。如本文中使用的数据湖是基于安全策略跨不同位置存储数据并且与不同用户(例如,诸如远程用户332的远程用户的设备330)共享这样的数据的集中式储库。数据湖可以存储关系和非关系数据,这可以允许来自各种测试装备和源的数据被按原样存储,而不必首先构造数据。例如,内部部署云计算服务器324和/或公共云计算系统328还可以存储来自验证实验室的各种装备(例如,包括示波器314、AWG 316、分析器318、电压表312和BERT 310)的日志,以及库存信息,以保持跟踪网络322以及可选的其它网络上的所有装备。存储在数据湖中的结果可以用于执行深度分析和关联。利用分析功能,使得用户能够对测试结果和装备日志进行智能分析。

  在各种实施例中,内部部署云计算服务器324和/或公共云计算系统328的数据湖以电子方式使得客户306和其它远程用户能够访问被存储在内部部署云计算服务器324和/或公共云计算系统328上的波形的相应分析的结果,以用于执行对测试结果的分析。通过在DUT 320上的测试所得到的测试装备(例如,包括示波器314、AWG 316、分析器318、电压表312和BERT 310)的装备日志也可以存储在内部部署云计算服务器324和/或公共云计算系统328上。在内部部署云计算服务器324和/或公共云计算系统328上存储测试装备的装备日志使得客户306和远程用户(例如,诸如远程用户332的远程用户的其它计算系统或设备330)能够访问装备日志,以用于使用装备日志的分析的执行。

  通过在DUT 320上的测试所得到的多个测试资产(例如,包括示波器314、AWG 316、分析器318、电压表312和BERT 310)的库存信息也可以存储在内部部署云计算服务器324和/或公共云计算系统328上。这使得各种系统(例如,诸如远程用户332的远程用户的PC308和/或其它计算系统或设备330)能够在网络322上使用多个测试装备的库存信息来保持对多个测试资产的跟踪。

  图4是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统的示例架构400中的并行分析组件412a-412e的框图。

  在图4中示出的是用于并行波形分析的测试和测量系统的用户402的计算系统404。例如,用户402可以是图3的客户306。在本示例实施例中,计算系统404使用万维网应用(Web App)406作为前端接口来与控制所获取波形的并行分析的执行引擎408进行对接和通信。因此,经由Web App 406,可以从在其中获取波形的验证实验室远程地执行对所获取波形的并行分析的执行。例如,计算系统404可以是图1的远程用户332的PC 308或者一个或多个设备330。

  在本示例实施例中,计算系统404可以使用Web App 406经由表述性状态转移(RESTful或REST)应用编程接口(API)与执行引擎308对接。REST API是开放的API,它被设计为利用现有的协议。因为REST可以通过几乎任何协议使用,所以开发人员不需要为了利用REST API设计而安装库或附加的软件。与简单对象访问协议(SOAP)不同,REST不局限于可扩展标记语言(XML),而是替代地可以取决于客户端请求的内容而返回XML、JavaScript对象标记(JSON)或任何其它格式。与远程过程调用(RPC)不同,使用REST,用户和系统不需要知道以特定次序的过程名或特定参数。

  还示出了与执行引擎408进行可操作地通信的获取服务418。获取服务418经由接口固定装置428(例如,外围组件快速互连第四代(PCIe4)固定装置)获取来自DUT 426(例如,集成电路)的波形,所述波形是在DUT 426上执行单独测试所得到的。例如,获取服务418可以是由示波器422(例如,可从Tektronix股份有限公司获得的Tektronix DPO73304D高速数字荧光示波器)提供或执行的服务。然而,执行引擎408可以经由REST API发起和控制何时发生这样的波形获取。在本示例实施例中,获取服务418与AWG 432(例如,可从Tektronix股份有限公司获得的Tektronix AWG7122C任意波形发生器)可操作地通信,该AWG 432生成被施加到与DUT 426连接的接口固定装置428的测试信号,以在DUT 426上执行各种单独的测试。获取服务418还与功率控制单元424可操作地通信,该功率控制单元424生成被施加到与DUT 426连接的接口固定装置428的功率控制信号,以在DUT 426上执行各种单独的测试。在示例实施例中,获取服务418可以经由虚拟仪器软件架构(VISA)连接来连接到AWG 4xx和功率控制单元424。

  获取服务418经由API服务416将在DUT 426上执行测试所获取的波形传递到数据库414。数据库414可以是集中式的数据服务器,其保持所获取波形的记录和波形的相关联的元数据。并行波形分析的执行可以基于微服务架构。例如,经由API服务416传递到数据库414的针对特定测试的每个波形可以触发执行引擎408实例化或以其它方式发起波形分析应用的独立并行实例作为微服务来分析波形。执行引擎408可以经由REST API发起波形分析应用的独立并行实例作为微服务。例如,响应于每个波形的获取,可以发起单独的波形分析应用,并且将对应的波形从数据库414传送到波形分析应用。在本示例中,多个波形分析应用412a、412b、412c、412d、412e和412f每个都响应于接收到数据库414中通过在DUT 426上运行不同的相应测试所得到的相应波形而被实例化。多个波形分析应用412a、412b、412c、412d、412e和412f中的每个与彼此至少部分并行地运行。来自多个波形分析应用412a、412b、412c、412d、412e和412f的分析结果也可以存储在数据库414中用于进一步的分析。

  执行引擎408可以利用用于发布-订阅消息模式的事件通知总线来操作,以实现对所获取波形的并行分析。发布-订阅消息模式是一种消息模式,其中消息的发送者(称为发布者)不将消息编程为直接发送给特定的接收者(称为订阅者),而是替代地将发布的消息(作为事件通知总线上的事件)分类到类中,而不知道可能存在哪些订阅者(如果有的话)。类似地,订阅者表达对一个或多个类感兴趣,并且仅接收或阅读感兴趣的消息,而不知道存在哪些发布者(如果有的话)。获取服务418和/或执行引擎408在事件通知总线上自注册为订阅者和/或发布者,使得在获取波形时,执行引擎408相应地在事件通知总线上接收这样的测量作为消息,以触发多个波形分析应用(例如,相应地,412a、412b、412c、412d、412e和412f)的实例化。API服务416被配置为支持这样的发布-订阅消息系统。然而,在一些实施例中,其它这样的消息队列模型可以被使用并且由API服务416支持。在各种实施例中,使用微服务架构和/或发布-订阅消息模式使得Web App 406、执行引擎408、API服务416和数据库414能够每个都在不同的单独的计算机、服务器、PC或其它计算系统上独立地运行。在一些实施例中,Web App 406、执行引擎408、API服务416、数据库414和波形分析应用412a、412b、412c、412d、412e和412f可以包括远离用户402的示波器422和计算系统404的并行分析系统430。在一些实施例中,Web App 406、执行引擎408、API服务416、数据库414可以使用Linux/Windows系统来实现,并且波形分析应用412a、412b、412c、412d、412e和412f可以使用Windows/Linux系统来实现。

  图5是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例操作500的序列图。

  在图5中所示出的示例操作500是可以由图4的示例架构400中示出的各种并行分析组件执行的操作。特别地,用户402可以使用Web App 406来最初选取要执行的特定测量,并且配置用于测试DUT的测试装备。然后,用户402使用Web App 406来根据要执行的特定测量开始具有对应的测试排列的一组测量。基于对应的测试排列,执行引擎408发送向获取服务418通知开始获取第一波形(波形1)的消息。获取服务418将波形1发送到API服务416,然后该API服务416与数据库414对接,以将波形1发送到数据库414。数据库414然后发送向执行引擎408通知波形1已经被捕获并且准备好用于分析的消息。

  向执行引擎408通知波形1已经被捕获的消息触发执行引擎408发送向获取服务418通知开始获取第二波形(波形2)的消息。因此,当波形1被捕获时,系统开始捕获波形2。获取服务418然后将波形2发送到API服务416,该API服务416与数据库414对接以将波形2发送到数据库414。系统开始与获取波形2至少部分并行地进行的对波形1的分析。例如,执行引擎408实例化用于波形1的Docker®实例,其是图4的自给式波形分析应用(例如,412a)的实例的示例,并且包括包含这样的实例的总体分析服务412的部分,并且使得执行引擎408能够对波形1执行测量。Docker®是可从Docker股份有限公司获得的软件平台,它以软件容器的形式将应用及其所有依赖项封装在一起。Docker®的集装化方面确保了应用(例如,波形分析应用412a)在任何环境中工作。然而,可以使用其它集装化平台和软件实现。因此,在捕获波形2的同时,开始对波形1的测量分析。在对波形1的测量分析发生的同时,数据库414发送向执行引擎408通知波形2已经被捕获并且准备好用于分析的消息。

  响应于向执行引擎408通知波形2已经被捕获的消息,执行引擎408实例化用于波形2的Docker®实例,其是图4的自给式波形分析应用(例如,412b)的实例的示例,并且包括包含这样的实例的总体分析服务412的部分,并且使得执行引擎408能够对波形2执行测量。在针对波形2的测量分析发生的同时,执行引擎408发送向获取服务418通知开始获取第三波形(波形3)的消息。获取服务418然后将波形3发送到API服务416,该API服务416与数据库414对接以将波形3发送到数据库414。一旦被数据库414捕获,数据库414就发送向执行引擎408通知波形3已经被捕获并且准备好用于分析的消息。对于附加波形,上述处理可以通过如下继续:至少部分并行地执行对利用一个示波器在DUT上执行不同测试所得到的不同波形的相应分析,以及与获取在DUT上执行不同测试所得到的不同波形至少部分并行地执行对所述波形的分析。

  图6是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例存记和监控架构600的框图。

  图6中示出了一件或多件测试装备602,其可以包括资产子系统604、分析子系统606、资产子系统608和配置子系统610。测试装备602可以使用REST经由API网关612与远程存记和监控系统614的存记API 616和测试监控API 620通信。还示出了诸如图3的客户306或图4的用户402之类的客户的计算系统的日志可视化Web App 626,其可以使用REST经由API网关630与远程存记和监控系统614的日志数据分析API 622通信。在各种实施例中,测试装备602可以是或可以包括示例验证实验室的用于图3的客户306和/或远程用户332的设备330的测试和测量设备。在各种实施例中,测试装备602可以是或可以包括测试和测量装备,诸如图4的示波器422和AWG 432。Web App 626可以是或可以包括图4的Web App 406,该Web App 406是去往图4的执行引擎408的前端接口,并且使得能够实现与图4的执行引擎408的通信,该图4的执行引擎408控制对所获取波形的并行分析。

  日志储库618经由存记API 616从测试装备602接收对应的存记数据,并且经由测试监控API 620接收测试监控数据。日志储库618还经由日志数据分析API 622接收从日志可视化Web App 626传送的对应日志数据分析数据。远程存记和监控系统614在日志储库618(其可以是云计算系统)上存储测试装备602的装备日志,所述装备日志是通过在DUT上运行的测试所得到的。远程存记和监控系统614使得诸如用户402之类的远程用户能够诸如经由API网关630访问装备日志,以用于使用装备日志的分析的执行。

  使用被存储在日志储库618中的数据,日志和监控分析引擎628捕获在诸如测试装备602之类的测试和测量仪器中以及对应的软件层中的活动的详细日志。存储在日志储库618中的不同类别的日志的示例包括错误、警告、信息和调试日志。日志和监控分析引擎618监控装备和测试日志,并且可以捕获系统度量或使得能够实现对系统度量的捕获,所述系统度量包括中央处理单元(CPU)度量、存储器度量以及在任何时间点处运行的特定服务的实例数量(例如,并行分析组件412的数量)。由日志和监控分析引擎618执行的测试监控也可以捕获测试中的事件。对日志和监控分析引擎618的测试监控还可以提供关于测试执行的细节,诸如在针对每个活动的测试中花费的时间。

  图7是图示根据本公开的各种示例实施例的用于并行波形分析的测试和测量系统中的示例资产管理和控制架构700的框图。

  示出了包括多件装备的多个测试资产。例如,装备1 702和装备2 702可以是任何两件不同的测试装备,例如示波器、DUT、电压表、探头和诸如测试软件之类的虚拟资产、或者一个或多个信号发生器704(诸如AWG和/或AFG)。在各种实施例中,装备1 702或装备2702可以是或可以包括用于图3的客户306和/或远程用户332的设备330的示例验证实验室的任何一件测试和测量装备。在本示例中,对于装备1 702,可以存在装备数据和日志流API706、装备控制API 708和装备定位器以及验证API 710。另外,对于装备2 704,可以存在装备日志流API 728、装备定位器和验证API 714以及装备控制API 712。

  还示出了远程资产管理系统730,该远程资产管理系统730包括资产定位器引擎720(其向资产管理API 724提供资产定位器数据)、资产控制器722和资产储库726。装备数据和日志流API 706和装备日志流API 728经由API网关718与资产管理系统730的资产管理API 724对接并且将装备数据和日志数据传送到资产管理系统730的资产管理API 724。资产储库726存储经由API网关718和资产管理API 724传送的关于装备702和发生器704的这样的数据(例如,库存信息、装备状态、装备使用、装备位置等),以管理装备702和发生器704,包括用于测试DUT的软件的实例。资产管理系统730使用被存储在资产储库726中的这样的信息来保持跟踪多个测试资产,包括装备702和发生器704以及在图3和图4中示出的各种设备。

  资产控制器722还可以通过经由资产控制器722和资产定位器引擎720发送到装备702的相应装备控制API 708和装备定位器和验证API 710以及发生器704的相应装备定位器和验证API 714和装备控制API 712的控制信号,来控制装备702和发生器704在相应资产中执行某些动作。例如,资产控制器722可以管理包括装备702和发生器704在内的多个测试资产的自动软件升级,并且管理针对这样的资产的许可。另外,使用被存储在资产储库726中的数据,资产管理系统730可以确定多个测试资产的使用模式,以促进用户对资源使用的优化。

  图8是图示根据本公开的各种示例实施例的示例测试自动化平台架构800的框图,用于并行波形分析的测试和测量系统可以在该示例测试自动化平台架构800内操作。

  图8中示出了测试自动化平台806,其经由API与为DUT 810提供自动化测试的外部测试自动化框架802进行通信。测试自动化平台806与用于测试DUT 810的示波器808、定制测试脚本和代码812、环境控制系统814和AWG 816通信,并且可以对它们进行控制。这样的测试自动化可以通过开放的API经由外部测试自动化框架802来被远程地配置、发起、更新和/或控制。物理硬件不可知的测试套件、报告模板和装备管理也可以经由与外部测试自动化框架802通信的测试自动化平台806来提供。在各种实施例中,外部测试自动化框架802是可以利用包括Python、Java和C#的各种编程语言来构建和/或实现的软件框架。还示出了结构化标准化数据的数据库804,测试自动化平台806可以利用不可知的测试套件、报告模板、装备管理数据和关于测试和测试装备的其它数据来更新该结构化标准化数据的数据库804。

  测试自动化平台806和外部测试自动化框架802可以包括图4中的并行分析组件和/或与图4中的并行分析组件集成,用户403经由Web App 406与图4中的并行分析组件通信。另外,数据库804可以是或可以并入图4的数据库414、图6的日志储库618和/或图726的资产储库的数据。

  图9是图示根据各种示例实施例的示例计算设备910的概览框图,在所述示例计算设备910中可以实现用于并行波形分析的测试和测量系统的实施例。

  计算设备910是示例计算设备,其可以是本文中描述的用于并行波形分析系统的测试和测量系统或可以包括在所述测试和测量系统中。例如,计算设备910是示例计算设备,其可以是或可以包括图3的PC 308、内部部署云计算服务器324、公共云计算系统328的计算设备和/或远程用户的计算系统或设备330中的一部分。另外,计算设备910的存储系统可以包括和/或实现图4的数据库414、图6的日志储库618和/或图7的资产储库726。

  在所示出的实施例中,测试系统计算设备910包括计算机存储器(“存储器”)901、显示器902(其包括但不限于发光二极管(LED)面板、液晶显示器(LCD)、触摸屏显示器等)、一个或多个中央处理单元(“CPU”)903、输入/输出设备904(例如,按键面板、键盘、鼠标、RF或红外接收器、通用串行总线(USB)端口和其它通信端口等)、其它计算机可读介质905和通信连接206。示出了驻留在存储器901中的诸如本文中描述的用于并行波形分析的操作的测试系统操作902。在其它实施例中,测试系统操作902的内容中的一些部分以及组件中的一些或全部可以存储在其它计算机可读介质905上和/或通过其它计算机可读介质905传输。在各种实施例中,云计算系统328、分解的持久性存储器334、数据库414、日志储库618、资产储库726和/或数据库804的存储装置可以包含、包括或可以是其它数据存储装置920的一部分。

  测试系统操作902的组件优选地在一个或多个CPU 903上执行,并且执行或以其它方式促进:获取在被测设备(DUT)上执行测试所得到的波形、以及至少部分并行地执行对在DUT上执行测试所得到的波形的相应分析。测试系统操作902还可以在一个或多个CPU 903上执行,以获取在DUT上利用示波器执行第一测试得到的第一波形,并且与获取在DUT上利用示波器执行第二测试所得到的第二波形至少部分并行地执行对第一波形的分析。

  在其它实施例中,可以使用其它处理设备和配置,包括但不限于图形处理单元(GPU)、ASIC和嵌入式CPU/GPU块。测试系统操作902可以作为被存储在存储器901中的各种软件应用来操作、作为被存储在存储器901中的各种软件应用的一部分,或者结合被存储在存储器901中的各种软件应用来工作和/或与之合作。测试系统操作902还促进经由通信系统908与远程用户计算系统904(诸如图3中所示的计算系统或设备330)以及与测试装备906(诸如用于图3的客户306和/或远程用户332的设备330的示例验证实验室的测试和测量装备)的通信。

  通信系统908可以包括许多不同类型的通信介质,包括由现在已知或以后开发的各种不同物理和逻辑通信信道所利用的那些通信介质。非限制性介质和通信信道示例包括以下各项中的一个或多个或任何可操作的组合:通用串行总线(USB)、外围组件互连(PCI)、Wi-Fi系统、WLAN系统、短程无线(例如蓝牙®)系统、对等网络系统、高清晰度多媒体接口(HDMI)、硬连线系统、通信总线、计算机网络线缆、广域网(WAN)系统、互联网、线缆系统、电话系统、光纤系统、微波系统、异步传输模式(“ATM”)系统、帧中继系统、数字用户线(“DSL”)系统、射频(“RF”)系统、蜂窝系统和卫星系统。

  测试系统操作902可以包括贯穿本公开所描述的一个或多个API(例如,API 620、API服务416、API 616、API 620、API 622、API网关630等),其提供对测试系统操作902的一个或多个功能或服务的编程访问,包括例如执行引擎408和获取服务418的服务。诸如API620、API服务416、API 616、API 620、API 622和API网关630之类的API可以向测试系统操作902的一个或多个功能提供编程接口,所述一个或多个功能可以通过用户Web App 40、执行引擎408、获取服务418和/或由其它程序230表示的本文中描述的其它程序、引擎、数据库或服务中的一个来被调用。

  在示例实施例中,使用标准编程技术来实现测试系统操作902的组件/模块。例如,测试系统操作902可以连同一个或多个静态或动态库被实现为运行在CPU 903上的“本机”可执行程序。在其它实施例中,测试系统操作902可以被实现为由作为其它程序930之一执行的虚拟机所处理的指令,或者被实现为经由集装化平台履行的微服务。一般而言,可以采用一系列编程语言来用于实现这样的示例实施例,所述一系列编程语言包括各种编程语言范例的代表性实现,其包括但不限于:面向对象的语言(例如,JSON、Java、C++、C#、可视化Basic.NET和Smalltalk等)、函数式语言(例如,ML、Lisp和Scheme等)、过程式语言(例如,C、Pascal、Ada和Modula等)、脚本语言(例如,Perl、Ruby、Scratch、Python、JavaScript和VBScript等)或声明性语言(例如,SQL和Prolog等)。

  在软件或固件实现中,存储在存储器中的指令在被执行时配置测试系统计算设备910的一个或多个处理器(例如,CPU),以执行测试系统操作902的功能。所述指令使得CPU903或诸如I/O控制器/处理器的一些其它处理器执行本文中描述的处理。

  本文中描述的实施例还可以使用其它同步或异步客户端-服务器计算技术。然而,各种组件也可以使用更多的单片编程技术来实现——例如作为在单个CPU计算机系统上运行的可执行程序——或者可替换地使用各种结构化技术来分解,所述各种结构化技术包括但不限于:在一个或多个计算机系统上运行的多程序、多线程、客户端-服务器或对等技术(例如,蓝牙®无线技术),所述一个或多个计算机系统每个都具有一个或多个CPU或其它处理器。一些实施例可以并发和异步地执行,并且使用消息传递技术来进行通信。测试系统操作902的实现也支持等效的同步实施例。另外,其它功能可以由每个组件/模块、并且以不同的次序、以及由不同的组件/模块来实现和/或执行,但仍然实现所述实现的功能。

  此外,去往作为测试系统操作902的一部分而被存储的数据的编程接口可以是通过以下各项可获得的:诸如通过C、C++、C#、和Java API的机制;用于访问文件、数据库或其它数据储库的库;脚本语言;或Web服务器、FTP服务器或提供对所存储的数据和机器学习模型的访问的其它类型的服务器。

  程序和数据的不同配置和位置被设想用于与本文中描述的技术一起使用。各种分布式和/或云计算技术适用于以分布式方式实现所图示实施例的组件,所述组件包括但不限于:TCP/IP、REST、套接字、RPC、RMI、HTTP和Web服务(XML-RPC、JAX-RPC和SOAP等)。其它变化是可能的。其它功能性也可以由每个组件/模块提供,或者现有的功能性可以以不同的方式分布在组件/模块之中,但仍然实现测试系统操作902的功能。

  更进一步地,在一些实施例中,测试系统操作902的组件中的一些或所有可以以其它方式、诸如至少部分地以固件和/或硬件来实现或提供,所述固件和/或硬件包括但不限于一个或多个专用集成电路(“ASIC”)、标准集成电路、控制器(例如,通过执行适当的指令,并且包括微控制器和/或嵌入式控制器)、现场可编程门阵列(“FPGA”)和复杂可编程逻辑器件(“CPLD”)等。系统组件和/或数据结构中的一些或所有也可以作为内容(例如,作为可执行或其它机器可读软件指令或结构化数据)存储在计算机可读介质(例如,如硬盘;存储器;计算机网络、蜂窝无线网络或其它数据传输介质;或由适当的驱动器或经由适当的连接读取的便携式介质制品(诸如闪速存储器设备))中,从而启用或配置计算机可读介质和/或一个或多个相关联的计算系统或设备以执行或以其它方式使用、或者提供所述内容来执行所描述的技术中的至少一些。

  图10是根据各种示例实施例的用于在用于并行波形分析的测试和测量系统中进行并行波形分析的示例计算机化方法1000的流程图。

  在1002处,测试和测量系统电子地获取在被测设备(DUT)上执行第一测试所得到的来自DUT的第一波形。

  在1004处,系统响应于对在DUT上执行第一测试所得到的第一波形的获取,开始电子地分析在DUT上执行第一测试所得到的第一波形。

  在1006处,系统还响应于在DUT上执行第一测试所得到的第一波形的获取,在分析在DUT上执行第一测试所得到的第一波形的同时,开始电子地获取在DUT上执行第二测试所得到的来自DUT的第二波形。

  在1008处,系统响应于获取在DUT上执行第二测试所得到的第二波形,还在分析在DUT上执行第一测试所得到的第一波形的同时,开始电子地分析在DUT上执行第二测试所得到的第二波形。

  在1010处,系统还响应于获取在DUT上执行第二测试所得到的第二波形,开始电子地获取在DUT上执行第三测试所得到的第三波形。在分析在DUT上执行第一测试所得到的第一波形的同时,还执行获取在DUT上执行第三测试所得到的第三波形的开始。

  系统还可以电子地获取在DUT上执行附加测试所得到的附加波形。系统可以至少部分并行地、电子地执行对在DUT上执行附加测试所得到的附加波形的相应分析。与执行对除了附加波形之外的其它波形的相应分析至少部分并行地执行对在DUT上执行附加测试所得到的一个或多个附加波形的获取。

  图11是根据各种示例实施例的用于在用于并行波形分析的测试和测量系统中进行并行波形分析的另一示例计算机化方法1100的流程图。

  在1102处,测试和测量系统获取在被测设备(DUT)上执行测试所得到的波形。例如,系统可以从示波器获取波形,并且将所述波形存储到分解的持久性存储器中。

  在1104处,系统至少部分并行地执行对在DUT上执行测试所得到的波形的相应分析。系统可以在云计算系统上自动存储波形的相应分析的结果,并且以电子方式使得远程用户能够访问被存储在云计算系统上的波形的相应分析的结果,以用于执行对结果的分析。

  图12是根据各种示例实施例的用于在用于并行波形分析的测试和测量系统中进行并行波形分析的示例计算机化方法1200的流程图,所述并行波形分析牵涉与获取第二波形至少部分并行地执行对第一波形的分析。

  在1202处,测试和测量系统获取在被测设备(DUT)上利用示波器执行第一测试所得到的第一波形。

  在1204处,系统与获取在DUT上利用示波器执行第二测试所得到的第二波形至少部分并行地执行对第一波形的分析。例如,用于第一波形的波形分析应用可以由执行引擎响应于第一波形的获取来实例化。然后系统可以通过波形分析执行引擎响应于第二波形的获取,来与执行用于第一波形的波形分析应用至少部分并行地实例化用于第二波形的波形分析应用的实例。系统还可以在云计算系统上存储通过在DUT上的附加测试所得到的测试装备的装备日志,并且使得远程用户能够访问所述装备日志,以用于使用装备日志的分析的执行。

  虽然在上文中已经描述了各种实施例,但是应当领会,在不脱离当前或后文要求保护的(多个)本发明的精神和范围的情况下,可以在形式和细节方面作出各种改变。

《用于并行波形分析的测试和测量系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)