用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施的制作方法_3

文档序号:9620699阅读:来源:国知局
061]参考图2A的控制系统110,通信接口(例如,通信接口 122)可用于提供每个客户端系统151、152和153与网络150之间的连接性。客户端系统151、152和153能够使用例如Web浏览器或其他客户端软件来访问服务器141或145上的信息。这样的软件可允许客户端系统151、152和153访问由服务器140、服务器145、存储设备160 (1) - (L)、存储设备170(1)-(N)、存储设备190(1)-(M)或智能存储阵列195所托管的数据。尽管图2B描绘使用用于交换数据的网络(如因特网),但本文所述的实施例不限于基于因特网或任何特定的网络的环境。
[0062]在一个实施例中,本文所公开的示例性实施例中的一个或多个的全部或一部分被编码为计算机程序并被加载到服务器141、服务器145、存储设备160(1)-(L)、存储设备170(1)-(N)、存储设备190(1)-(M)、智能存储阵列195或其任何组合上并由其执行。本文所公开的示例性实施例中的一个或多个的全部或一部分也可被编码为计算机程序、存储在服务器141中、由服务器145运行并通过网络150分布至客户端系统151、152和153。
[0063]用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施
[0064]在常规系统中,用于与被测器件(DUT)进行通信的通信协议是固定的,因为插接到ATE主体中的硬件总线适配器卡是典型的单一用途设备,其被设计为仅在一个协议下通信并且不能重新编程为在不同协议下通信。测试仪可重新配置性通常可以多种方式来提高。一种方式是通过配置硬件,使得用于与DUT进行通信的协议引擎直接被编程在测试仪仪器上的可再编程FPGA设备上,而不是将协议引擎固定在测试仪处理器内的固件中。另夕卜,可使用于编程FPGA的协议在基于云的基础设施上可用,以使得用户可直接从网络访问并配置FPGA设备上所使用的测试协议。
[0065]图3A-3C示出用于硬件器件测试的仪器的一个实施例,其中用于与DUT进行通信的通信协议是可配置的。然而,本发明的原理可结合任何仪器使用,其中仪器可被重新配置以在若干不同协议中的任一种下通信。
[0066]图3A是根据本发明的实施例的自动测试设备(ATE)仪器300的示例性高级框图,其中系统控制器301控制测试仪处理器305,测试仪处理器305通过具有内置功能模块的FPGA设备连接至被测器件(DUT)。在一个实施例中,ATE仪器300可在能够同时测试多个DUT的任何测试系统内实施。
[0067]参考图3A,根据本发明的实施例的用于更有效地测试半导体器件的ATE仪器300包括:系统控制器301 ;网络交换机302,其将系统控制器连接至站点模块板310A-310N ;FPGA设备321A-321M,其包括实例化FPGA测试仪块320A-320N ;存储器块模块360A-360M,其中每个存储器块连接至FPGA设备321A-321M之一;以及被测器件(DUT) 372A-372N,其中每个被测器件372A-372N连接至实例化FPGA测试仪块320A-320N之一。
[0068]在一个实施例中,系统控制器301可以是为ATE的用户提供用户接口以针对连接至ATE 300的DUT加载测试程序并运行测试的计算机系统(例如,控制系统110)。VerigyStylus?操作系统是器件测试期间通常使用的测试软件或测试应用的一个实例。它向用户提供(i)测试开发环境和(ii)器件测试环境。它还包括图形用户界面,从该图形用户界面来配置和控制测试。它还可包括控制测试流程、控制测试程序状态、确定哪个测试程序正在运行以及记录测试结果和与测试流程有关的其他数据的功能。在一个实施例中,系统控制器可连接并控制至多512个DUT。典型地,用户还通过图形用户界面将测试程序加载到系统控制器301中。测试程序定义需要对DUT运行的测试的所有参数。
[0069]在一个实施例中,系统控制器301可通过网络交换机(例如,以太网交换机)连接至站点模块板310A-310N。在其他实施例中,网络交换机可以可与不同协议(例如,光纤通道、802.11或ATM)兼容。
[0070]在一个实施例中,站点模块板310A-310N中的每一个可以是用于评估和开发目的的分开的独立的板,其附接至定制搭载板固定物(DUT 372A-372N搭载在其上)并且还附接至系统控制器301 (从其接收测试程序)。在其他实施例中,站点模块板可实施为插接到连接至系统控制器301的机架中的插入式扩展卡或子插件板。
[0071]站点模块板310A-310N各自可包括至少一个测试仪处理器305和至少一个FPGA设备。站点模块板上的测试仪处理器305和FPGA设备321A-321M根据从系统控制器301接收的测试程序指令运行针对每种测试用例的测试方法。在一个实施例中,测试仪处理器可以是可购得的Intel 8086CPU或任何其他众所周知的处理器。另外,测试仪处理器可在Ubuntu OS x64操作系统上操作并运行Core软件,这允许测试仪处理器与在系统控制器上运行的Stylus软件通信,以便运行测试方法。测试仪处理器305基于从系统控制器接收的测试程序控制站点模块上的FPGA设备和连接至站点模块的DUT。在一个实施例中,测试方法驻留在系统控制器301上并根据正在测试什么协议而被从系统控制器301上的测试应用推送到测试仪处理器305上。
[0072]测试仪处理器305通过总线312连接至FPGA设备并可与其通信。在一个实施例中,测试仪处理器305通过独立的专用总线与FPGA设备321A-321M中的每一个通信。在一个实施例中,测试仪处理器305可通过具有分配给FPGA设备的最小处理功能的FPGA透明地控制DUT 372A-372N的测试。在该实施例中,总线312上的数据业务可快速地被耗尽,因为由测试仪处理器生成的所有命令和数据需要通过总线传达至FPGA设备。在其他实施例中,测试仪处理器305可通过以下方式来共享处理负载:通过一系列硬件加速模式将控制DUT的测试的功能分配给FPGA设备。在这些实施例中,总线312上的业务因为FPGA设备可生成它们自己的命令和数据而减少。这允许与DUT进行低延迟通信。
[0073]在一个实施例中,FPGA设备321A-321M中的每一个连接至其自己的专用存储器块360A-360M。除其他法方面之外,这些存储器块可用于存储写出至DUT的测试模型数据。在一个实施例中,FPGA设备中的每一个可包括两个实例化FPGA测试仪块320A-320B,其具有用于执行如本文进一步所述的功能(包括通信协议引擎和硬件加速器的实现)的功能模块。存储器块360A-360M各自可含有一个或多个存储器模块,其中存储器块内的每个存储器模块可专用于实例化FPGA测试仪块320A-320B中的一个或多个。因此,实例化FPGA测试仪块320A-320B中的每一个可连接至其自己的存储器块360A内的专用存储器模块。在另一个实施例中,实例化FPGA测试仪块320A和320B可共享存储器块360A内的存储器模块之一。
[0074]另外,在“每DUT —测试仪”配置(其中每个DUT连接至其自己的测试仪块)中,系统中的DUT 372A-372N中的每一个可连接至专用实例化FPGA测试仪块320A-320N。这允许针对每个DUT执行独立测试。这种配置中的硬件资源以利用最小硬件共享来支持单个DUT的方式来设计。这种配置还允许并行地测试许多DUT,其中每个DUT可连接至其自己的专用FPGA测试仪块并运行不同测试程序。
[0075]图3A中所描绘的本发明的实施例的体系架构具有一些显著优点。例如,它消除了系统中对协议特定的硬件总线适配器卡座和卡的需要,因为通信协议模块可直接被编程在FPGA设备内的实例化FPGA测试仪块上。实例化测试仪块可被配置来在DUT所支持的任何协议下与DUT通信。因此,如果需要测试支持不同协议的DUT,可将它们连接至同一系统并且可将FPGA再编程为支持相关联协议。其结果是,一个ATE主体可容易地被配置来测试支持许多不同类型的协议的DUT。
[0076]在本发明的一个实施例中,运行系统控制器301的测试应用(例如,VerigyStylus?)作为测试开发环境的一部分具有内置功能,以允许用户对将要编程到FPGA上的协议和FPGA的不同硬件加速模式进行控制。因此,用户可容易地通过与测试应用相关联的图形用户界面(GUI)选择在硬件上编程的协议和硬件加速级别。在一个实施例中,测试应用包括控制测试程序流程并控制测试程序状态的测试仪状态机。
[0077]应当注意,本发明不限于仅仅通过使用FPGA设备来实现硬件可重新配置性。在一个实施例中,可通过使用各种可编程逻辑器件中的任一种(例如,可编程逻辑阵列(“PLA”)、复杂可编程逻辑器件(“CPLD”)、可编程阵列逻辑(“PAL”)等)来使经由测试仪处理器305与系统控制器301通信的站点模块310A-310N可重新编程。在不同实施例中,可通过其他方式(例如,使得测试处理器本身可重新配置)来使在站点模块上运行的协议可重新配置。这种系统中的测试仪处理器可以例如是数字信号处理器(DSP)。以下专利中详细描述包括可重新配置的测试仪处理器的部件、功能和过程:V0lkerink、EriC于2009年9月15日发布的标题为“用于自动测试设备的可重新配置的体系架构(Re-configurableArchitecture For Automated Test Equipment) ”的美国专利 7,590,903,其全部内容以引用的方式并入本文。
[0078]在一个实施例中,新协议可经由从系统控制器301上的缓存的简单位流下载来被下载并直接安装在FPGA上,而无需任何种类的硬件交互。在一个实施例中,当用户选择将要通过系统控制器301上的测试应用安装的新协议时,测试应用可被配置来发送位流。
[0079]例如,ATE仪器300中的FPGA 321A-321M可初始地利用PCIe协议进行配置以测试PCIe器件,并随后通过软件下载进行重新配置以测试SATA器件。而且,如果发布新协议,则FPGA可通过位流下载而不是必须物理地转换系统中的所有硬件总线适配器卡来容易利用该协议进行配置。最后,尽管如此,如果需要实施非标准协议,FPGA可被配置来实施这个协议。如果在系统控制器301上的测试应用内无法找到非标准协议,则测试应用可被配置来通过网络150搜索服务器141和服务器145以确定它是否可在服务器上找到相关的位文件。
[0080]在另一个实施例中,FPGA 321A-321M可被配置来运行多于一种通信协议,其中这些协议还可从系统控制器301下载并通过软件来配置。例如,实例化FPGA测试仪块320A可被配置来运行PCIe协议,而实例化FPGA测试仪块320B可被配置来运行SATA协议。这允许测试仪硬件来同时测试支持不同协议的DUT。FPGA 321A现在可被连接以测试支持PCIe和SATA两种协议的DUT。可替代地,它可被连接以测试两个不同DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议。
[0081]在一个实施例中,本发明可用于测试固态驱动器。在其他实施例中,跨各种工业和目标应用,运行任何协议的DUT可使用本发明来测试。例如,来自汽车或太阳能电池板工业的DUT也可以使用本发明的技术来测试,而无需在测试仪器300中进行任何显著硬件改变或对系统控制器301上的测试应用进行任何软件改变。
[0082]图3B提供根据本发明的实施例的站点模块及其与系统控制器和DUT的互连的更详细示意框图。参考图3B,在一个实施例中,ATE仪器的站点模块可机械地被配置到测试仪切片340A-340N上,其中每个测试仪切片包括至少一个站点模块。在某些典型实施例中,每个测试仪切片可包
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1