CN105378493B - 用于支持协议无关器件测试***中协议重新配置的基于云的基础设施 - Google Patents
用于支持协议无关器件测试***中协议重新配置的基于云的基础设施 Download PDFInfo
- Publication number
- CN105378493B CN105378493B CN201380075598.4A CN201380075598A CN105378493B CN 105378493 B CN105378493 B CN 105378493B CN 201380075598 A CN201380075598 A CN 201380075598A CN 105378493 B CN105378493 B CN 105378493B
- Authority
- CN
- China
- Prior art keywords
- test
- dut
- instrument module
- agreement
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Tests Of Electronic Circuits (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
Abstract
提供了一种用于使用自动测试设备(ATE)执行测试的方法。该方法包括:使用图形用户界面(GUI)获取用于编程可编程测试仪模块的协议选择。该方法还包括:通过网络从远程计算机访问与协议相关联的配置文件。随后,该方法包括:利用应用于至少一个被测器件(DUT)的使用该配置文件的通信协议来配置可编程测试仪模块。最后,该方法包括:向可编程测试仪模块发送用于执行程序流程的指令,其中程序流程包括用于测试至少一个DUT的测试序列;以及从可编程测试仪模块接收这些测试的结果。
Description
技术领域
本公开一般涉及自动测试设备的领域,并且更具体地,涉及控制此类设备的技术。
背景技术
自动测试设备(ATE)可以是对半导体片或管芯、集成电路(IC)、电路板或诸如固态驱动器之类的封装器件执行测试的任何测试组件。ATE组件可用于执行快速执行测量并生成随后可被分析的测试结果的自动测试。ATE组件可以是来自耦接至仪表、复杂的自动测试组件的计算机***的任何东西,复杂的自动测试组件可包括定制的专用计算机控制***以及能够自动测试电子零件和/或进行半导体片测试(例如,片上***(SOC)测试或集成电路测试)的许多不同测试器具。ATE***既减少测试器件所花费的时间量以确保器件如设计那样起作用,又用作诊断工具以在给定器件到达客户之前确定给定器件内故障部件的存在。
当典型ATE***测试某器件(通常称为被测器件或DUT)时,ATE***向该器件施加刺激(例如,电信号)并检查器件的响应(例如,电流和电压)。典型地,测试的最终结果是:“合格”,如果器件成功地提供了在预先建立的容差内的某些预期响应;或“不合格”,如果器件未提供在预先建立的容差内的预期响应。更尖端ATE***能够评估不合格器件以潜在地确定不合格的一个或多个原因。
ATE***通常包括指导ATE***操作的计算机。典型地,计算机运行一个或多个专用软件程序以提供(i)测试开发环境和(ii)器件测试环境。在测试开发环境中,用户典型地创建测试程序,即基于软件构建控制ATE***的各个部分的一个或多个文件。在器件测试环境中,用户典型地向ATE***提供一个或多个器件以进行测试,并指导ATE***根据测试程序测试每个器件。用户可通过简单地向ATE***提供另外的器件并指导ATE***根据测试程序测试另外的器件来测试另外的器件。因此,ATE***使得用户能够基于测试程序以一致且自动的方式测试许多器件。
图1是用于测试某种典型DUT(例如,诸如DRAM之类的半导体存储器器件)的常规自动测试设备主体111的示意框图,常规自动测试设备主体111由通过通信总线102与ATE仪器111通信的***控制器101控制。***控制器101运行提供测试开发环境和器件测试环境以便运行用户的测试所需的软件程序。
ATE主体111包括硬件总线适配器卡座108A-108N。特定通信协议(例如PCIe、USB、SAS、SATA等)所特定的硬件总线适配器卡连接至设置在ATE主体上的硬件总线适配器卡座108A-108N并且通过相应协议所特定的缆线与DUT 109A-109N接口接合。ATE主体111还包括具有相关联存储器105的测试仪处理器101,以控制内置于ATE主体111中的硬件部件并生成通过硬件总线适配器卡与正被测试的DUT通信所必需的命令和数据。测试仪处理器101通过***总线106与硬件总线适配器卡通信。
ATE主体111测试通过插接到ATE主体的硬件总线适配器卡座的硬件总线适配器而连接至ATE主体111的DUT 109A-109N的电子功能。因此,测试仪处理器101被编程以使用对于硬件总线适配器唯一的协议将需要运行的测试程序传达至DUT。
由测试仪处理器101运行的测试程序可包括功能测试,其涉及:将由算法模型生成器103创建的输入信号写入至DUT,从DUT读出写入的信号,以及使用比较器104将输出与预期模型进行比较。如果输出与输入不匹配,则测试仪处理器101将会将DUT标识为次品。例如,如果DUT是诸如DRAM之类的存储器设备,那么测试程序将会使用写入操作(WriteOperation)将由算法模型生成器103生成的数据写入至DUT,使用读取操作(ReadOperation)从DRAM读取数据,并且使用比较器104将预期位模型与读取模型进行比较。典型***中的测试仪处理器101包括生成用于测试DUT的命令和测试模型的功能块,例如直接在处理器上以软件编程的算法模型生成器103和比较器104。
在常规***中,用于与DUT进行通信的通信协议是固定的,因为插接到ATE主体100中的硬件总线适配器卡是设计用于仅在一个协议下通信并且不能重新编程以在另一个协议下通信的单一用途设备。例如,被配置来测试PCIe器件的ATE主体将具有插接到主体中的仅支持PCIe协议的硬件总线适配器卡。为了测试支持不同协议的DUT,用户一般将需要用支持另一个协议的总线适配器卡替换PCIe硬件总线适配器卡。除非PCIe硬件总线适配器卡被支持另一个协议的卡物理地取代,否则这种***仅可以测试支持PCIe协议的DUT。
另外,在常规***中的***控制器101上提供测试开发环境的测试应用程序被设计为与硬件充分解耦,因此除其他方面之外,它保持对由测试仪处理器101用来与DUT进行通信的通信协议是不可知的。内置在运行于***控制器101上的软件程序的智能仅限于将指令传送至测试仪处理器101并从测试仪处理器101接收结果以传送回用户。甚至内置在软件中的诊断工具被设计成是硬件无关的。软件将诊断功能发送至测试仪处理器101,测试仪处理器具有接收指令、处理功能并将结果报告回软件的对应驱动器。这允许驻留在***控制器101上的测试开发环境足够通用以允许用户将***控制器连接至不同种类的测试仪。然而,这并不向用户提供对执行硬件特定配置的控制。为了重新配置测试仪仪器111,用户典型地需要物理地重新配置仪器111的硬件。
因此,在测试场地,在例如需要测试运行的协议与现有适配器卡所支持的协议不同的DUT时,替换硬件总线适配器卡和手动地重新配置硬件消耗了关键时间。
发明内容
因此,需要一种可解决上述***的问题的测试仪体系架构。另外,需要一种用于控制ATE主体的测试应用,其中通信协议引擎是可配置的,使得ATE主体不被束缚于任何单一协议。另外,需要一种基于云的应用,通过基于云的应用可经由网络容易地访问协议引擎中所使用的可重新配置的协议。还需要一种用于基于配置的协议关于ATE主体做出决策的过程。使用所描述***的有益方面而无它们的相应限制,本发明的实施例提供解决这些问题的新颖解决方案。
本文公开一种用于配置可编程测试仪模块的方法,其中测试仪模块包括用于实施多种通信协议之一的可重新配置的电路。所述方法是用户友好的,使得具有普通技能的用户能够快速访问并配置具有多种配置的复杂可编程测试仪模块。
提供一种用于使用自动测试设备(ATE)执行测试的方法。该方法包括:使用图形用户界面(GUI)获取用于编程可编程测试仪模块的协议选择。该方法进一步包括:通过网络从远程计算机访问与协议相关联的配置文件。随后,该方法包括利用应用于至少一个被测器件(DUT)的使用该配置文件的通信协议来配置可编程测试仪模块,其中可编程测试仪模块可操作以通信地耦接至至少一个DUT。最后,该方法包括:向可编程测试仪模块传输用于执行程序流程的指令,其中程序流程包括用于测试至少一个DUT的测试序列;以及从可编程测试仪模块接收这些测试的结果。
在另一个实施例中,公开一种用于使用自动测试设备(ATE)执行测试的方法。该方法包括:获取用于编程多个可编程测试仪模块的多个协议选择。该方法还包括:通过网络从远程计算机访问与多个协议选择相关联的配置文件。另外,该方法包括:利用应用于多个被测器件(DUT)的使用相应配置文件的通信协议来配置多个可编程测试仪模块,其中多个可编程测试仪模块通信地耦接至多个DUT。该方法随后包括:向多个可编程测试仪模块传输用于对多个DUT执行测试的指令。最后,该方法包括:从多个可编程测试仪模块接收与对多个DUT运行测试相关联的结果。
在不同实施例中,公开一种用于执行自动测试的***。该***包括通信地耦接至至少一个可编程测试仪模块的***控制器,其中***控制器包括具有存储在其中的测试应用的存储器、连接至至少一个可编程测试仪模块的测试接口以及耦接至存储器和测试接口的处理器。处理器被配置来根据测试应用操作以使用图形用户界面(GUI)获取用于编程至少一个可编程测试仪模块的协议选择,通过网络从远程计算机访问与协议相关联的配置文件,并且利用应用于至少一个被测器件(DUT)的使用该配置文件的通信协议来配置至少一个可编程测试仪模块,其中至少一个可编程测试仪模块可操作来通信地耦接至至少一个DUT。处理器进一步被配置来向至少一个可编程测试仪模块传输用于执行程序流程的指令,其中程序流程包括用于测试至少一个DUT的测试序列。最后,处理器被配置来从可编程测试仪模块接收与对至少一个DUT运行程序流程中的测试序列相关联的结果。
在一个实施例中,公开一种用于使用自动测试设备(ATE)执行测试的方法。该方法包括:从远程客户端计算机接收用于编程可编程测试仪模块的协议选择。另外,该方法包括:访问与协议选择相关联的配置文件;以及向远程客户端计算机传输与协议选择相关联的配置文件。此外,该方法包括:利用应用于至少一个被测器件(DUT)的使用该配置文件的通信协议来远程配置可编程测试仪模块,其中可编程测试仪模块通信地耦接至至少一个DUT。随后,该方法包括:向可编程测试仪模块传输用于执行程序流程的指令,其中程序流程包括用于测试至少一个DUT的测试序列。最后,该方法包括:从远程客户端计算机接收与对至少一个DUT运行程序流程中的测试序列相关联的结果。
以下详细描述结合附图将提供对本发明的性质和优点的更好理解。
附图说明
本发明的实施例通过举例而非限制的方式在附图的图示中示出,并且其中相似参考标号指代类似元件。
图1是用于测试典型被测器件(DUT)的常规自动测试***的示意框图;
图2A是根据本发明的一个实施例的计算机***,本发明的自动测试***的实施例可在该计算机***上实施;
图2B是根据本发明实施例的网络体系架构的示例的框图,在该网络体系架构中,自动测试***的客户端***和服务器可耦接至网络;
图3A是根据本发明的一个实施例的***控制器、站点模块以及DUT之间的互连的高级示意框图;
图3B是根据本发明的实施例的站点模块及其与***控制器和DUT的互连的详细示意框图;
图3C是根据本发明的实施例的图3A的实例化FPGA测试仪块的详细示意框图;
图4A是示出根据本发明的实施例的用于使***控制器与***中的测试仪切片和DUT连接的典型硬件配置的示意框图;
图4B是示出根据本发明的一个实施例的自动测试***的站点模块和***控制器的示例性软件部件的示意框图;
图5是示出根据本发明的一个实施例的测试应用的体系架构的示意框图;
图6示出了根据本发明的一个实施例的用于测试应用的图形用户界面(GUI)的示例性截图,其示出了GUI中可用的多个工具;
图7A示出了根据本发明的一个实施例的测试应用内的程序流程工具(Programflow tool)的基于GUI的实施方式;
图7B示出了根据本发明的一个实施例的测试应用内的程序流程工具的基于文本的实施方式;
图8A示出了根据本发明的一个实施例的测试应用内的DUT配置工具(DutConfigTool)的基于GUI的实施方式;
图8B是示出根据本发明的一个实施例的测试应用内的DUT配置工具的基于文本的实施方式;
图9示出了根据本发明的实施例的测试应用内的shmoo工具(Shmoo Tool)的GUI;
图10示出了根据本发明的一个实施例操作的自动测试***的抽象层的示例性图形表示;
图11示出了根据本发明的一个实施例的示例性计算机实施的过程的流程图,该过程用于利用通过网络获取的不同协议来配置包括可编程器件的模块以测试DUT并接收测试结果以供分析。
在图示中,具有相同标号的元件具有相同或类似功能。
具体实施方式
现在将详细参考本发明的各个实施例,附图中示出这些实施例的实例。虽然结合这些实施例进行描述,但是应当理解,它们并不旨在将本公开限制于这些实施例。相反,本公开旨在涵盖可包括在如所附权利要求书所限定的本公开的精神和范围内的替代、修改和等效内容。此外,在本公开的以下详细描述中,陈述众多具体细节以便提供对本公开的透彻理解。然而,应当理解,本公开可在没有这些具体细节的情况下实践。在其他情况下,并未详细描述众所周知的方法、程序、部件和电路,以免不必要地模糊本公开的各方面。
以下详细描述的一些部分以计算机存储器内的关于数据位的操作的程序、逻辑块、处理和其他符号表示来呈现。这些描述和表示是数据处理领域的技术人员所使用的最有效地将他们工作的内容传送至本领域的其他技术人员的方式。在本申请中,程序、逻辑块、过程等被设想为是产生所需结果的自洽的步骤或指令序列。步骤是利用对物理量的物理操纵的那些步骤。通常,尽管不是必要的,但这些量采取能够在计算机***中被存储、传递、组合、比较和以其他方式操纵的电信号或磁信号的形式。已经证明有时主要出于通用原因而将这些信号称为事务、位、值、元素、符号、字符、样本、像素等是方便的。
然而,应当记住,所有这些和类似术语将与适当物理量相关联并且仅是应用于这些量的方便标签。如从以下论述显而易见,除非另外明确陈述,否则应当理解,贯穿本公开,利用诸如“获取”、“访问”、“配置”、“提供”、“执行”、“传输”、“实施”、“编程”、“分配”、“相关联”、“设置”、“控制”、“确定”、“标识”、“缓存”、“维持”、“比较”、“移动”、“读取”、“写入”等术语的论述是指计算机***或类似电子计算设备或处理器(例如,图2A的***110)的动作和过程(例如,图11的流程图1100)。计算机***或类似电子计算设备对在计算机***存储器、寄存器或其他此类信息存储、传输或显示设备内呈现为物理(电子)量的数据进行操纵和变换。
本文描述的实施例可在驻留在某种形式的计算机可读存储介质(例如,程序模块)上、由一个或多个计算机或其他设备执行的计算机可执行指令的一般背景下进行论述。通过举例而非限制的方式,计算机可读存储介质可包括非暂态计算机可读存储介质和通信介质;非暂态计算机可读存储介质包括除了暂态传播信号之外的所有计算机可读介质。一般地,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。在各个实施例中,程序模块的功能性可根据需要进行组合或分布。
计算机存储介质包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实施的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪速存储器或其他存储器技术、光盘ROM(CD-ROM)、数字通用光盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或可用于存储所需信息并且可被访问以取回该信息的任何其他介质。
通信介质可具体体现计算机可执行指令、数据结构和程序模块,并且包括任何信息递送介质。通过举例而非限制的方式,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声、射频(RF)、红外线和其他无线介质)。上述任何组合也可包括在计算机可读介质的范围内。
图2A是能够实施本公开实施例的测试仪控制***110的实例的框图。测试仪控制***110广泛地表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或***。控制***110的实例包括但不限于工作站、膝上型电脑、客户端侧终端、服务器、分布式计算***、手持式设备或任何其他计算***或设备。在控制***110的最基本的配置中,控制***110可包括至少一个处理器114和一个***存储器116。
处理器114一般表示能够处理数据或解译并执行指令的任何类型或形式的处理单元。在某些实施例中,处理器114可从软件应用或模块接收指令。这些指令可使处理器114执行本文所述和/或所示的示例性实施例中的一个或多个的功能。
***存储器116一般表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储器件或介质。***存储器116的实例包括但不限于RAM、ROM、闪速存储器或任何其他合适的存储器设备。尽管不需要,但在某些实施例中,控制***110可包括易失性存储器单元(例如,***存储器116)和非易失性存储设备(例如,主要存储设备132)两者。
除处理器114和***存储器116之外,测试仪控制***110还可包括一个或多个部件或元件。例如,在图2A的实施例中,控制***110包括各自可通过通信基础设施112来互连的存储器控制器118、输入/输出(I/O)控制器120和通信接口122。通信基础设施112一般表示能够促进计算设备的一个或多个部件之间的通信的任何类型或形式的基础设施。通信基础设施112的实例包括但不限于通信总线(例如,工业标准体系架构(ISA)、外部部件互连(PCI)、PCI Express(PCIe)或类似总线)和网络。
存储器控制器118一般表示能够处置存储器或数据或控制控制***110的一个或多个部件之间的通信的任何类型或形式的设备。例如,存储器控制器118可通过通信基础设施112来控制处理器114、***存储器116以及I/O控制器120之间的通信。
I/O控制器120一般表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,I/O控制器120可控制或促进控制***110的一个或多个元件(例如,处理器114、***存储器116、通信接口122、显示适配器126、输入接口130与存储接口134)之间的数据传递。
通信接口122广泛地表示能够促进示例性控制***110与一个或多个另外设备之间的通信的任何类型或形式的通信设备或适配器。例如,通信接口122可促进控制***110与包括另外控制***的私人或公用网络之间的通信。通信接口122的实例包括但不限于有线网络接口(例如,网络接口卡)、无线网络接口(例如,无线网络接口卡)、调制解调器和任何其他合适的接口。在一个实施例中,通信接口122通过到网络(例如,因特网)的直接链路来提供与远程服务器的直接连接。通信接口122还可通过任何其他合适的连接来间接地提供这种连接。
通信接口122还可表示被配置来通过外部总线或通信通道促进控制***110与一个或多个另外的网络或存储设备之间的通信的主机适配器。主机适配器的实例包括但不限于:小型计算机***接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE(电气与电子工程师协会)1394主机适配器、串行高级技术附件(SATA)和外部SATA(eSATA)主机适配器、高级技术附件(ATA)和并行ATA(PATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口122还可允许控制***110参与分布式计算或远程计算。例如,通信接口122可从远程设备接收指令或向远程设备发送指令以供执行。
如图2A所示,控制***110还可包括通过显示适配器126耦接至通信基础设施112的至少一个显示设备124。显示设备124一般表示能够视觉显示由显示适配器126转发的信息的任何类型或形式的设备。类似地,显示适配器126一般表示被配置来转发用于在显示设备124上显示的图形、文本和其他数据的任何类型或形式的设备。
如图2A所示,控制***110还可包括通过输入接口130耦接至通信基础设施112的至少一个输入设备128。输入设备128一般表示能够向控制***110提供计算机生成或人为生成的输入的任何类型或形式的输入设备。输入设备128的实例包括但不限于:键盘、指向设备、语音识别设备或任何其他输入设备。
如图2A所示,控制***110还可包括通过存储接口134耦接至通信基础设施112的主要存储设备132和备份存储设备133。存储设备132和133一般表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备132和133可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪盘驱动器等。存储接口134一般表示用于在存储设备132和133与控制***110的其他部件之间传递数据的任何类型或形式的接口或设备。
在一个实例中,数据库140可存储在主要存储设备132中。数据库140可表示单个数据库或计算设备的一部分,或其可表示多个数据库或计算设备。例如,数据库140可表示(被存储于)控制***110的一部分和/或图2B(下文)中的示例性网络体系架构100的一部分。可替代地,数据库140可表示(被存储于)能够由计算设备(例如,控制***110)访问的一个或多个物理上分离的设备和/或网络体系架构100的一部分。
继续参考图2A,存储设备132和133可被配置来从被配置为存储计算机软件、数据或其他计算机可读信息的可移动存储单元读取和/或写入到该可移动存储单元。合适的可移动存储单元的实例包括但不限于软盘、磁带、光盘、闪速存储器器件等。存储设备132和133还可包括用于允许将计算机软件、数据或其他计算机可读指令加载到控制***110中的其他类似结构或设备。例如,存储设备132和133可被配置来读取和写入软件、数据或其他计算机可读信息。存储设备132和133还可以是控制***110的一部分,或可以是通过其他接口***访问的分离的器件。
许多其他设备或子***可连接至控制***110。相反地,图2A中所示的部件和设备无需全部存在以实践本文所述的实施例。以上提及的设备和子***也可以与图2A中所示不同的方式来互连。控制***110还可利用任何数量的软件、固件和/或硬件配置。例如,本文公开的示例性实施例可在计算机可读介质上被编码为计算机程序(也称为计算机软件、软件应用、计算机可读指令或计算机控制逻辑)。
含有计算机程序的计算机可读介质可被加载到控制***110中。存储在计算机可读介质上的计算机程序的全部或一部分随后可存储在***存储器116和/或存储设备132和133的各个部分中。当由处理器114执行时,加载到控制***110中的计算机程序可使得处理器114执行本文所述和/或所示的示例性实施例的功能和/或成为用于执行这些功能的装置。另外或可替代地,本文所述和/或所示的示例性实施例可在固件和/或硬件中实施。
图2B是网络体系架构100的实例的框图,其中客户端***151、152和153以及服务器141和145可耦接至网络150。客户端***151、152和153一般表示任何类型或形式的计算设备或***,如图2A的测试仪控制***110。
类似地,服务器141和145一般表示被配置来提供各种数据库服务和/或运行某些软件应用的计算设备或***,例如,应用服务器或数据库服务器。网络150一般表示任何电信或计算机网络,例如包括内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)或因特网。
参考图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描绘使用用于交换数据的网络(如因特网),但本文所述的实施例不限于基于因特网或任何特定的网络的环境。
在一个实施例中,本文所公开的示例性实施例中的一个或多个的全部或一部分被编码为计算机程序并被加载到服务器141、服务器145、存储设备160(1)-(L)、存储设备170(1)-(N)、存储设备190(1)-(M)、智能存储阵列195或其任何组合上并由其执行。本文所公开的示例性实施例中的一个或多个的全部或一部分也可被编码为计算机程序、存储在服务器141中、由服务器145运行并通过网络150分布至客户端***151、152和153。
用于支持协议无关器件测试***中协议重新配置的基于云的基础设施
在常规***中,用于与被测器件(DUT)进行通信的通信协议是固定的,因为插接到ATE主体中的硬件总线适配器卡是典型的单一用途设备,其被设计为仅在一个协议下通信并且不能重新编程为在不同协议下通信。测试仪可重新配置性通常可以多种方式来提高。一种方式是通过配置硬件,使得用于与DUT进行通信的协议引擎直接被编程在测试仪仪器上的可再编程FPGA设备上,而不是将协议引擎固定在测试仪处理器内的固件中。另外,可使用于编程FPGA的协议在基于云的基础设施上可用,以使得用户可直接从网络访问并配置FPGA设备上所使用的测试协议。
图3A-3C示出用于硬件器件测试的仪器的一个实施例,其中用于与DUT进行通信的通信协议是可配置的。然而,本发明的原理可结合任何仪器使用,其中仪器可被重新配置以在若干不同协议中的任一种下通信。
图3A是根据本发明的实施例的自动测试设备(ATE)仪器300的示例性高级框图,其中***控制器301控制测试仪处理器305,测试仪处理器305通过具有内置功能模块的FPGA设备连接至被测器件(DUT)。在一个实施例中,ATE仪器300可在能够同时测试多个DUT的任何测试***内实施。
参考图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之一。
在一个实施例中,***控制器301可以是为ATE的用户提供用户接口以针对连接至ATE 300的DUT加载测试程序并运行测试的计算机***(例如,控制***110)。VerigyStylusTM操作***是器件测试期间通常使用的测试软件或测试应用的一个实例。它向用户提供(i)测试开发环境和(ii)器件测试环境。它还包括图形用户界面,从该图形用户界面来配置和控制测试。它还可包括控制测试流程、控制测试程序状态、确定哪个测试程序正在运行以及记录测试结果和与测试流程有关的其他数据的功能。在一个实施例中,***控制器可连接并控制至多512个DUT。典型地,用户还通过图形用户界面将测试程序加载到***控制器301中。测试程序定义需要对DUT运行的测试的所有参数。
在一个实施例中,***控制器301可通过网络交换机(例如,以太网交换机)连接至站点模块板310A-310N。在其他实施例中,网络交换机可以可与不同协议(例如,光纤通道、802.11或ATM)兼容。
在一个实施例中,站点模块板310A-310N中的每一个可以是用于评估和开发目的的分开的独立的板,其附接至定制搭载板固定物(DUT 372A-372N搭载在其上)并且还附接至***控制器301(从其接收测试程序)。在其他实施例中,站点模块板可实施为插接到连接至***控制器301的机架中的***式扩展卡或子插件板。
站点模块板310A-310N各自可包括至少一个测试仪处理器305和至少一个FPGA设备。站点模块板上的测试仪处理器305和FPGA设备321A-321M根据从***控制器301接收的测试程序指令运行针对每种测试用例的测试方法。在一个实施例中,测试仪处理器可以是可购得的Intel 8086CPU或任何其他众所周知的处理器。另外,测试仪处理器可在UbuntuOS x64操作***上操作并运行Core软件,这允许测试仪处理器与在***控制器上运行的Stylus软件通信,以便运行测试方法。测试仪处理器305基于从***控制器接收的测试程序控制站点模块上的FPGA设备和连接至站点模块的DUT。在一个实施例中,测试方法驻留在***控制器301上并根据正在测试什么协议而被从***控制器301上的测试应用推送到测试仪处理器305上。
测试仪处理器305通过总线312连接至FPGA设备并可与其通信。在一个实施例中,测试仪处理器305通过独立的专用总线与FPGA设备321A-321M中的每一个通信。在一个实施例中,测试仪处理器305可通过具有分配给FPGA设备的最小处理功能的FPGA透明地控制DUT372A-372N的测试。在该实施例中,总线312上的数据业务可快速地被耗尽,因为由测试仪处理器生成的所有命令和数据需要通过总线传达至FPGA设备。在其他实施例中,测试仪处理器305可通过以下方式来共享处理负载:通过一系列硬件加速模式将控制DUT的测试的功能分配给FPGA设备。在这些实施例中,总线312上的业务因为FPGA设备可生成它们自己的命令和数据而减少。这允许与DUT进行低延迟通信。
在一个实施例中,FPGA设备321A-321M中的每一个连接至其自己的专用存储器块360A-360M。除其他法方面之外,这些存储器块可用于存储写出至DUT的测试模型数据。在一个实施例中,FPGA设备中的每一个可包括两个实例化FPGA测试仪块320A-320B,其具有用于执行如本文进一步所述的功能(包括通信协议引擎和硬件加速器的实现)的功能模块。存储器块360A-360M各自可含有一个或多个存储器模块,其中存储器块内的每个存储器模块可专用于实例化FPGA测试仪块320A-320B中的一个或多个。因此,实例化FPGA测试仪块320A-320B中的每一个可连接至其自己的存储器块360A内的专用存储器模块。在另一个实施例中,实例化FPGA测试仪块320A和320B可共享存储器块360A内的存储器模块之一。
另外,在“每DUT一测试仪”配置(其中每个DUT连接至其自己的测试仪块)中,***中的DUT 372A-372N中的每一个可连接至专用实例化FPGA测试仪块320A-320N。这允许针对每个DUT执行独立测试。这种配置中的硬件资源以利用最小硬件共享来支持单个DUT的方式来设计。这种配置还允许并行地测试许多DUT,其中每个DUT可连接至其自己的专用FPGA测试仪块并运行不同测试程序。
图3A中所描绘的本发明的实施例的体系架构具有一些显著优点。例如,它消除了***中对协议特定的硬件总线适配器卡座和卡的需要,因为通信协议模块可直接被编程在FPGA设备内的实例化FPGA测试仪块上。实例化测试仪块可被配置来在DUT所支持的任何协议下与DUT通信。因此,如果需要测试支持不同协议的DUT,可将它们连接至同一***并且可将FPGA再编程为支持相关联协议。其结果是,一个ATE主体可容易地被配置来测试支持许多不同类型的协议的DUT。
在本发明的一个实施例中,运行***控制器301的测试应用(例如,VerigyStylusTM)作为测试开发环境的一部分具有内置功能,以允许用户对将要编程到FPGA上的协议和FPGA的不同硬件加速模式进行控制。因此,用户可容易地通过与测试应用相关联的图形用户界面(GUI)选择在硬件上编程的协议和硬件加速级别。在一个实施例中,测试应用包括控制测试程序流程并控制测试程序状态的测试仪状态机。
应当注意,本发明不限于仅仅通过使用FPGA设备来实现硬件可重新配置性。在一个实施例中,可通过使用各种可编程逻辑器件中的任一种(例如,可编程逻辑阵列(“PLA”)、复杂可编程逻辑器件(“CPLD”)、可编程阵列逻辑(“PAL”)等)来使经由测试仪处理器305与***控制器301通信的站点模块310A-310N可重新编程。在不同实施例中,可通过其他方式(例如,使得测试处理器本身可重新配置)来使在站点模块上运行的协议可重新配置。这种***中的测试仪处理器可以例如是数字信号处理器(DSP)。以下专利中详细描述包括可重新配置的测试仪处理器的部件、功能和过程:Volkerink、Eric于2009年9月15日发布的标题为“用于自动测试设备的可重新配置的体系架构(Re-configurable Architecture ForAutomated Test Equipment)”的美国专利7,590,903,其全部内容以引用的方式并入本文。
在一个实施例中,新协议可经由从***控制器301上的缓存的简单位流下载来被下载并直接安装在FPGA上,而无需任何种类的硬件交互。在一个实施例中,当用户选择将要通过***控制器301上的测试应用安装的新协议时,测试应用可被配置来发送位流。
例如,ATE仪器300中的FPGA 321A-321M可初始地利用PCIe协议进行配置以测试PCIe器件,并随后通过软件下载进行重新配置以测试SATA器件。而且,如果发布新协议,则FPGA可通过位流下载而不是必须物理地转换***中的所有硬件总线适配器卡来容易利用该协议进行配置。最后,尽管如此,如果需要实施非标准协议,FPGA可被配置来实施这个协议。如果在***控制器301上的测试应用内无法找到非标准协议,则测试应用可被配置来通过网络150搜索服务器141和服务器145以确定它是否可在服务器上找到相关的位文件。
在另一个实施例中,FPGA 321A-321M可被配置来运行多于一种通信协议,其中这些协议还可从***控制器301下载并通过软件来配置。例如,实例化FPGA测试仪块320A可被配置来运行PCIe协议,而实例化FPGA测试仪块320B可被配置来运行SATA协议。这允许测试仪硬件来同时测试支持不同协议的DUT。FPGA 321A现在可被连接以测试支持PCIe和SATA两种协议的DUT。可替代地,它可被连接以测试两个不同DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议。
在一个实施例中,本发明可用于测试固态驱动器。在其他实施例中,跨各种工业和目标应用,运行任何协议的DUT可使用本发明来测试。例如,来自汽车或太阳能电池板工业的DUT也可以使用本发明的技术来测试,而无需在测试仪器300中进行任何显著硬件改变或对***控制器301上的测试应用进行任何软件改变。
图3B提供根据本发明的实施例的站点模块及其与***控制器和DUT的互连的更详细示意框图。参考图3B,在一个实施例中,ATE仪器的站点模块可机械地被配置到测试仪切片340A-340N上,其中每个测试仪切片包括至少一个站点模块。在某些典型实施例中,每个测试仪切片可包括两个站点模块和两个设备电源板。例如,图3的测试仪切片340A包括站点模块310A和310B以及设备电源板332A和332B。然而,可配置到测试仪切片上的设备电源板或站点模块的数量没有限制。测试仪切片340通过网络交换机302连接至***控制器301。网络交换机302可通过32位宽总线连接至每个站点模块。
设备电源板332A-332B中的每一个可根据站点模块310A-310B之一来控制。在测试仪处理器305上运行的软件可被配置为将设备电源指派给特定站点模块。在一个实施例中,站点模块310A-310B和设备电源332A-332B被配置来使用高速串行协议(例如,快速外部部件互连(PCIe)、串行AT附件(SATA)或串行附接SCSI(SAS))来与彼此通信。
在一个实施例中,每个站点模块被配置有两个FPGA,如图3B所示。在图3B的实施例中,FPGA 316和318中的每一个由测试仪处理器305控制并执行与图2中的FPGA 321A-321M类似的功能。测试仪处理器305可使用如由图3B中的***总线330和332所指示的8通道高速串行协议接口(例如,PCIe)与每个FPGA通信。在其他实施例中,测试仪处理器305还可使用不同的高速串行协议(例如,串行AT附件(SATA)或串行附接SCSI(SAS)或任何其他高速协议)来与FPGA通信。
FPGA 316和318分别连接至存储器模块308和304。存储器模块与FPGA设备和测试仪处理器305两者耦接并可由两者控制。
FPGA 316和318可分别通过总线352和354连接至搭载板380上的DUT 372A-372M。在一个实施例中,搭载板380是允许对用于在线路352和354上与DUT通信的协议不可知的站点模块端处的通用高速连接的物理线束。然而,在DUT端处,搭载板需要被设计成具有特定于正由DUT使用的协议的连接器。
在本发明的一个实施例中,DUT 372A-372M被搭载在放置于用于测试的热室390内部的搭载板380上。DUT 372A-372M和搭载板380从设备电源332A和332B获取电力。
图3C是根据本发明的实施例的图3A的实例化FPGA测试仪块的详细示意框图。
参考图3C,实例化FPGA测试仪块320A通过上游端口391连接至测试仪处理器305并通过下游端口392连接至DUT。
实例化FPGA块320A可包括协议引擎模块395、逻辑块模块394和硬件加速器块396。硬件加速器块396可进一步包括存储器控制模块388、比较器模块389、分组建立器模块387和算法模型生成器(APG)模块386。
在一个实施例中,逻辑块模块394包括对来自测试仪处理器的命令进行解码的解码逻辑、将所有从测试仪处理器305传入的命令和数据以及由FPGA设备生成的数据路由至适当模块的路由逻辑、以及在实例化FPGA测试仪块320A内的各条通信路径之间进行仲裁的仲裁逻辑。
在一种实施方式中,用于在测试仪处理器与DUT之间进行通信的通信协议可有利地为可重新配置的。这种实施方式中的通信协议引擎直接被编程到实例化FPGA测试仪块320A的协议引擎模块395中。实例化FPGA测试仪块320A因此可被配置来在DUT所支持的任何协议下与DUT通信。这有利地消除了对硬件总线适配器卡的需要并且无需更换协议特定的硬件以测试支持不同协议的DUT。在一个实施例中,协议可以是高速串行协议,包括但不限于SATA、SAS或PCIe等。
如上所述,新的或修改的协议可经由通过测试仪处理器从***控制器下载的简单位流而被下载并直接安装在FPGA上,而无需任何种类的硬件交互。测试仪器的初始设定可包括从***控制器301上的可用协议库选择将要被配置到FPGA设备上的一个或多个协议。协议作为文件缓存在***控制器301上并且可作为位文件被下载到FPGA上。用户可从通过在***控制器301上运行的测试应用的图形用户界面可用的发布列表中选择协议。在使得协议可用作选项之前,协议必须被建立、测试并集成到发布中。除其他事物之外,发布的FPGA配置包含关于所支持协议的定义和可用于连接DUT的收发器的数量。随后可使得发布库通过图形用户界面对于用户是可用的。
此外,如果发布新协议,则FPGA可通过软件下载而容易地利用该协议进行配置。在本发明的一个实施例中,可首先通过网络150(例如,使用通信接口122)将协议下载至***控制器301,其中协议被存储在服务器141和145上。需要该协议的用户可通过网站访问服务器141和145,其中对网站的访问是通过用户特定的登录和口令来控制。以此方式,在一个实施例中,本发明包括用于控制用户对服务器的访问以访问将要编程到FPGA测试仪块320A的协议引擎模块395上的协议模块的功能。
在图3C中,如果耦接至下游端口392的DUT例如是PCIe器件,那么可通过上游端口391下载包含PCIe协议的实例化的位文件并将其安装在协议引擎模块395上。每个FPGA设备316或318可包括一个或多个实例化FPGA测试仪块,并且因此包括一个或多个协议引擎模块。任何一个FPGA设备可支持的协议引擎模块的数量仅由FPGA的大小和门数限制。
在本发明的一个实施例中,FPGA设备内的每个协议引擎模块可利用不同通信协议来配置。因此,FPGA设备可被连接为测试多个DUT,每个DUT同时支持不同通信协议。可替代地,FPGA设备可连接至支持多个协议的单个DUT并同时测试在该器件上运行的所有模块。例如,如果FPGA被配置来运行PCIe和SATA两种协议,那么它可被连接以测试支持PCIe和SATA两种协议的DUT。可替代地,它可被连接以测试两个不同DUT,一个DUT支持PCIe协议而另一个DUT支持SATA协议。
与测试仪处理器上的软件中可能做到的相比,图3C的硬件加速器块396可用于更快地加快FPGA硬件上的某些功能。硬件加速器块396可供应用于测试DUT的初始测试模型数据。它还可包含生成用于控制DUT的测试的某些命令的功能。为生成测试模型数据,加速器块396使用算法模型生成器模块386。
硬件加速器块396可使用比较器模块389将正从DUT读取的数据与上一循环中写入DUT的数据进行比较。比较器模块389包括向测试仪处理器305标记不匹配以标识不符合的器件的功能。更具体地,比较器模块389可包括跟踪不匹配并将它们传达至测试仪处理器305的误差计数器。
硬件加速器块396可连接至局部存储器模块304。存储器模块304执行与存储器块360A-360M中任一个内的存储器模块类似的功能。存储器模块360A可由硬件加速器块396和测试仪处理器305两者控制。测试仪处理器305可控制局部存储器模块304并将初始测试模型数据写入至局部存储器模块304。
存储器模块304存储将要写入至DUT的测试模型数据,并且硬件加速器块396访问存储器模块以将所存储的数据与在写入循环之后从DUT读取的数据进行比较。局部存储器模块304还可用于记录故障。存储器模块将会存储具有DUT在测试期间所经历的所有故障的记载的记录文件。在一个实施例中,加速器块396具有任何其他实例化FPGA测试仪块不可访问的专用局部存储器模块块394。在另一个实施例中,局部存储器模块块304被另一个实例化FPGA测试仪块中的硬件加速器块共享。
硬件加速器块396还可包括存储器控制模块388。存储器控制模块388与存储器模块304交互并控制对存储器模块304的读取和写入访问。
最后,硬件加速器块396包括分组建立器模块387。分组建立器模块由硬件加速器块在某些模式下用来构建将被写出至DUT的包括头部/命令数据和测试模型数据的分组。
在某些实施例中,硬件加速器块396可通过测试仪处理器305来编程以在若干硬件加速模式之一下操作。在一个实施例中,从在***控制器301上运行的测试应用接收FPGA测试仪块320A将在其下操作的硬件加速模式的指令。在该实施例中,在***控制器301上运行的测试应用对***中各个FPGA测试仪块的硬件加速模式具有可见性并且能对其进行控制。
在旁路模式下,硬件加速器被绕过,并且命令和测试数据由测试仪处理器305通过路径383直接发送至DUT。在硬件加速器模型生成器模式下,测试模型数据由APG模块386生成,同时命令由测试仪处理器305生成。测试分组通过路径393传输至DUT。在硬件加速器存储器模式下,测试模型数据是从局部存储器模块304访问,同时命令由测试仪处理器305生成。测试模型数据通过路径385传输至DUT。需要路由逻辑以在路径385、393和383之间进行仲裁,从而控制数据到DUT的流动。
图4A是示出根据本发明的实施例的用于使***控制器与***中的测试仪切片和DUT连接的典型硬件配置的示意框图。
在一个实施例中,***控制器301包括运行测试应用(例如,Verigy StylusTM操作***)的一个或多个链接计算机。在其他实施例中,***控制器常常仅包括单个计算机。***控制器301是总体***控制单元,并且运行具有图形用户界面(GUI)的测试应用,图形用户界面负责实现所有用户级测试任务(包括运行用户的主测试应用)。
通信器总线491提供***控制器与测试仪硬件之间的高速电子通信通道。通信器总线还可称为背板、模块连接使能器或***总线。物理上,通信器总线491是可例如为电气、光学等的快速、高带宽双工连接总线。***控制器301通过借助在通信器总线491上发送的命令来编程测试仪硬件,从而设定用于测试DUT 372A-372M的条件。
测试仪硬件480包括向被测器件(DUT)372A-372M提供测试刺激并测量DUT对刺激的响应、以及将该响应与预期响应进行比较所必需的电子和电气零件和连接器的复杂集合。如关于图3B所论述的,测试仪切片340A-340N容纳在测试仪硬件480内。在一个实施例中,测试仪硬件480容纳在如图3B所描绘的热室390中。
图4B是示出根据本发明的一个实施例的自动测试***的站点模块和***控制器的示例性软件部分的示意框图。
如图4B所示,***控制器301包括存储器450。存储器450存储各种架构,包括操作***452(例如,Microsoft WindowsTM操作***)、测试应用451和测试程序452。这些架构中的一个或多个可通过计算机程序产品(例如,一个或多个磁盘或磁带)向存储器450提供或通过网络150从云(例如,服务器141和145)下载。优选地,测试应用451由ATE仪器300的制造商通过计算机程序产品提供给ATE终端用户或通过网络接口(未示出)从云下载。
***控制器301根据操作***452和测试应用451进行操作。测试应用451向用户提供测试开发环境和器件测试环境。如以上所指示,Verigy StylusTM操作***是器件测试期间通常使用的测试应用的一个实例。测试应用提供图形用户界面(GUI)以便:当在测试开发环境内操作时,使得用户能够创建(一个或多个)测试程序452;并且当在器件测试环境内操作时,使得能够根据测试程序来测试连接至***控制器301的所有DUT 372A-372M。在一个实施例中,仅存在在操作***452上运行的测试应用的一个副本并且是单一用户应用。
在一个实施例中,测试应用向用户提供允许用户在不同加速模式下配置FPGA或仪器300内的其他可编程器件的GUI。例如,测试应用451可向用户提供图形用户界面,以选择性地在旁路模式、硬件加速器模型生成器模式、硬件加速器存储器模式或分组建立器模式下编程测试仪器300中的FPGA。这与常规***相比是有利的,因为用户现在已经通过测试应用451的图形用户界面增加了对站点模块310A-310N上的可编程器件的硬件加速模式的控制。在一个实施例中,测试应用可向用户提供允许用户直接地并且绕过FPGA与DUT通信的GUI。
测试程序452包括所有用户定义的数据并控制在ATE***上执行半导体器件测试所必需的流程。它在由***控制器301上运行的测试应用451提供的开发环境内在***控制器301上运行。测试程序中指定将要应用于DUT的单独测试的序列以及测试将被应用的顺序(依赖于单独测试的结果)的主控制流程被称为测试程序流程。典型地,用户通过在测试应用上运行的图形用户界面将测试程序加载到***控制器301中。测试程序定义需要对DUT运行的测试的所有参数。***控制器还可包括将用于特定测试程序的指令路由至连接至由测试程序控制的DUT的测试仪处理器305的路由逻辑。
测试应用451包括基于测试程序452中所包含的信息执行测试的排序的状态机。基于测试程序流程,测试应用451内的状态机将跟踪哪些测试正在运行以及基于这些测试的“合格”或“不合格”结果需要作出什么决定。
***控制器通过网络接口420(例如TCP/IP连接)与测试仪处理器305通信。在一个实施例中,测试仪处理器305在Linux操作***上运行并且包括作为后台进程而运行的后台程序(daemon)405。后台程序允许来自测试程序的不同任务方法链接进来。任务方法可以是个人用户基于用户偏好定制的。
每个实例化FPGA测试仪块320A可执行其自己的测试程序400。这允许针对每个DUT372A-372M单独地执行测试,因为“每DUT一测试仪”体系架构允许每个DUT 372A-372M直接连接至其自己的专用实例化FPGA测试仪块。因为测试应用451执行测试的排序,测试仪处理器305仅仅根据由测试应用451执行的排序来执行每个测试。
另外,测试应用451负责执行测试程序流程的“扇出”,其中测试应用使测试程序流程中的各个测试与出于执行目的连接至该测试程序流程的各个DUT相关联。用户可准备测试程序流程,好像测试程序流程针对单个DUT被写入。然而,“扇出”特征允许测试程序扩展至若干DUT并与该若干DUT相关联。取决于连接至***控制器301的站点模块和DUT的实际数量,测试应用451将执行扇出并在多个DUT上对测试进行实例化。
图5是示出根据本发明的一个实施例的测试应用的体系架构的示意框图。测试仪仪器300的智能内置到测试应用451中,并且控制测试程序452的状态、在任何给定时间正在运行的测试程序、数据记录和对测试程序的记录、以及流程控制等。
测试程序使用测试程序和记录模块530被加载到测试应用451中。测试应用451将从各个测试仪处理器305传送的测试结果记录到模块530。
离线仿真模块515在***控制器301未连接至站点模块时对Linux后台程序(LinuxDaemon)进行仿真。模块515可用于调试等目的。
测试应用451提供用于在Linux后台程序510与图形用户界面595之间通信的应用编程接口(API)590。用户界面595包括工程工具514和生产工具512。工程工具514典型地由应用和测试工程师用来开发测试程序。一旦认可测试程序具有生产价值,则发布测试程序投入生产。在生产场地,操作者和技术员使用生产工具512执行示例性测试程序。因此,工程工具514允许用户图形地编辑测试程序,而生产工具512则不允许。
图6根据本发明的一个实施例示出用于测试应用451的图形用户界面(GUI)的示例性截图,其示出了GUI中可用的多个工具。注意,在此所示的各个窗口的功能在不同实施例中可以不同形式呈现或在其他实施例中可能不被采用。图形用户界面中的窗口的重新布置既不妨碍也不改变本发明的该实施例的功能。
窗口610示出用于用户输出数据记录和显示的数据记录工具。窗口660示出工程窗口,其中,测试程序从该工程窗口被加载和运行。窗口620包括其中测试和测试参数由用户指定的分段工具。窗口650包括其中测试流程被放在一起的程序流程工具。最后,窗口640包括shmoo工具,其用于示出在条件和输入范围内变化的部件或***的响应的图形显示。
在一个实施例中,测试应用451可包括程序流程工具。图7A示出根据本发明的一个实施例的程序流程工具(Program flow tool)的GUI实施方式,并且图7B示出根据本发明的一个实施例的GUI内的程序流程工具的基于文本的实施方式。
图7A的图形程序流程表示中的节点740中的每一个表示将要对DUT运行的一个或多个测试。每个节点包括一个或多个测试。另外,程序流程工具可包括根据每个测试的结果对采取步骤进行决策制定的能力。此外,用户可使用菜单选项来选择测试需要被运行的方式。例如,用户可选择测试是否应被运行直至其合格或是否应在第一次不合格时中止。
测试菜单710允许用户图形地在各种不同类型的测试(例如,功能测试、智能比较、顺序读取写入测试、标识器件等)之间进行选择。基于用户使用程序流程工具选择以实施的测试,测试应用451将会将适当测试向下推送到所连接的测试仪处理器305及其对应站点模块。
用户在图7A的程序流程工具窗口中做出的任何改变在如图7B所示的程序流程的文本表示中自动反映出。类似地,如果用户选择使用如图7B所示的文本程序流程工具来准备测试程序,那么由用户对脚本做出的任何改变均自动被返回标注并在图7A所示的程序流程工具的图形窗口中反映出。
在一个实施例中,测试应用451可包括DUT配置工具。图8A示出根据本发明的一个实施例的图形用户界面内的DUT配置工具(DutConfig Tool)的GUI实施方式,并且图8B示出根据本发明的一个实施例的图形用户界面内的DUT配置工具的文本实施方式。测试应用451中的DUT配置工具允许用户配置DUT和用于与DUT通信的协议。用户还可配置DUT的实例化的数量等。
本发明的一个实施例向用户提供以下能力:实施他们使用测试应用451的图形用户界面选择用于与DUT通信的协议。这消除了***中对协议特定的硬件总线适配器卡座和卡的需要,因为通信协议模块可直接被编程在可编程FPGA设备、数字信号处理器(DSP)或任何其他可编程器件上的站点模块上。另外,DUT配置工具允许用户通过操纵图8A的GUI或编辑图8B中所显示窗口中的文本来切换至用于与DUT通信的不同协议。测试应用451被编程有智能以基于用户的选择将用于协议配置的位文件向下推送到站点模块上的可编程器件。在一个实施例中,测试应用451可基于用户的协议选择来自动选择需要运行的测试。例如,如果用户选择PCIe作为协议,那么测试应用451将自动选择与PCIe协议相关联的对应测试并传达至测试仪处理器305以运行这些测试。
另外,通过改变基于GUI或文本的实施方式内的“站点”的数量,用户可容易地编辑连接至***的DUT的数量以用于扇出目的。因此,允许用户在无需对连接至测试仪器的DUT的数量进行说明的情况下准备测试程序。DUT的数量可在DUT配置工具内改变,并且测试应用451具有基于所连接DUT的数量创建扇出的智能。
类似于图7A和7B所示的程序流程工具,DUT配置工具还在工具的文本版本和GUI版本之间实施跟踪,使得在两者之一中做出的任何改变也自动地在另一个中被实施。例如,如果在图8B的文本窗口中所选择的站点数量增加,那么图8A的GUI中的对应行数将增加以反映出所述改变,其中每一行专用于站点之一。
图9示出根据本发明的实施例的测试应用内的shmoo工具(Shmoo Tool)的GUI。在一个实施例中,测试应用451提供实施“单击”shmoo工具的GUI,该“单击”shmoo工具用于特性描述目的。除其他事物之外,shmoo工具呈现在条件以及输入范围内变化的部件或***的响应的图形显示。
在一个实施例中,测试应用451的shmoo工具允许用户在程序流程内多次运行测试,但具有变化的参数,例如不同读取/写入块大小,并且提供结果(例如,通量如何随块大小变化)的图形表示。在常规***中,用户必须在再次运行测试之前手动改变这些测试的参数。本发明的测试应用451内的一次点击shmoo工具允许用户仅仅点击GUI窗口内的图标来开始运行具有不同参数的多次测试。然而,用户需要事先利用测试的某些标准(例如,步骤的数量、每次测试的输入之间的增量、停止条件等)来配置shmoo工具。因此,shmoo工具允许用户设定整个程序流程(其中测试以不同参数进行重复),并且通过点击GUI图标来容易地调用程序流程。
图10示出根据本发明的一个实施例的自动测试***的抽象层的示例性图形表示。硬件配置层1071定义***的电气和物理规范。例如,它定义***控制器301、网络交换机302、站点模块310A-310N以及DUT 372A-372N之间的连接。此外,它定义各个设备电源与站点模块之间的连接以用于向***供应电力。
FPGA配置层1072定义用于利用必需固件(包括用于与DUT 372A-372N通信的协议)对站点模块(包括FPGA 320A-320N)进行编程的规范。常规测试仪***典型地缺少这一层。通过考虑FPGA配置层,由于将任何各种众所周知的或新的协议配置到FPGA上的能力,因而本发明向用户提供低延迟集成和多自由度。在一个实施例中,FPGA配置层可由用于站点模块上正在使用的可编程器件(例如,DSP)的类型的配置层来替换。
软件API层1073提供***控制器301与站点模块310A-310N之间的编程接口。软件API层1073不同于常规***中的类似API层,因为它需要提供用于编程站点模块上的FPGA或其他可编程器件的接口。例如,当用户在测试应用451中做出协议选择时,API将允许FPGA配置文件被向下传递至FPGA以利用适当协议来对FPGA编程。API还将例如需要创建从通过测试应用451的GUI接收的用户的指令到可被编程到站点模块的FPGA设备上的格式的转换。例如,图5中的API 590提供测试应用451的GUI与站点模块310A-310N上的FPGA之间的接口。
API可包括已经开发以在FPGA上实例化的构建块的库。每个构建块可包括不同类别的用于执行不同功能的库。例如,API可包括用于配置FPGA上的接收端口以接收适当通信协议的构建块。API执行利用构建块的库创建将要下载到FPGA上的最终配置的转换。
除其他事物之外,软件应用层1074定义以上论述的测试应用451的GUI规范。测试应用451提供允许用户捕获测试结果并分析结果的基础。从站点模块接收的数据被转换成与测试应用兼容的格式。测试应用随后将信息路由至包括测试应用451的相关构建块和部件。
测试场地级接口层1075定义用于允许测试应用451连接至多个站点模块并结合多个站点模块的规范。例如,测试场地级接口层允许用户能够连接至FPGA并通过GUI重新配置FPGA以从具有三个SATA端口和一个PCIe端口切换成具有全部PCIe端口。测试场地级接口层1075还可包括允许测试应用同时配置多个端口的构建块。例如,这一层将包括允许用户测试同时全部使用不同协议的多个端口或及时地使端口在不同协议之间轮换的规范。
良品率学习分析层1076定义用于组合来自多个站点模块的良品率数据的规范。这一层负责捕获来自若干不同测试仪的数据并将其组合到数据库中以供分析测试结果。
在本发明的一个实施例中,层1074、1075和1076还可包括与云接口有关的构建块。在一个实施例中,云接口被配置来与网络150以及服务器141和145接合,其中,服务器141和145由测试应用451的开发商维护。云接口可具有若干可能的功能。
在一个实施例中,测试***的用户可通过***控制器301上的通信接口122访问网络150以从服务器141和145下载FPGA或其他配置文件。在另一个实施例中,对服务器141和145的访问受到限制,使得用户需要登录和口令信息来访问文件。在一个实施例中,用户可以是测试应用451的开发商的客户。客户访问例如可针对特定客户来定制,使得仅允许该客户访问的配置文件和其他内容是通过云接口变得可获得的。例如,客户的访问可局限于客户先前已经付费的协议和配置。在一个实施例中,云接口可包括网站,客户可通过该网站访问所需文件。
在一个实施例中,客户可修改配置文件以针对他们自己的***定制协议。客户随后可将修改的文件上传回到服务器141和145以供***的其他用户可访问配置文件。
在一个实施例中,FPGA可通过云接口从远程位置来直接重新配置。例如,用户可将指令从服务器141和145直接发送至客户端设备151以重新配置连接至客户端设备的***控制器301的站点模块。这是有利的,因为其允许在无需用户物理地出现在测试场地的情况下远程配置站点模块。另外,在一个实施例中,其允许客户端设备151是非智能终端,而测试应用451可在从其访问站点模块的远程服务器上运行。
在一个实施例中,测试应用可与网络150接合以从服务器141和145访问与来自其他测试仪关于测试结果的信息相关联的信息。测试应用随后可编译来自所有各个连接的测试仪的信息,并通过测试应用451的GUI向用户呈现结果。可替代地,测试应用可对所编译信息执行各种类型的测试分析和比较,并通过测试应用451的GUI向用户呈现分析和比较的结果。在一个实施例中,测试应用可将测试的结果上传至服务器141和145。通过将结果上传回到服务器,测试应用的用户可远程访问结果。此外,它允许配置文件和测试应用的开发商容易地诊断与测试相关联的任何问题,而无需物理地出现在测试场地。在一个实施例中,这些功能可由良品率学习分析层1076中的构建块执行。
在一个实施例中,连接至客户端设备151、152和153的测试仪可通过安装在服务器设备141和145上的测试应用451的实例来直接控制。在此实施例中,所有***设备(例如,用户与测试应用451通信所需要的键盘、监视器等)将连接至服务器设备141和145(未示出)。
图10所示的示例性体系架构的优点在于:它允许用户在高测试抽象级灵活地将不同协议编程在可编程器件上以在无需牺牲测试质量问题的情况下测试DUT。
图11示出根据本发明的一个实施例的示例性计算机实施的过程的流程图,该过程用于利用通过网络获取的不同协议来配置包括可编程器件的模块从而测试DUT并接收测试结果以供分析。然而,本发明不限于由流程图1100提供的描述。相反,根据本文提供的教义,相关领域的技术人员将明白,其他功能流程也在本发明的范围和精神内。流程图1100将继续参考以上描述的示例性实施例来描述,但方法不限于这些实施例。
在步骤1102,测试应用451通过测试应用451的GUI从用户获取用于编程一个或多个站点模块310A-310N的协议选择。在一个实施例中,随后可通过网络150从服务器141和145以配置文件的形式访问协议。配置文件可以是用于对站点模块上的可编程器件(例如,FPGA、DSP等)进行编程的位文件。如以上所论述,在一个实施例中,服务器141和145可由测试应用451的开发商控制。
在步骤1104,测试应用451将使用如图8A和8B所示的DUT配置模块配置协议以用于与DUT通信。DUT配置工具向用户提供GUI,该GUI首先选择用来与DUT通信的协议。以此方式,测试应用451允许用户对控制用于站点模块310A-310M与DUT 372A-372M之间的通信的协议的可见性。
在步骤1106,测试应用451向站点模块传输用来执行测试序列的指令,该测试序列包括由用户设计来测试耦接至***控制器301的DUT的程序流程。在一个实施例中,测试应用451向连接至***控制器301的(一个或多个)测试仪处理器305传输从图7A和7B所示的程序流程工具接收的测试序列以便执行。测试应用包括状态机,其在测试运行时跟踪测试并基于在程序流程工具中输入的序列确定接下来需要执行哪些测试。图7A和7B中的程序流程工具控制从***控制器301下载到站点模块上的测试方法的执行。
在步骤1108,测试应用451从多个连接的站点模块接收在所连接DUT上运行的测试的结果。测试应用451组合来自各个测试仪模块的数据并将它们呈现给用户。测试应用还包含如下功能:分析测试结果,并通过测试应用451的GUI向用户呈现分析的结果。
出于解释的目的,已经参考具体实施例描述了前述说明。然而,以上的说明性论述并不旨在是穷尽的或将本发明限制于所公开的精确形式。鉴于以上教义,许多修改和变动是可能的。对实施例进行了选择和描述以便最佳地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够最佳地利用本发明以及当可适用于所设想的特定用途时具有各种修改的各个实施例。
Claims (19)
1.一种用于使用自动测试设备(ATE)执行测试的方法,所述方法包括:
使用图形用户界面(GUI)获取用于对可编程测试仪模块进行编程的协议选择,其中所述可编程测试仪模块包括至少一个现场可编程门阵列(FPGA),其中每个FPGA被耦合到存储器模块和测试仪处理器,并且其中所述协议选择在所述至少一个FPGA上对所选择的协议进行编程;
通过网络从远程计算机访问与协议相关联的配置文件;
利用应用于至少一个被测器件(DUT)的使用所述配置文件的通信协议来配置可编程测试仪模块,其中所述可编程测试仪模块可操作以通信地耦接至所述至少一个DUT,其中所述测试仪处理器被配置为根据从所述远程计算机接收到的指令按多个模式之一进行操作以用于在所述至少一个DUT上执行测试;
向所述可编程测试仪模块发送用于执行程序流程的指令,其中所述程序流程包括用于测试所述至少一个DUT的测试序列;以及
从所述可编程测试仪模块接收与对所述至少一个DUT运行所述程序流程中的所述测试序列相关联的结果。
2.如权利要求1所述的方法,还包括:
合并从所述可编程测试仪模块接收的结果;以及
对从所述可编程测试仪模块接收的结果进行分析。
3.如权利要求1所述的方法,还包括:显现用于输入登录信息以访问所述远程计算机上的所述配置文件的图形用户界面(GUI)。
4.如权利要求1所述的方法,其中访问所述配置文件是通过网站来执行的。
5.如权利要求1所述的方法,其中所述配置是通过所述网络从所述远程计算机来执行。
6.如权利要求1所述的方法,其中访问所述远程计算机上的配置文件是基于与客户相关联的标准来控制。
7.如权利要求1所述的方法,还包括:通过所述网络将从所述可编程测试仪模块接收的结果上传至所述远程计算机。
8.一种用于使用自动测试设备(ATE)执行测试的方法,所述方法包括:
获取用于对多个可编程测试仪模块进行编程的多个协议选择,其中所述可编程测试仪模块包括至少一个现场可编程门阵列(FPGA),其中每个FPGA被耦合到存储器模块和测试仪处理器,并且其中所述协议选择在所述至少一个FPGA上对所选择的协议进行编程;
通过网络从远程计算机访问与所述多个协议选择相关联的配置文件;
利用应用于多个被测器件(DUT)的使用相应配置文件的通信协议来配置多个可编程测试仪模块,其中所述多个可编程测试仪模块通信地耦接至所述多个DUT,其中所述测试仪处理器被配置为根据从所述远程计算机接收到的指令按多个模式之一进行操作以用于在所述至少一个DUT上执行测试;
向所述多个可编程测试仪模块发送用于对所述多个DUT执行测试的指令;以及
从所述多个可编程测试仪模块接收与对所述多个DUT运行所述测试相关联的结果。
9.如权利要求8所述的方法,还包括:
合并从所述多个可编程测试仪模块接收的结果;以及
分析从所述多个可编程测试仪模块接收的结果。
10.如权利要求9所述的方法,其中分析包括:对所述多个被测DUT的相关联良品率进行分析。
11.如权利要求9所述的方法,还包括:通过所述网络将来自所述多个可编程测试仪模块的结果上传至所述远程计算机。
12.如权利要求11所述的方法,还包括:使用从所述多个可编程测试仪模块上传至所述远程计算机的结果来诊断与所述多个可编程测试仪模块和所述多个DUT相关联的问题。
13.如权利要求8所述的方法,还包括:显现用于输入登录信息以访问所述远程计算机上的所述配置文件的图形用户界面(GUI)。
14.一种用于执行自动测试的***,所述***包括:
***控制器,其通信地耦接至至少一个可编程测试仪模块,其中所述***控制器包括:
存储器,其包括存储在其中的测试应用;
测试接口,其连接至所述至少一个可编程测试仪模块;以及
处理器,其耦接至所述存储器和所述测试接口,所述处理器被配置来根据所述测试应用进行操作以:
使用图形用户界面(GUI)获取用于对所述至少一个可编程测试仪模块进行编程的协议选择,其中所述可编程测试仪模块包括至少一个现场可编程门阵列(FPGA),其中每个FPGA被耦合到存储器模块和测试仪处理器,并且其中所述协议选择在所述至少一个FPGA上对所选择的协议进行编程;
通过网络从远程计算机访问与协议相关联的配置文件;
利用应用于至少一个被测器件(DUT)的使用所述配置文件的通信协议来配置所述至少一个可编程测试仪模块,其中所述至少一个可编程测试仪模块可操作以通信地耦接至所述至少一个DUT,其中所述测试仪处理器被配置为根据从所述远程计算机接收到的指令按多个模式之一进行操作以用于在所述至少一个DUT上执行测试;
向所述至少一个可编程测试仪模块发送用于执行程序流程的指令,其中所述程序流程包括用于测试所述至少一个DUT的测试序列;并且
从所述可编程测试仪模块接收与对所述至少一个DUT运行所述程序流程中的测试序列相关联的结果。
15.如权利要求14所述的***,其中所述处理器还被配置来根据所述测试应用进行操作以:
合并从所述可编程测试仪模块接收的结果;并且
分析从所述可编程测试仪模块接收的结果。
16.如权利要求14所述的***,其中所述处理器还被配置来根据所述测试应用进行操作以:实施用于输入登录信息以访问所述远程计算机上的所述配置文件的图形用户界面(GUI)。
17.如权利要求14所述的***,其中所述配置文件是通过网站进行访问的。
18.如权利要求14所述的***,其中所述处理器还被配置来根据所述测试应用进行操作以:通过所述网络将从所述可编程测试仪模块接收的结果上传至所述远程计算机。
19.一种用于使用自动测试设备(ATE)执行测试的方法,所述方法包括:
从远程客户端计算机接收用于对可编程测试仪模块进行编程的协议选择,其中所述可编程测试仪模块包括至少一个现场可编程门阵列(FPGA),其中每个FPGA被耦合到存储器模块和测试仪处理器,并且其中所述协议选择在所述至少一个FPGA上对所选择的协议进行编程;
访问与所述协议选择相关联的配置文件;
向所述远程客户端计算机发送与所述协议选择相关联的配置文件;
利用应用于至少一个被测器件(DUT)的使用所述配置文件的通信协议来远程地配置可编程测试仪模块,其中所述可编程测试仪模块通信地耦接至所述至少一个DUT,其中所述测试仪处理器被配置为根据从所述远程计算机接收到的指令按多个模式之一进行操作以用于在所述至少一个DUT上执行测试;
向所述可编程测试仪模块发送用于执行程序流程的指令,其中所述程序流程包括用于测试所述至少一个DUT的测试序列;以及
从所述远程客户端计算机接收与对所述至少一个DUT运行所述程序流程中的测试序列相关联的结果。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/773,628 | 2013-02-21 | ||
US13/773,628 US20140236527A1 (en) | 2013-02-21 | 2013-02-21 | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems |
PCT/US2013/028454 WO2014130058A1 (en) | 2013-02-21 | 2013-02-28 | Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105378493A CN105378493A (zh) | 2016-03-02 |
CN105378493B true CN105378493B (zh) | 2018-11-27 |
Family
ID=51351869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075598.4A Active CN105378493B (zh) | 2013-02-21 | 2013-02-28 | 用于支持协议无关器件测试***中协议重新配置的基于云的基础设施 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140236527A1 (zh) |
KR (1) | KR20160012982A (zh) |
CN (1) | CN105378493B (zh) |
WO (1) | WO2014130058A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140237292A1 (en) * | 2013-02-21 | 2014-08-21 | Advantest Corporation | Gui implementations on central controller computer system for supporting protocol independent device testing |
US9952276B2 (en) | 2013-02-21 | 2018-04-24 | Advantest Corporation | Tester with mixed protocol engine in a FPGA block |
US10161993B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block |
US10162007B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently |
US11009550B2 (en) | 2013-02-21 | 2021-05-18 | Advantest Corporation | Test architecture with an FPGA based test board to simulate a DUT or end-point |
US20150026528A1 (en) * | 2013-07-16 | 2015-01-22 | Manuel A. d'Abreu | Controller based memory evaluation |
US9152520B2 (en) * | 2013-09-26 | 2015-10-06 | Texas Instruments Incorporated | Programmable interface-based validation and debug |
JP5945301B2 (ja) * | 2014-07-03 | 2016-07-05 | アンリツ株式会社 | 測定装置及び測定方法 |
EP3221985B1 (en) * | 2014-11-20 | 2019-01-09 | OE Solutions America Inc. | Method and apparatus for controlling, monitoring, and communicating with tunable optical devices and subassemblies |
WO2016176434A1 (en) * | 2015-04-28 | 2016-11-03 | Duke Manufacturing Co. | System and apparatus for connecting kitchen components |
US9992305B2 (en) | 2015-08-07 | 2018-06-05 | Hewlett Packard Enterprise Development Lp | Cloud models based on network definition data |
CN107305515A (zh) * | 2016-04-25 | 2017-10-31 | Emc公司 | 计算机实现方法、计算机程序产品以及计算*** |
CN106291336B (zh) * | 2016-07-15 | 2019-10-25 | 上海华岭集成电路技术股份有限公司 | 一种fpga测试配置码流实时下载方法及*** |
CN106557447A (zh) * | 2016-11-29 | 2017-04-05 | 中国电子科技集团公司第二十九研究所 | 一种通用总线接口转换与预处理装置 |
CN106777729A (zh) * | 2016-12-26 | 2017-05-31 | 中核控制***工程有限公司 | 一种基于fpga的算法库仿真验证平台实现方法 |
CN106681929B (zh) * | 2017-01-23 | 2019-05-14 | 中国第一汽车股份有限公司 | 一种电气功能测试用例生成方法及*** |
US11105689B2 (en) * | 2017-03-09 | 2021-08-31 | Keithley Instruments, Llc | Temperature and heat map system |
US10079762B1 (en) * | 2017-04-24 | 2018-09-18 | Teradyne, Inc. | Test communication protocol |
US10592370B2 (en) * | 2017-04-28 | 2020-03-17 | Advantest Corporation | User control of automated test features with software application programming interface (API) |
US10451668B2 (en) * | 2017-04-28 | 2019-10-22 | Advantest Corporation | Test program flow control |
US10557886B2 (en) * | 2017-04-28 | 2020-02-11 | Advantest Corporation | Test system supporting multiple users using different applications |
US10241146B2 (en) * | 2017-05-01 | 2019-03-26 | Advantest Corporation | Test system and method |
US20190065253A1 (en) * | 2017-08-30 | 2019-02-28 | Intel Corporation | Technologies for pre-configuring accelerators by predicting bit-streams |
EP3518441B1 (en) * | 2018-01-25 | 2023-03-22 | Rohde & Schwarz GmbH & Co. KG | Test troubleshooting system and method |
US11002787B2 (en) * | 2018-03-06 | 2021-05-11 | Advantest Corporation | Scalable platform for system level testing |
US20210042212A1 (en) * | 2018-03-13 | 2021-02-11 | Tektronix, Inc. | Integrated Development Environment for Protocol Design, Evaluation and Debugging |
CN110324280A (zh) * | 2018-03-29 | 2019-10-11 | 西门子公司 | 工业云中的协议配置***、装置和方法 |
CN108833140A (zh) * | 2018-05-24 | 2018-11-16 | 携程旅游信息技术(上海)有限公司 | 交互式语音应答配置***、方法、电子设备和存储介质 |
CN109582320B (zh) * | 2018-08-08 | 2022-05-10 | 深圳市飞速创新技术股份有限公司 | 写码方法及终端设备 |
US11108640B2 (en) | 2018-12-20 | 2021-08-31 | Advantest Corporation | Controlling devices in a decentralized storage environment |
US10976361B2 (en) * | 2018-12-20 | 2021-04-13 | Advantest Corporation | Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes |
KR102569335B1 (ko) * | 2019-01-22 | 2023-08-22 | 주식회사 아도반테스토 | 커맨드 오류 처리를 위해 하나 이상의 테스트 대상 디바이스를 테스트하기 위한 자동 테스트 장비, 하나 이상의 테스트 대상 디바이스의 자동 테스트를 위한 방법 및 컴퓨터 프로그램 |
US11137910B2 (en) | 2019-03-04 | 2021-10-05 | Advantest Corporation | Fast address to sector number/offset translation to support odd sector size testing |
US11237202B2 (en) | 2019-03-12 | 2022-02-01 | Advantest Corporation | Non-standard sector size system support for SSD testing |
US11302412B2 (en) * | 2019-06-03 | 2022-04-12 | Advantest Corporation | Systems and methods for simulated device testing using a memory-based communication protocol |
CN112087360A (zh) * | 2019-06-13 | 2020-12-15 | 罗德施瓦兹两合股份有限公司 | 远程访问和控制***及相应方法 |
EP3751532A1 (en) | 2019-06-13 | 2020-12-16 | Rohde & Schwarz GmbH & Co. KG | Remote access and control system and corresponding method |
US10884847B1 (en) | 2019-08-20 | 2021-01-05 | Advantest Corporation | Fast parallel CRC determination to support SSD testing |
US11561873B2 (en) * | 2019-09-26 | 2023-01-24 | General Electric Company | Test equipment interface add-on having a production support equipment module and a selectively removable test support equipment module |
IT201900019992A1 (it) * | 2019-10-29 | 2021-04-29 | Nplust S R L | Sistema per la caratterizzazione di memorie non volatili |
CN112014726B (zh) * | 2020-08-05 | 2023-09-05 | 广东省新一代通信与网络创新研究院 | Dsp芯片测试装置及方法 |
CN111984435A (zh) * | 2020-08-20 | 2020-11-24 | 中电科仪器仪表有限公司 | 一种测试程序的执行与调试方法及*** |
US11922413B2 (en) | 2021-03-05 | 2024-03-05 | Capital One Services, Llc | Managing pre-provisioning and post-provisioning of resources using bitemporal analysis |
JP2024514288A (ja) * | 2021-03-15 | 2024-04-01 | リキッド・インスツルメンツ・プロプライエタリー・リミテッド | 部分的再構成fpgaに基づくマルチ機器デバイス |
US20220338033A1 (en) * | 2021-04-19 | 2022-10-20 | Rakuten Mobile, Inc. | Network component simulation for testing a test application in a network-as-a-service environment |
US20220382668A1 (en) * | 2021-05-28 | 2022-12-01 | Advantest Corporation | Systems and methods for concurrent and automated testing of zoned namespace solid state drives |
CN113422706B (zh) * | 2021-06-18 | 2022-11-25 | 上海怿星电子科技有限公司 | 检测网络协议栈一致性的方法及车辆 |
CN113590393B (zh) * | 2021-07-08 | 2024-03-12 | 深圳Tcl新技术有限公司 | 一种智能设备测试方法、装置、电子设备和存储介质 |
CN114490202B (zh) * | 2021-12-21 | 2023-06-23 | 北京密码云芯科技有限公司 | 一种密码设备测试方法、装置、电子设备及存储介质 |
CN114553757B (zh) * | 2022-01-29 | 2024-06-18 | 阿里巴巴(中国)有限公司 | 基于可编程交换机的协议报文处理方法、装置和设备 |
CN114487758B (zh) * | 2022-04-18 | 2022-08-16 | 江苏邑文微电子科技有限公司 | 半导体设备的测试方法、测试*** |
CN115421028A (zh) * | 2022-09-29 | 2022-12-02 | 北京华峰测控技术股份有限公司 | 测试机、测试***和测试方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311149B1 (en) * | 1997-08-18 | 2001-10-30 | National Instruments Corporation | Reconfigurable test system |
CN101120262A (zh) * | 2005-02-17 | 2008-02-06 | 株式会社爱德万测试 | 用于在并行测试***中调度测试的方法和*** |
CN101313366A (zh) * | 2006-06-27 | 2008-11-26 | 株式会社爱德万测试 | 半导体试验装置以及半导体存储器的试验方法 |
CN102341717A (zh) * | 2009-03-13 | 2012-02-01 | 泰拉丁公司 | 通用协议引擎 |
US8161402B1 (en) * | 2004-03-24 | 2012-04-17 | The Mathworks, Inc. | Methods and apparatus for graphical test and measurement |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805571A (en) * | 1996-03-19 | 1998-09-08 | Zwan; Bryan J. | Dynamic communication line analyzer apparatus and method |
US6069873A (en) * | 1997-10-01 | 2000-05-30 | U S West, Inc. | Closed-loop automated testing of system equipment and management |
US7152027B2 (en) * | 1998-02-17 | 2006-12-19 | National Instruments Corporation | Reconfigurable test system |
US7047174B2 (en) * | 2001-05-02 | 2006-05-16 | Freescale Semiconductor, Inc. | Method for producing test patterns for testing an integrated circuit |
US20020184326A1 (en) * | 2001-05-31 | 2002-12-05 | Andrew Thomson | System and method for providing network interfaces to instruments without networking capabilities |
US7010782B2 (en) * | 2002-04-04 | 2006-03-07 | Sapphire Infotech, Inc. | Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands |
US7099438B2 (en) * | 2002-06-14 | 2006-08-29 | Ixia | Multi-protocol, multi-interface communications device testing system |
US20040168111A1 (en) * | 2002-09-11 | 2004-08-26 | Arnold Ross J. | Graphic user interface for test equipment |
US7181360B1 (en) * | 2004-01-30 | 2007-02-20 | Spirent Communications | Methods and systems for generating test plans for communication devices |
US7623981B2 (en) * | 2004-03-05 | 2009-11-24 | Vfs Technologies Limited | Testing of embedded systems |
US7430486B2 (en) * | 2004-05-22 | 2008-09-30 | Advantest America R&D Center, Inc. | Datalog support in a modular test system |
US20050273685A1 (en) * | 2004-06-08 | 2005-12-08 | Sanjay Sachdev | Automated and customizable generation of efficient test programs for multiple electrical test equipment platforms |
US7528623B2 (en) * | 2007-02-02 | 2009-05-05 | Teradyne, Inc. | Distributing data among test boards to determine test parameters |
EP2321751A4 (en) * | 2008-07-07 | 2014-03-05 | Quali Systems Ltd | SYSTEM AND METHOD FOR HARDWARE SEQUENCING AND AUTOMATIC SOFTWARE OF COMPUTER-AIDED DESIGN (CAD) FUNCTIONAL TESTING |
US8718967B2 (en) * | 2010-05-28 | 2014-05-06 | Advantest Corporation | Flexible storage interface tester with variable parallelism and firmware upgradeability |
KR101137225B1 (ko) * | 2010-09-09 | 2012-04-20 | 주식회사 이노와이어리스 | Dut 자동화 테스트 장치 |
US9176839B2 (en) * | 2011-05-20 | 2015-11-03 | Whizchip Design Technologies Pvt. Ltd. | Bus transaction monitoring and debugging system using FPGA |
US9116785B2 (en) * | 2013-01-22 | 2015-08-25 | Teradyne, Inc. | Embedded tester |
-
2013
- 2013-02-21 US US13/773,628 patent/US20140236527A1/en not_active Abandoned
- 2013-02-28 CN CN201380075598.4A patent/CN105378493B/zh active Active
- 2013-02-28 KR KR1020157025728A patent/KR20160012982A/ko not_active Application Discontinuation
- 2013-02-28 WO PCT/US2013/028454 patent/WO2014130058A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311149B1 (en) * | 1997-08-18 | 2001-10-30 | National Instruments Corporation | Reconfigurable test system |
US8161402B1 (en) * | 2004-03-24 | 2012-04-17 | The Mathworks, Inc. | Methods and apparatus for graphical test and measurement |
CN101120262A (zh) * | 2005-02-17 | 2008-02-06 | 株式会社爱德万测试 | 用于在并行测试***中调度测试的方法和*** |
CN101313366A (zh) * | 2006-06-27 | 2008-11-26 | 株式会社爱德万测试 | 半导体试验装置以及半导体存储器的试验方法 |
CN102341717A (zh) * | 2009-03-13 | 2012-02-01 | 泰拉丁公司 | 通用协议引擎 |
Also Published As
Publication number | Publication date |
---|---|
KR20160012982A (ko) | 2016-02-03 |
US20140236527A1 (en) | 2014-08-21 |
CN105378493A (zh) | 2016-03-02 |
WO2014130058A1 (en) | 2014-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105378493B (zh) | 用于支持协议无关器件测试***中协议重新配置的基于云的基础设施 | |
TW201433802A (zh) | 在中央控制器電腦系統上用以支援協定獨立元件測試之圖形使用者介面實施態樣技術 | |
CN105144114B (zh) | Fpga块具有混合协议引擎的测试器 | |
US7340693B2 (en) | System for designing re-programmable digital hardware platforms | |
US9087041B2 (en) | Enterprise test system platform and associated method for interoperable test data management, test development, test libraries and test workflow management and automation | |
CN105143895B (zh) | 从交互式图形用户界面中自动生成测试类预编译头 | |
CN105229481B (zh) | 具有存储器上的加速以及用于fpga块内自动模式生成的加速的测试器 | |
JP2020101519A (ja) | ソリッドステートデバイス(ssd)の変則セクタサイズおよびプロテクションモードのための自動テスト装置(ate)サポートフレームワーク | |
CN108631854A (zh) | 用于测试卫星线束与信号处理单元的rf性能的方法与装置 | |
CN104518924B (zh) | 自动化测试及结果比对方法及*** | |
US20080098272A1 (en) | Networked test system | |
JP6761441B2 (ja) | ソフトウェアアプリケーションプログラミングインタフェース(api)を用いた自動テスト機能のユーザによる制御 | |
CN110502374A (zh) | 识别自动测试时设备故障的根本原因的流量捕获调试工具 | |
CN110050441A (zh) | 在故障情况下实时捕获流量以进行协议调试 | |
CN105008943A (zh) | 对在fpga块内分组创建加速的测试仪 | |
KR102481257B1 (ko) | 시험 프로그램 흐름 제어 기법 | |
US10557886B2 (en) | Test system supporting multiple users using different applications | |
TW201428521A (zh) | 設計及模擬系統、裝置及方法 | |
US10489543B1 (en) | Productivity platform using system-on-chip with programmable circuitry | |
CN114328223A (zh) | 一种信息测试方法、装置、设备及存储介质 | |
US10430200B2 (en) | Slave processor within a system-on-chip | |
Hronek | CAN Bus Latency Test Automation for Continuous Testing and Evaluation | |
Martins et al. | Experimentation made easy with the AMazING panel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |