CN113484710A - 用于流量捕捉和调试工具的图形用户界面 - Google Patents

用于流量捕捉和调试工具的图形用户界面 Download PDF

Info

Publication number
CN113484710A
CN113484710A CN202110234149.6A CN202110234149A CN113484710A CN 113484710 A CN113484710 A CN 113484710A CN 202110234149 A CN202110234149 A CN 202110234149A CN 113484710 A CN113484710 A CN 113484710A
Authority
CN
China
Prior art keywords
capture
capture modules
fpga
modules
data traffic
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.)
Pending
Application number
CN202110234149.6A
Other languages
English (en)
Inventor
潘佩琳
林登·许
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/127,596 external-priority patent/US20210111967A1/en
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of CN113484710A publication Critical patent/CN113484710A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • G01R31/2601Apparatus or methods therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本文涉及用于流量捕捉和调试工具的图形用户界面。一种用于利用自动化测试设备(ATE)来诊断失效的原因的方法包括:利用与监视应用相关联的图形用户界面(GUI)来配置可编程逻辑器件中的多个捕捉模块。该方法还包括:利用多个捕捉模块来监视被测器件(DUT)与可编程逻辑器件之间的数据流量,其中,多个捕捉模块是可编程的并且可操作以选择性地捕捉要被监视的数据流量。另外,该方法包括:从与多个捕捉模块中的每一者相关联的各个存储器将与监视相关联的结果取回到监视应用中并且在取回后分析结果。

Description

用于流量捕捉和调试工具的图形用户界面
相关申请的交叉引用
本申请是2018年5月16日递交的标题为“TRAFFIC CAPTURE AND DEBUGGING TOOLSFOR IDENTIFYING ROOT CAUSES OF DEVICE FAILURE DURING AUTOMATED TESTING(用于识别在自动化测试期间 的设备失效的根本原因的流量捕捉和调试工具)”、发明人为LindenHsu、Ben Rogel-Favila、Michael Jones、Duane Champoux和Mei-Mei Su、 代理人案卷号为ATSY-0066-01.01US的美国专利申请号15/981,634的部分 延续案,通过引用将该美国专利申请全部内容并入本文以用于所有目的。
技术领域
本公开总体涉及电子器件测试***的领域,更具体地,涉及用于测试 被测器件(device under test,DUT)的电子器件测试设备的领域。
背景技术
自动化测试设备(automated test equipment,ATE)可以是对半导体器 件或电子组装件执行测试的任何测试组装件。ATE组装件可用于执行自动 化测试,这些自动化测试迅速地执行测量并且生成随后可被分析的测试结 果。ATE组装件可以是从耦合到仪表的计算机***,到复杂的自动化测试 组装件的任何东西,其中该自动化测试组装件可包括定制的专用计算机控 制***和许多不同的测试仪器,这些测试仪器能够自动测试电子部件和/或 进行半导体晶圆测试,例如片上***(system-on-chip,SOC)测试或集成 电路测试。ATE***既减少了为确保器件如设计那样运行而花费在测试器 件上的时间量,也充当一种诊断工具,用以在给定器件到达消费者之前确 定该器件内的故障组件的存在。
传统ATE的缺陷之一是它们通常只报告通过/未通过结果。换言之,ATE只报告一个或多个被测器件(DUT)是否通过或者未通过正被执行的 相应测试。ATE并未被配置为识别在合格性测试期间发生的器件失效的根 本原因。通常,ATE中不会内置有将使得工程师能够容易地诊断DUT的 问题所在的任何基于硬件或软件的工具。
在典型的测试环境中,操作ATE的工程师将通过收集数据日志并且对 日志执行分析来手动识别失效的原因。这个方案是劳力密集的、易出错的 并且不可扩展的。其也可能不会产生期望的结果,因为可能没有足够的信 息供工程师用来确定要分析哪些数据日志或者如何在数据日志内找到器件 失效的根本原因。另外,传统的ATE***不包含内置到硬件中的、将会帮 助工程师捕捉和自动解读及分析与测试有关的诊断信息的任何智能。
而且传统的ATE***不向用户提供下述图形用户界面(graphical userinterface,GUI):允许用户控制硬件测试***的具体方面并且还以无缝且 高效的方式合成并向用户提供结果的GUI。另外,传统的ATE***不提 供下述GUI:提醒用户测试结果中的需要进一步关注的可疑状况或者允许 用户添加、删除、修改或保存可疑状况的GUI。另外,传统测试器***的 GUI不向用户提供源数据与被标记的状况之间的链接。
发明内容
因此,存在对下述ATE的需求:该ATE包括基于硬件的流量捕捉模 块,这些模块收集和监视在测试器和被测器件(DUT)之间交换的数据以 便收集关于测试器随时间的状态和在测试器与DUT之间交换的数据的有 价值信息。另外,存在对下述基于硬件的逻辑模块的需求:针对器件失效 前兆执行监视的基于硬件的逻辑模块,该器件失效前兆提供关于有可能将 要失效的器件的信息。
最后,存在对允许工程师更容易地解读所收集的数据的基于硬件的和 基于软件的工具的需求,并且特别地,存在对下述图形用户界面的需求: 该图形用户界面除了别的方面之外还允许用户将基于硬件的逻辑模块编程 为执行特定功能并且还以直观且高效的方式显示测试数据。
本发明的实施例提供了一种集成GUI,其允许用户控制测试流程的所 有方面并且以易于理解的方式来向用户提供与测试结果有关的信息。在一 个实现方式中,该GUI不仅从基于硬件的逻辑模块、而且还从测试器*** 中的各种点收集和聚合数据。在一个实现方式中,该GUI处理从测试器系 统接收的测试数据,以便按可理解的方式显示数据。在一个实现方式中, 该GUI分析来自DUT的测试数据以检测DUT中的需要进一步关注的可疑 状况。在一个实施例中,该GUI可允许用户添加/删除/修改/保存可疑状况 并且执行进一步的分析。该GUI还可使已被标记有可疑状况突出。在一个 实现方式中,该GUI提供源数据与被标记的状况之间的链接。
在一个实施例中,公开了一种用于利用自动化测试设备(ATE)来诊 断失效的原因的方法。该方法包括利用与监视应用相关联的图形用户界面 (GUI)来配置可编程逻辑器件中的多个捕捉模块。该方法还包括利用多 个捕捉模块监视被测器件(DUT)与可编程逻辑器件之间的数据流量,其 中,多个捕捉模块是可编程的并且可操作以选择性地捕捉要被监视的数据 流量,其中数据流量包括DUT与可编程逻辑器件之间的流量流,其中, 多个捕捉模块是利用多个阶段配置的,并且其中,DUT与可编程逻辑器件 之间的流量流通过该多个阶段被处理。另外,该方法包括从与多个捕捉模 块中的每一者相关联的各个存储器中将与监视相关联的结果取回到监视应 用中并且在取回后分析结果。
在一个实施例中,公开了一种用于利用自动化测试设备(ATE)来诊 断失效的原因的装置。该装置包括通信地耦合到被测器件(DUT)的可编 程逻辑器件,该可编程逻辑器件可操作以生成用于对DUT执行测试的命 令和数据,并且其中,可编程逻辑器件包括在该可编程逻辑器件上编程的 多个可编程捕捉模块,其中,多个捕捉模块可操作以监视DUT与可编程 逻辑器件之间的数据流量,其中,多个捕捉模块可操作以选择性地捕捉要 被监视的数据流量,其中,数据流量包括DUT与可编程逻辑器件之间的 流量流,其中多个捕捉模块是利用多个阶段配置的,并且其中DUT与可 编程逻辑器件之间的流量流通过该多个阶段被处理。该装置还包括监视应 用,该监视应用可操作以提供图形用户界面并且被配置为:a)对多个捕 捉模块编程;b)从与多个捕捉模块中的每一者相关联的各个存储器中将 与监视数据流量相关联的结果取回到监视应用中;并且c)通过GUI来显 示结果。
在另一实施例中,一种测试器包括用于控制用于测试多个DUT的测 试程序的***控制器。该测试器还包括可操作以与多个DUT接口连接并 且测试该多个DUT的现场可编程门阵列(FPGA),该FPGA耦合到*** 控制器,其中,每个FPGA包括多个捕捉模块,其中,多个捕捉模块被编 程在FPGA上并且可操作以监视多个DUT与FPGA之间的数据流量,其 中,多个捕捉模块可操作以选择性地捕捉和分析要被监视的数据流量,其 中,数据流量包括多个DUT与FPGA之间的流量流,其中,多个捕捉模 块是利用多个阶段配置的,并且其中,多个DUT与FPGA之间的流量流 通过该多个阶段被处理。此外,测试器包括监视应用,该监视应用可操作 以提供图形用户界面并且被配置为:a)对多个捕捉模块编程;b)从与多 个捕捉模块中的每一者相关联的各个存储器中将与监视数据流量相关联的 结果取回到监视应用中;并且c)分析与监视相关联的结果。
以下详细描述与附图一起提供了对本发明的性质和优点的更好理解。
附图说明
在附图中以示例方式而非限制方式图示了本发明的实施例,附图中相 似的标号指代相似的元素。
图1是一种计算机***,在该计算机***上可根据本发明的一个实施 例实现本发明的自动化测试***的实施例;
图2图示了一种典型测试环境,其中DUT被置于受控环境舱室中。
图3是图示出测试器切片及其与***控制器和DUT的互连的示范性 实施例的详细示意性框图。
图4是根据本发明的实施例图示出本发明的流量捕捉模块收集与自动 化测试有关的诊断信息的方式的高级别框图。
图5是根据本发明的实施例图示出对本发明的流量捕捉模块编程的方 式的框图。
图6根据本发明的一个实施例图示出用于在自动化器件测试的过程期 间捕捉关键信息以便确定器件失效的根本原因的示范性计算机实现过程的 流程图。
图7根据本发明的一个实施例图示出用于在自动化器件测试期间使用 捕捉模块来监视数据流量和诊断问题的示范性计算机实现过程的流程图。
图8是根据本发明的一个实施例图示出软件***的各种功能组件的框 图。
图9根据本发明的一个实施例图示出用于在软件***内配置LTSSM 规则检查器的GUI的示范性屏上显示。
图10是根据本发明的一个实施例图示出用于在软件***内配置均衡 化规则检查器的GUI的示范性屏上显示。
图11是根据本发明的一个实施例图示出用于在软件***内配置TLP 规则检查器的GUI的示范性屏上显示。
图12根据本发明的一个实施例图示出用于在自动化器件测试期间分 析从可编程逻辑器件中的捕捉模块取回的信息的示范性计算机实现过程的 流程图。
在附图中,具有相同附图标记的元素具有相同或相似的功能。
具体实施方式
现在将详细述及本公开的各种实施例,这些实施例的示例在附图中图 示。虽然是结合这些实施例来描述的,但将会理解它们并不打算将本公开 限制到这些实施例。相反,本公开打算覆盖在如所附权利要求限定的本公 开的精神和范围内可包括的替换、修改和等同。此外,在接下来对本公开 的详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然 而,将会理解,没有这些具体细节也可实现本公开。在其他情况中,没有 详细描述公知的方法、过程、组件、和电路,以免不必要地模糊本公开的 各方面。
接下来的详细描述的一些部分是按过程、逻辑块、处理、和对计算机 存储器内的数据比特进行的操作的其他符号表示来呈现的。这些描述和表 示是被数据处理领域的技术人员用来最有效地将其工作的实质传达给本领 域其他技术人员的手段。在本申请中,过程、逻辑块、处理等等被设想为 是带来期望的结果的步骤或指令的自洽序列。这些步骤是利用对物理量的 物理操纵的那些。通常(但并非一定),这些量采取能够被存储、传送、 组合、比较、和在计算机***中被以其他方式操纵的电信号或磁信号的形 式。已证明有时,主要是出于习惯用法的原因,将这些信号称为事务、比 特、值、元素、符号、字符、样本、像素等等,是方便的。
然而,应当记住,所有这些和类似的术语都将与适当的物理量相关联 并且只是应用到这些量的方便标签。除非如从接下来的论述中清楚可见而 另有具体声明,否则要明白在本公开各处,利用诸如“配置”、“提 供”、“执行”、“传输”、“获得”、“实现”、“编程”、“分配”、“关联”、“设置”、“访问”、“取回”、“保存”、“捕 捉”、“生成”、“完成”、“监视”、“控制”、“确定”、“识 别”、“缓存”、“维护”、“比较”、“去除”、“读取”、“写入” 等等之类的术语的论述指的是计算机***或者类似的电子计算设备或处理 器(例如,图1的***110)的动作和过程(例如,图7和图12的流程图 700)。计算机***或类似的电子计算设备操纵和变换计算机***存储 器、寄存器或其他这种信息存储、传输或显示设备内的被表示为物理(电 子)量的数据。
本文描述的实施例可以是在驻留于某种形式的计算机可读存储介质上 的、由一个或多个计算机或其他设备执行的计算机可执行指令(例如程序 模块)的一般上下文中论述的。通过示例而非限制的方式,计算机可读存 储介质可包括非暂态计算机可读存储介质和通信介质;非暂态计算机可读 介质包括除了暂态传播信号以外的所有计算机可读介质。一般而言,程序 模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构,等等。根据各种实施例中的需要,程序模块的功能可被组 合或者分散。
计算机存储介质包括以任何方法或技术实现的易失性和非易失性的、 可移除和不可移除的介质,以用于存储信息,例如计算机可读指令、数据 结构、程序模块或其他数据。计算机存储介质包括但不限于随机访问存储 器(RAM)、只读存储器(ROM)、电可擦除可编程ROM (EEPROM)、闪存或者其他存储器技术、致密盘ROM(CD-ROM)、 数字多功能盘(DVD)、或者其他光存储装置、盒式磁带、磁带、磁盘存 储装置或其他磁存储设备、或者可用于存储期望的信息并且可被访问以取 回该信息的任何其他介质。
通信介质可体现计算机可执行指令、数据结构、和程序模块,并且包 括任何信息输送介质。通过示例而非限制的方式,通信介质包括诸如有线 网络或直接布线连接之类的有线介质,以及诸如声音、无线电频率 (RF)、红外线、和其他无线介质之类的无线介质。上述的任何组合也可 被包括在计算机可读介质的范围内。
图1是能够支持帮助识别器件失效的根本原因的基于硬件和软件的流 量捕捉和调试工具的测试器控制***110的示例的框图。例如,***110 可连接到基于FPGA的测试器模块,其中FPGA包括捕捉逻辑,用以收集 与测试器的状态以及与在各个FPGA与连接的DUT之间交换的信息有关 的信息。测试器控制***110广泛地表示能够执行计算机可读指令的任何 单处理器或多处理器计算设备或***。控制***110的示例包括但不限于 工作站、膝上型电脑、客户端侧终端、服务器、分布式计算***、手持设 备、或者任何其他计算***或设备。在其最基本的配置中,控制***110 可包括至少一个处理器114和***存储器116。
处理器114一般表示能够处理数据或者解读和执行指令的任何类型或 形式的处理单元。在某些实施例中,处理器114可从软件应用或模块接收 指令。这些指令可使得处理器114执行本文描述和/或图示的示例实施例中 的一个或多个的功能。
***存储器116一般表示能够存储数据和/或其他计算机可读指令的任 何类型或形式的易失性或非易失性存储设备或介质。***存储器116的示 例包括但不限于RAM、ROM、闪速存储器、或者任何其他适当的存储器 设备。虽然不是必需的,但在某些实施例中控制***110既可包括易失性 存储器单元(例如,***存储器116)也可包括非易失性存储设备(例 如,主存储设备132)。
测试器控制***110除了处理器114和***存储器116以外还可包括 一个或多个组件或元件。例如,在图1的实施例中,控制***110包括存 储器控制器118、输入/输出(I/O)控制器120、以及通信接口122,其中 每一者可经由通信基础设施112来互连。通信基础设施112一般表示能够 促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础设 施。通信基础设施112的示例包括但不限于通信总线(例如工业标准架构 (IndustryStandard Architecture,ISA)、***组件互连(Peripheral Component Interconnect,PCI)、快速PCI(PCI Express,PCIe)、或者类 似的总线)以及网络。
存储器控制器118一般表示能够应对存储器或数据或者控制在控制系 统110的一个或多个组件之间的通信的任何类型或形式的设备。例如,存 储器控制器118可控制处理器114、***存储器116、和I/O控制器120之 间经由通信基础设施112的通信。
I/O控制器120一般表示能够协调和/或控制计算设备的输入和输出功 能的任何类型或形式的模块。例如,I/O控制器120可控制或促进控制系 统110的一个或多个元件(例如处理器114、***存储器116、通信接口 122、显示适配器126、输入接口130、和存储接口134)之间的数据的传 送。
通信接口122广泛地表示能够促进示例控制***110和一个或多个额 外设备之间的通信的任何类型或形式的通信设备或适配器。例如,通信接 口122可促进控制***110与包括额外控制***的私有或公共网络之间的 通信。通信接口122的示例包括但不限于有线网络接口(例如网络接口 卡)、无线网络接口(例如无线网络接口卡)、调制解调器、以及任何其 他适当的接口。在一个实施例中,通信接口122经由到网络(例如互联 网)的直接链路来提供到远程服务器的直接连接。通信接口122也可通过 任何其他适当的连接来间接提供这种连接。
通信接口122也可表示被配置为经由外部总线或通信信道促进控制系 统110与一个或多个额外的网络或存储设备之间的通信的主机适配器。主 机适配器的示例包括但不限于小型计算机***接口(Small Computer System Interface,SCSI)主机适配器、通用串行总线(Universal Serial Bus,USB)主机适配器、IEEE(Institute of Electrical andElectronics Engineers,电气与电子工程师学会)1394主机适配器、串行先进技术附接(Serial Advanced Technology Attachment,SATA)和外部SATA (eSATA)主机适配器、先进技术附接(Advanced Technology Attachment,ATA)和并行ATA(PATA)主机适配器、光纤信道接口适 配器、以太网适配器,等等。通信接口122还可允许控制***110参与分 布式或远程计算。例如,通信接口122可从远程设备接收指令或者向远程 设备发送指令以供执行。
如图1中所示,控制***110还可包括经由显示适配器126耦合到通 信基础设施112的至少一个显示设备124。显示设备124一般表示能够从 视觉上显示由显示适配器126转发的信息的任何类型或形式的设备。类似 地,显示适配器126一般表示被配置为转发图形、文本、和其他数据以供 在显示设备124上显示的任何类型或形式的设备。
如图1中所示,控制***110还可包括经由输入接口130耦合到通信 基础设施112的至少一个输入设备128。输入设备128一般表示能够将输 入(计算机生成的或者人工生成的)提供到控制***110的任何类型或形 式的输入设备。输入设备128的示例包括但不限于键盘、指点设备、话音 识别设备、或者任何其他输入设备。
如图1中所示,控制***110还可包括经由存储接口134耦合到通信 基础设施112的主存储设备132和备用存储设备133。存储设备132和133 一般表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储 设备或介质。例如,存储设备132和133可以是磁盘驱动器(例如,所谓 的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器, 等等。存储接口134一般表示用于在存储设备132和133与控制***110 的其他组件之间传送数据的任何类型或形式的接口或设备。
在一个示例中,数据库140可被存储在主存储设备132中。数据库 140可表示单个数据库或计算设备的一些部分或者其可表示多个数据库或 计算设备。例如,数据库140可表示(被存储于)控制***110的一部分 和/或图2(下文)中的示例网络架构200的一些部分。替代地,数据库 140可表示(被存储于)能够被计算设备(例如控制***110和/或网络架构200的一些部分)访问的一个或多个物理上分离的设备。
继续参考图1,存储设备132和133可被配置为从可移除存储单元进 行读取和/或向其进行写入,该可移除存储单元被配置为存储计算机软件、 数据、或其他计算机可读信息。适当的可移除存储单元的示例包括但不限 于软盘、磁带、光盘、闪存设备,等等。存储设备132和133还可包括用 于允许计算机软件、数据、或其他计算机可读指令被加载到控制***110 中的其他类似的结构或设备。例如,存储设备132和133可被配置为读取 和写入软件、数据、或其他计算机可读信息。存储设备132和133还可以 是控制***110的一部分或者可以是通过其他接口***来访问的单独设 备。
许多其他设备或子***可连接到控制***110。相反,实现本文描述 的实施例并不需要图1中所示的所有组件和设备都存在来实现本文描述的 实施例。上文提及的设备和子***也可按与图1中所示的不同的方式来互 连。控制***110也可采用任何数目的软件、固件、和/或硬件配置。例 如,本文公开的示例实施例可编码为计算机可读介质上的计算机程序(也 称为计算机软件、软件应用、计算机可读指令、或者计算机控制逻辑)。
包含计算机程序的计算机可读介质可被加载到控制***110中。存储 在计算机可读介质上的计算机程序的全部或一部分随后可被存储在***存 储器116和/或存储设备132和133的各种部分中。当被处理器114执行 时,加载到控制***110中的计算机程序可使得处理器114执行本文描述 和/或图示的示例实施例的功能和/或作为用于执行本文描述和/或图示的示 例实施例的功能的装置。额外地或者替代地,本文描述和/或图示的示例实施例可实现在固件和/或硬件中。
用于在自动测试期间识别器件失效的根本原因的流量捕捉和调试工具
图2图示了一种典型测试环境,其中DUT可被置于受控环境舱室10 或者“炉子”中。DUT连接到测试头20的测试器切片。许多DUT可连接 到单个测试器切片40。测试器切片包含测试电路,该测试电路根据测试计 划来对DUT执行测试。每个测试头20可以有许多个测试器切片。DUT当 被***到炉子10中时被置于托盘30中。在典型环境舱室中,多个测试器 切片步调一致地操作,以对多个DUT执行相同测试计划。另外,测试头 通常由直接连接到测试头并且以这种方式控制测试头20的所有切片的单 个控制器计算机***(例如测试器控制***110)来控制。控制器计算机 通常由对DUT执行单个测试计划的单个用户来操作。如下文将进一步描 述的,每个测试器切片包括FPGA,本发明的流量捕捉和调试模块可被编 程到这些FPGA上。例如,FPGA可被编程有逻辑和缓冲器,这些逻辑和 缓冲器收集与FPGA的状态和在FPGA与任何连接的DUT之间交换的数 据有关的信息。
图3是图示出测试器切片及其与***控制器和DUT的互连的示范性 实施例的详细示意性框图。
参考图3,每个测试器切片包括站点模块。站点模块在一个实施例中 可从机械上被配置到测试器切片340A-340N上,其中每个测试器切片包括 至少一个站点模块。在某些典型实施例中,每个测试器切片可包括两个站 点模块和两个器件电源板。在其他实施例中,测试器切片可包括更多或更 少的站点模块和/或电源板。例如,图3的测试器切片340A包括站点模块 310A和310B和器件电源板332A和332B。然而,对于可被配置到测试器 切片上的器件电源板或站点模块的数目并没有限制。测试器切片340通过 网络交换机302连接到***控制器301。网络交换机302可利用32比特宽 的总线连接到每个站点模块。
在一个实施例中,***控制器301可以是计算机***,例如,提供用 户界面来供ATE的用户加载测试程序并且为连接到ATE 300的DUT运行 测试的个人计算机(PC)。Advantest Stylus操作***是通常在器件测试期 间使用的测试软件的一个示例。其向用户提供用来配置和控制测试的图形 用户界面。其也可包括下述功能、控制测试流程、控制测试程序的状态、 确定哪个测试程序在运行、以及记录测试结果和与测试流程有关的其他数 据。在一个实施例中,***控制器可连接到多达512个DUT并且控制它 们。
在一个实施例中,***控制器301可通过网络交换机(例如以太网交 换机)连接到站点模块板310A-310B。在其他实施例中,网络交换机可兼 容不同的协议,例如光纤信道、802.11或者ATM。
可从站点模块310A-310B之一控制器件电源板332A-332B的每一者。 在测试器处理器304上运行的软件可被配置为将器件电源指派到特定的站 点模块。在一个实施例中,站点模块310A-310B和器件电源332A-332B被 配置为利用高速串行协议与彼此通信,例如,快速***组件互连 (Peripheral Component Interconnect Express,PCIe)、串行AT附接(Serial AT Attachment,SATA)或者串行附接SCSI(Serial Attached SCSI,SAS)。
在一个实施例中,每个站点模块如图3中所示被配置有两个FPGA。 图3的实施例中的FPGA 316和318中的每一者受测试器处理器304控 制。测试器处理器304可如图3中的***总线330和332所指示利用诸如 PCIe之类的8通道高速串行协议接口与每个FPGA通信。在其他实施例 中,测试器处理器304也可利用不同的高速串行协议与FPGA通信,例 如,串行AT附接(SATA)或者串行附接SCSI(SAS)。
FPGA 316和318分别连接到存储器模块308和304。存储器模块可与 FPGA器件和测试器处理器304两者耦合并且可受这两者控制。
FPGA 316和318可分别通过总线352和354连接到负载板380上的 DUT 372A-372M。负载板380是下述物理器具:允许站点模块端(其不知 晓用于向线路352和354上的DUT通信的协议)处的通用高速连接的物 理器具。然而,在DUT端处,负载板需要被设计为具有特定于DUT所使 用的协议的连接器。
应当注意,图3只图示了测试器切片的示范性实施例。另外,请注意 本发明的实施例不仅限于图3中所示的测试器切片的类型。本发明的实施 例可包括许多不同类型的测试器切片和基元。然而,无论测试器切片的配 置如何,每个测试器切片都会包括其上可编程有本发明的流量捕捉和调试 模块的FPGA。
DUT 372A-372M在本发明的一个实施例中被加载在负载板380上, 该负载板380被置于热舱室390内以供测试。DUT 372A-372M和负载板 380从器件电源332A和332B得到电力。
可连接到每个FPGA的DUT的数目取决于FPGA中的收发器的数目 和每个DUT所需要的I/O通道的数目。在一个实施例中,FPGA 316和 318可各自包括32个高速收发器,并且总线352和354的每一者可以是32 比特宽的,然而,根据应用的不同可以实现更多或更少的比特。例如,如 果每个DUT需要8个I/O通道,则在这种***中每个FPGA只可连接有4 个DUT。
测试器处理器304通过总线312连接到***控制器301并且可与其通 信。在一个实施例中,测试器处理器304通过单独的专用总线(例如,分 别是330和332)与FPGA器件316和318的每一者通信。在一个实施例 中,测试器处理器304可通过FPGA来透明地控制对DUT372A-372N的 测试,其中最低限度的处理功能被分配给这些FPGA器件。在此实施例 中,总线330和332的数据流量容量会被迅速耗尽,因为由测试器处理器 生成的所有命令和数据都需要通过总线被通传到FPGA器件。在其他实施 例中,测试器处理器304可通过将控制对DUT的测试的功能分配给FPGA 器件来共享处理负载。在这些实施例中,减少了总线330和332上的流 量,因为FPGA器件可生成其自己的命令和数据。
在一个实施例中,FPGA器件的每一者例如,316和318,连接到其自 己的专用存储器块,例如,308和304。这些存储器块除了其他功能以外 还可被利用来存储被写出到DUT的测试模式数据。在一个实施例中,每 个FPGA器件可包括两个或更多个实例化FPGA测试器块(未示出),其 具有用于来执行包括下述项的功能的功能模块:通信协议引擎和硬件加速器的实现。
另外,***中的DUT 372A-372M的每一者可按“每DUT的测试器 (tester perDUT)”配置来连接到专用的实例化FPGA测试器块,其中每 个DUT获取其自己的实例化测试器块。这允许针对每个DUT的单独测试 执行。这种配置中的硬件资源是以用最低限度的硬件共享支持个体DUT 的方式来设计的。这个配置还允许许多DUT被并行测试,其中每个DUT可连接到FPGA内的其自己的专用FPGA测试器块并且运行不同的测试程 序。
图3中描绘的本发明的实施例的架构具有若干个优点。首先,其消除 了对***中的协议特定的总线适配器插座和卡的需求,因为通信协议模块 可被直接编程在FPGA器件内的实例化FPGA测试器块上。实例化测试器 块可被配置为以DUT支持的任何协议与DUT通信。因此,如果需要对具 有不同协议支持的DUT进行测试,则它们可连接到相同***并且FPGA 可被重编程以具有对相关联协议的支持。其结果是,一个ATE主体可容易 地被配置为对支持许多不同类型的协议的DUT进行测试。
在一个实施例中,新的协议可经由从***控制器301上的缓存的简单 比特流下载而被下载并直接安装在FPGA上,而没有任何种类的硬件交 互。FPGA通常将包括可配置的接口核心(或IP核心),该核心可编程来 为DUT提供一个或多个基于协议的接口的功能并且可编程以与DUT接口 连接。例如,ATE装置中的FPGA 316和318将包括接口核心,该接口核 心最初可被配置有PCIe协议,用以测试PCIe器件,随后可经由软件下载 被重配置以测试SATA器件。另外,如果发布了新的协议,则FPGA可经 由比特流下载很容易地被配置有该协议,而不是必须物理地切换***中的 所有硬件总线适配器卡。最后,如果需要实现非标准协议,则FPGA仍可 被配置为实现这种协议。
在另一实施例中,FPGA可被配置为运行多于一个通信协议,其中这 些协议也可从***控制器301被下载并且通过软件进行配置。换言之,每 个FPGA实现定制固件和软件镜像以在单个芯片中实现一个或多个基于 PC的测试器的功能。所需要的电气信令和基于协议的信令由FPGA中的 片上IP核心来提供。如上所述,每个FPGA可编程有经预验证的接口或IP核心。这确保了根据给定接口标准的遵从性和兼容性。FPGA的可编程 性质被利用来为来自SSD、HDD和其他基于协议的存储设备的存储测试 应用优化灵活性、成本、并行性和可升级性。
例如,FPGA 316内的实例化FPGA测试器块可被配置为运行PCIe协 议,而同一FPGA316内的不同的实例化FPGA测试器块可被配置为运行 SATA协议。这允许测试器硬件同时测试支持不同协议的DUT。FPGA 316现在可被连接来测试支持PCIe和SATA协议两者的DUT。替代地, 其可被连接来测试两个不同的DUT,一个DUT支持PCIe协议,另一 DUT支持SATA协议,其中FPGA内的每个实例化功能模块被配置以一协 议来测试其连接到的相应DUT。
在一个实施例中,FPGA中的接口或IP核心可以是从第三方厂商获取 的,但可需要进行某一定制来与本文描述的实施例兼容。在一个实施例 中,接口核心提供两个功能:a)将存储命令包裹到标准协议中以通过物 理信道进行传输;以及2)是电信号生成器和接收器。
图4是根据本发明的实施例图示出本发明的流量捕捉模块收集与自动 化测试有关的诊断信息的方式的高级别框图。“流量”的意思是被监视的 各种总线上的信号流量。
如图4中所示,每个测试器420(或者测试器切片)包括与至少一个 DUT 410通信的至少一个FPGA 430。如图3中所示,通常每个FPGA将 与多个DUT通信。
本发明的实施例向FPGA添加流量捕捉逻辑模块,例如,450A, 450B,…450N、451A…451M和452A,以便收集信息,例如测试器420 (包括FPGA 430)随时间的状态以及在测试器420与DUT之间随时间交 换的数据。流量捕捉逻辑模块是完全可编程的并且可被编程为执行一系列 功能。使用流量捕捉模块允许测试器有利地收集与测试器固件本身内部的 模块和缓冲器内的器件失效有关的信息。应当注意本发明不限于FPGA, 例如,本发明的捕捉模块也可被编程到其他类型的可编程逻辑器件上。
当前,在测试行业中正在开发更容易解读所收集的数据的调试工具。 这些工具大多数是基于软件的并且被调整以趋向用上下文相关方式来组织 所收集的数据,这允许专家更容易地识别问题所在。然而,这些方案仍然 是相当劳力密集的,因为它们要求工程师手动审查测试日志和文件。
本发明的实施例有利地在硬件的逻辑模块内(例如在FPGA内部)添 加了分析能力。例如,捕捉逻辑模块和缓冲器可被编程为针对器件失效前 兆进行监视。失效前兆提供了关于潜在的将要失效的DUT的指示。先 前,工程师将必须手动审查若干个日志以确定关于即将发生的器件失效的 信息。本发明的实施例有利地内置有识别并且提醒工程师关于固件内的潜 在器件失效的能力。流量捕捉模块实时分析调试数据。另外,流量捕捉模 块识别可疑状况并且在记录时标记它们以便某人在以后某时检查或者以便 软件在以后某时分析。
在一个实施例中,本发明的流量捕捉和调试工具包括FPGA逻辑(固 件)和基于软件的工具的集合,它们有利地一起工作来帮助识别器件失效 的原因,例如根本原因。被编程到FPGA上的逻辑模块监视并捕捉: (1)在测试器与各个DUT之间交换的流量或者流量的代理;(2)用于 配置测试器或者各个DUT的配置命令;以及(3)测试器内的状态。另 外,在测试过程期间,偶然的差错或者未预见的行为可在FPGA内发生, 这些可被捕捉模块捕捉到。此外,捕捉模块内的逻辑还检查失效前兆并且 在其被记录时标记它们。软件440内包括的自动化的基于软件的调试工具 可从捕捉模块(例如,450A-450N,451A-451M,等等)提取捕捉结果、 组织数据、并且显示根本原因。
在典型的测试配置中,FPGA 430会将预定的模式写入到DUT 410、 从DUT 410读回模式、并且比较两者以便确定DUT是否正确地工作。如 参考图3所提及的,每个FPGA可被配置为执行不同的协议,例如,PCIe 协议,并且还可被配置为生成命令和数据来测试一个或多个连接的DUT。
本发明的捕捉模块允许在FPGA和DUT之间的数据和命令的交换被 自动捕捉和监视以检查异常。FPGA 430可同时与一个或多个DUT通信。 因此,每个FPGA在第一阶段可包括多个捕捉模块,例如,450A-450N, 其中每一者被配置为与一分立的DUT通信,例如,DUT496A、DUT B496B…DUT 496N。从DUT收集的信息可经过一个或多个阶段向上游流 动,直到其被通传至软件440。
例如,图4中所示的FPGA包括三个阶段。数据从DUT被通传至第 一阶段中的捕捉模块,例如,450A-450N。随后,数据流经包括示范性捕 捉模块451A-451M的第二阶段。从这里,数据经过包括捕捉模块452A的 最终阶段,然后其被通传至软件。应当注意,本发明的实施例不限于特定 数目的阶段或者特定数目的捕捉模块。FPGA可包括一个或多个阶段,其 中每个阶段包括一个或多个捕捉模块,这取决于FPGA的复杂度和要执行 的测试。然而,通常将利用多个阶段的捕捉模块和缓冲器来将从DUT捕 捉的数据向上游通传至软件440。
FPGA内的每个阶段中的捕捉模块通常将与其他阶段中的捕捉模块具 有不同的配置。例如,图4中所示的FPGA的第一阶段中的捕捉模块,例 如450A-450N,将被配置为直接与DUT通信并从其收集数据。第二阶段 中的捕捉模块,例如451A-451M,被配置为具有与交换机类似的属性,因 为它们将从DUT收集的数据路由到软件块440。最后,FPGA 495的第三 阶段中的捕捉模块被配置为将从DUT收集的信息传送到软件模块440,并 且还将数据和命令从软件440向下游传送到DUT。将捕捉模块散布在整个 FPGA各处允许FPGA的任何差错或者未预见行为被容易地捕捉和分析。
在一个实施例中,捕捉单元可用于在DUT 496A-496N与软件440之 间传达信息。例如,软件440可将命令和数据通过捕捉模块的链条向下游 发送至DUT。另外,DUT可将响应通过捕捉模块的链条向上游发送至软 件440。捕捉模块是可编程的并且具有用以识别和标记在通信的任何阶段 期间可发生的任何差错状况的必要逻辑。例如,在向上游发送信息时,捕 捉模块451M可遇到差错状况。捕捉模块451M可包含下述逻辑电路:该 逻辑电路用以确定该差错状况与它从其接收信息的DUT有关还是与被编 程到捕捉模块451M中的交换机有关。
替代地,捕捉模块451M可被编程为分析从连接的DUT(例如, 469N)接收的数据,并且识别器件失效前兆。换言之,捕捉模块451M可 被编程为使用从DUT收集的数据来指示出DUT即将失效。捕捉模块 451M随后可标记差错状况或者潜在差错状况并且将与差错有关的信息中 继到软件440以使用户可被提醒。
在一个实施例中,捕捉模块还可包含逻辑电路并且被编程为分析所捕 捉的信息并且识别差错的根本原因。例如,捕捉模块可被编程有在所收集 的信息上运行的规则检查器。换言之,规则检查器可对所有捕捉的失效相 关信息进行解析,以通过在所捕捉的信息上运行一组规则来识别失效的一 些可能原因。
在一个实施例中,可以有若干个不同类型的捕捉逻辑模块被编程到 FPGA中,其中每个捕捉模块被编程以起到不同的作用。
例如,如果DUT是PCIe器件,则一个或多个捕捉模块可包括事务层 封包(Transaction Layer Packet,TLP)捕捉模块。可利用PCIe协议在主 机和客户端之间(或者在测试器和被测器件之间)交换事务层封包,并且 FPGA中的捕捉模块可例如捕捉这些TLP以供进一步检查并收集失效相关 信息。
另一种类型的捕捉模块可被编程为链路训练状态状态机(Link Training StatusState Machine,LTSSM)捕捉模块。LTSSM捕捉模块包括 记录LTSSM事件的FPGA逻辑。LTSSM定义了下述状态机:PCIe协议中 的物理和链路层状态要经历该状态机以从一个端点通传至另一端点。可利 用FPGA内的捕捉模块逻辑来捕捉和分析这些状态。例如,捕捉模块可能能够识别和捕捉FPGA的IP核心在PCIe协议的执行中转变过的不同状 态。如果在转变到预期状态时存在失效或者如果在处理特定状态时发生失 效,则捕捉模块将捕捉该信息并且将其发送到软件440以供进一步分析。 替代地,在一个实施例中,捕捉模块可包含另外的逻辑电路来分析差错状 况,例如利用规则检查器来分析,并且确定差错的根本原因。诊断信息随 后可被发送到软件440以便中继给用户。
另一类型的捕捉模块可包括NAK捕捉模块。NAK是否定确认或者未 确认的缩写。它是在数字通信中使用的信号,用来确保以最低限度的差错 接收数据。捕捉模块的一个类型包括记录NAK事件的逻辑。
在一个实施例中,捕捉模块可包括活动捕捉模块。活动捕捉模块包括 记录活动检测事件的FPGA逻辑。如果在进入或外出线路上检测到任何活 动,则活动检测捕捉模块将记录这种事件以呈现给用户。
在一个实施例中,捕捉模块可包括均衡化捕捉模块。均衡化捕捉模块 记录均衡化事件。对于PCIe协议,可以通过调整发送器和接收器上的信 号以使得所通传的数据的完整性能被维持,来执行均衡化。捕捉模块将监 视PCIe IP核心以确定均衡化进行的方式。换言之,捕捉模块将监视IP核 心以确定哪些设置正被请求并被用于均衡化的目的以及它们是否被接受。 如果存在可疑活动或者有任何非法值被设置,则该活动可被捕捉并标记并 且通过软件模块440被报告给用户。
在一个实施例中,捕捉模块可包括完成捕捉模块。完成捕捉模块被设 计为记录读取请求与读取的完成之间的时延。
在一个实施例中,捕捉模块可包括增强型高级差错报告(Advanced ErrorReporting,AER)捕捉模块。此捕捉模块包括报告高级差错报告 (AER)事件的发生的数目的逻辑。高级差错报告是PCIe协议的特征, 并且因此,这将是在运行PCIe协议的FPGA中可编程的一类捕捉模块。
在一个实施例中,捕捉模块可包括寄存器访问捕捉模块。寄存器访问 捕捉模块包括记录控制和状态寄存器的读取/写入访问的FPGA逻辑。
在一个实施例中,捕捉模块可包括流量过滤捕捉模块。流量过滤捕捉 模块选择性地减少TLP捕捉模块将收集的流量的量。因为FPGA内部的缓 冲器空间是有限的,所以流量过滤捕捉模块可结合TLP捕捉模块被用来过 滤或者选择性地选择将是用户出于诊断目的而最感兴趣的封包的子集。
在一个实施例中,捕捉模块可包括流量触发捕捉模块。流量触发捕捉 模块包括基于检测到的事件而停止捕捉的FPGA逻辑。换言之,如果用户 希望在检测到特定状况之后停止捕捉流量,则流量触发捕捉模块可被编程 到FPGA上。
在一个实施例中,捕捉模块可包括增强型数据记录捕捉模块。这个捕 捉模块包括比较预期数据与接收到的数据并且通过将结果发送到软件块 440来将其显示给用户的FPGA逻辑。
在另一实施例中,捕捉模块可包括LTSSM规则检查模块。PCIe器件 中的这种类型的捕捉模块被编程有FPGA逻辑,用以确定LTSSM状态转 变是否是正常的。在利用软件而不是硬件模块来执行规则检查可能更高效 的情况下,LTSSM规则检查能力也可被编程到后期处理软件中(例如, 在软件440内)。
图5是根据本发明的实施例图示出对本发明的流量捕捉模块编程的方 式的框图。应当注意图5中所示的捕捉块550是示范性的。不同类型的捕 捉模块根据其功能的不同可被不同地编程或配置。
一种类型的捕捉模块,例如捕捉模块550,可包括一个或多个输入。 例如,每个输入,监视器1 555A至监视器N 555N,是与捕捉块被编程来 监视的数据流量、状态或状况有关的离散输入。
捕捉块的获取逻辑520选择并且捕捉关于流量、状态或状况的信息并 且按期望的顺序(基于编程)来格式化它们,使得其可被保存在捕捉存储 器530中。获取逻辑块520也可选择性地捕捉期望的数据。换言之,获取 逻辑块可被编程为只收集通过监视器信号555A-555N输入的数据的子集。 某些配置比特可被编程到指定传入数据中有多少应当被捕捉的获取块逻辑 中,例如,在某些情况中可只需要捕捉传入封包的头部。
在一个实施例中,捕捉模块可只捕捉某些类型的数据,例如,具有特 定比特配置的数据封包。获取逻辑520可被编程为选择性地只捕捉期望的 数据封包,同时忽略其余的。在一个实施例中,预过滤模块(未示出)可 被添加到捕捉块,其在获取逻辑块520之前并且选择性地过滤传入数据。
其结果是,获取逻辑块520能够访问所收集的数据的格式。另外,获 取逻辑块520还可例如针对LTSSM事件执行状态跟踪。如上所述, LTSSM定义下述状态机:PCIe协议中的物理和链路层状态要经历该状态 机以从一个端点通传至另一端点。
由获取逻辑块520获取的信息可被传送到捕捉存储器530,其中存储 在存储器530中的每个条目570伴随有地址571。如前所述,获取逻辑块 520能够访问所监视的信息的格式并且可使用此来创建要被存储在存储器 530内的条目。通常,获取逻辑520将确定存储器530内用以保存该信息 的地址571。在一个实施例中,在每个时钟周期期间捕捉离散的信息并且 针对每个时钟周期创建到存储器530中的条目。例如,TLP捕捉块可在每 个时钟周期捕捉TLP封包并且针对每个TLP封包在存储器模块中创建新 的条目。另一方面,由于每个TLP封包可包括256比特,所以每个TLP 封包可跨捕捉存储器530中的多个条目被存储。
在不同的实施例中,某些类型的数据可能要花多个时钟周期来捕捉。 因此,当关于特定事件的所有数据已被收集时,针对这种类型的数据在存 储器530中创建条目。
在一个实施例中,获取逻辑块520可包括简单的状态机,该状态机对 来自监视器的数据进行格式化以生成要被存储在存储器530中的条目和地 址。状态机还对下一条目递增地址。取决于捕捉模块的类型,状态机还可 具有额外的状态。例如,流量触发捕捉块可具有与事件的触发有关的额外 状态。
在一个实施例中,存储器530可包括循环缓冲器,用以存储从获取逻 辑模块520接收的条目和伴随的地址。条目的数目及其频率取决于捕捉块 的类型。例如,像TLP捕捉这样的捕捉模块可需要针对每个事务层封包在 存储器530中存储条目。另一方面,进行状态监视的捕捉块可只在检测到 状态变化时创建条目。通常,在每个条目被保存在捕捉存储器530中时, 一时间戳与其相关联。这允许数据被容易地排序。在来自FPGA中的各种 捕捉模块的数据已被传送到软件505之后,这是尤其方便的。可利用时间 戳来对带时间戳的数据进行排序,这使得工程师容易按时间顺序查看结果 并且诊断任何问题。除了数据和时间戳以外,在一些情况下也可与条目一 起存储元数据,包含关于事件的额外细节。例如,如果捕捉模块存储关于 状态变化事件的信息,则关于状态变化事件的类型的元数据可与每个条目 一起被保存在存储器模块530中。
在一个实施例中,每个捕捉模块利用传送接口540将所收集的信息通 传至测试器软件505。通常,每个捕捉模块将包括传送接口块,用以将所 捕捉的数据通传至软件505。传送接口块540可利用地址线572和数据线 573访问捕捉存储器530。(一个或多个)状态信号574向传送接口提供 关于存储器530中的存储信息的位置的信息以及关于数据的格式的任何进 一步信息。(一个或多个)控制信号575允许传送接口块540控制到软件 505的数据流并且设置关于控制到软件505的数据流的任何其他偏好。
在一个实施例中,在捕捉模块只捕捉状态信息的情况下,取代捕捉存 储器530,缓冲器将通常只包括用于存储状态信息的寄存器。
在一个实施例中,捕捉模块可被编程为确定事件之间的时间滞差。例 如,捕捉模块可以是记录读取请求与读取请求的完成之间的时延的完成捕 捉模块。因此,被监视(例如,利用监视器1 555A来监视)的信号之一 将是读取请求,而被捕捉模块监视(例如,利用监视器N 555N来监视) 的另一信号将是响应于完成读取请求而发送的完成封包。捕捉模块可使用 时间戳来监视读取请求与完成之间的时间滞差或者确定完成是否根本不存 在。捕捉模块的获取逻辑520通常将需要被编程有来自规范的信息,例 如,关于典型读取请求时间和最大时间(超出其则需要标记读取请求失 效)的PCIe规范。捕捉模块可将关于读取请求时间的信息或者任何失效 信息记录在捕捉存储器530中并且通过软件505将其报告出给用户。
在一个实施例中,用户对于有多少个捕捉模块以及什么类型的捕捉模 块应当被编程到特定FPGA中具有控制权。因为FPGA可容易被再编程, 所以用户不一定被限于固定的配置。例如,用户可基于在FPGA上仿真的 协议的类型或者基于设计(FPGA将用在该设计中)的类型来选择不同数 目和类型的捕捉模块。可在设计者构建要被编程到任何特定的FPGA中的 比特文件时在命令行接口处指定要被添加到该FPGA的捕捉模块的数目和 类型。换言之,在对FPGA编程时的某些构建选项允许用户容易地选择要 包括在设计中的捕捉模块的数目和类型。
图6根据本发明的一个实施例图示出用于在自动化器件测试的过程期 间捕捉关键信息以便确定器件失效的根本原因的示范性计算机实现过程的 流程图。
在步骤601,针对特定测试启用捕捉。这通常涉及建立流量捕捉,包 括建立各种配置来启用和开始测试。例如,用户将必须对FPGA编程并且 确定要包括在FPGA内的捕捉模块的类型和数目。
在步骤602,开始测试。在步骤603,如果检测到失效,则在步骤605 停止测试。随后,在步骤606停止捕捉。如果没有检测到失效,则允许测 试运行其过程,直到其在步骤604完成。随后,在步骤606停止捕捉。
然后,在步骤607利用测试器软件来取回和保存所捕捉的结果。例 如,所捕捉的结果可被保存和下载到软件505中。
一旦收集到数据,在步骤608,就可以手动地或者自动地对其进行分 析,例如,利用规则检查器进行分析。
在步骤609,生成与测试有关的日志。在步骤612,如果没有更多数 据要处理并且测试完成,则测试结束于步骤620。然而,如果有更多数据 要处理,则在步骤610对数据运行后期处理分析。在一个实施例中,后期 处理分析通常涉及分析日志以确定器件失效的根本原因,如2018年3月8 日递交的标题为“A LOG POST PROCESSOR FOR IDENTIFYING ROOTCAUSES OF DEVICE FAILURE DURING AUTOMATED TESTING(用于 识别在自动化测试期间的器件失效的根本原因的日志后期处理器)”的相 关美国专利申请号15/916,126中说明的。然而,也可能对数据执行其他类 型的后期处理。例如,存储在捕捉模块存储器530中的数据连同额外元数 据与时间戳一起可能不是采取用户可容易辨识的格式。步骤609处的后期处理将从捕捉模块取回的信息转换成用户可直观地理解和使用的格式。
在步骤611,生成关于测试的报告。例如,该报告可标识器件失效的 根本原因或者提醒用户关于可能即将失效的任何器件。
图7根据本发明的一个实施例图示出用于在自动化器件测试期间使用 捕捉模块来监视数据流量和诊断问题的示范性计算机实现过程的流程图。
在步骤702,多个捕捉模块被编程到可编程逻辑器件中,例如,被编 程到FPGA中以监视与FPGA上的测试相关联的数据流量。FPGA,例 如,FPGA 495,连接到多个DUT,例如,要测试的DUT 496A-496N。另 外,FPGA还连接到***控制器,例如,执行测试器软件应用程序来协调 测试的***控制器301。如上所述,用户在下载用于编程FPGA的比特文 件之前可选择要编程到逻辑器件中的捕捉模块的类型和数目。
在步骤704,利用捕捉模块来监视FPGA中的数据流量。捕捉模块包 括确定要捕捉和监视的相关数据的获取逻辑电路520。
在步骤706,与监视相关联的结果被保存在多个捕捉模块中的每一者 内的各个存储器中。
最后,在步骤708,结果被发送到在***控制器上执行的测试器软件 应用程序。
用于流量捕捉和调试工具的图形用户界面
如上所述,测试行业中可用的调试工具允许对所收集的数据的解读。 这些工具大多数是基于软件的并且被调整以趋向用情境相关方式来组织所 收集的数据,这允许专家更容易地识别问题所在。然而,这些方案仍然是 相当劳力密集的,因为它们要求工程师手动审查测试日志和文件。
本发明的实施例捕捉FPGA逻辑内的流量和差错信息(例如,利用捕 捉模块450A-450N等来捕捉)并且将该信息与软件(例如,软件505)相 耦合来收集、处理、并显示数据。另外,本发明的实施例有利地提供了各 种功能到软件中的大量集成。软件不仅从FPGA捕捉模块、而且还从测试 器***中的各种点收集和聚合数据。另外,用户能够配置软件以确定从哪 个捕捉模块收集信息以及分析来自捕捉模块的信息的方式。
除了其他特征以外,软件有利地还包括处理数据以将数据以可理解的 方式显示的GUI。另外,软件:a)分析数据以检测需要进一步关注的可 疑状况;b)允许用户添加/删除/修改/保存可疑状况;c)使已被标记有所 述可疑状况的数据突出;d)提供源数据与被标记的状况之间的链接。
另外,本发明的实施例不仅有利地在固件中的捕捉逻辑模块内添加分 析能力,而且提供能够分析从捕捉逻辑模块发送的信息的软件505。软件 505包括图形用户界面(GUI),其在软件505执行的后期处理步骤之后 向用户显示来自捕捉模块的信息。应明白,软件505内包括的自动化的基 于软件的调试工具可从捕捉模块(例如,450A-450N,451A-451M,等 等)提取捕捉结果、组织数据、并且显示问题的根本原因。
在一个实施例中,一旦利用测试器软件505从捕捉模块取回并且保存 了所捕捉的结果,就可在利用测试器软件505进行的后期处理之后自动分 析(例如,利用规则检查器)数据。在一个实施例中,后期处理分析通常 涉及分析日志以确定器件失效的根本原因,如2018年3月8日递交的标题 为“A LOG POST PROCESSOR FOR IDENTIFYING ROOT CAUSES OFDEVICE FAILURE DURING AUTOMATED TESTING(用于识别在自动化 测试期间的器件失效的根本原因的日志后期处理器)”的相关美国专利申 请号15/916,126中说明的。然而,也可能对数据执行其他类型的后期处 理。例如,存储在捕捉模块存储器530中的数据连同额外元数据与时间戳 一起可能不是采取用户可容易辨识的格式。步骤609处的后期处理将从捕捉模块取回的信息转换成用户可直观地理解和使用的格式。另外,可通过 与软件505相关联的GUI将该信息显示给用户。
在软件505内基于从捕捉模块收集的数据识别的差错中的一些可遵循 特定或独特的模式。这种模式可被称为“差错签名”。在一个实现方式 中,软件505被配置为自动识别差错签名并且采取与各差错签名相关联的 预定动作(例如,生成提醒、给用户发消息、在日志中存储信息,等 等)。确定响应于特定签名而要采取的动作的规则可被编程到软件505中。另外,响应于特定签名而要采取的动作可包括通过GUI向用户显示差 错消息或者提醒。
在一个实施例中,在分析结果之后,软件505生成关于测试的报告。 例如,该报告可标识器件失效的根本原因或者提醒用户关于可能即将失效 的任何器件。
在一个实施例中,与软件505相关联的GUI有利地提供一种直观数据 显示,以供用户在扫描和分析由流量捕捉工具(例如,捕捉工具450A, 等等)捕捉的数据时执行故障排查。在利用软件505的GUI选择了捕捉选 项之后,在软件505处从图4的FPGA 495捕捉和接收数据。
在一个实施例中,以更直观和形象的方式向技术人员显示来自捕捉日 志文件的数据,使得能够在GUI显示上更容易地识别问题所在。在一个实 现方式中,除了规范(例如,标准所要求的范围或限度)以外,还读取来 自日志文件的数据,并且软件505渲染图像和其他视觉属性来供显示,这 有助于以更直观的方式(与直接读取日志文件相比)来确定所捕捉的数据 的含义。以这种方式,从日志文件读取的数据连同规范以促进技术人员确 定***的操作中的差错或问题的方式被呈现于GUI中。
本发明的实施例提供的GUI显示是有利的,因为与直接读取数据相比 (这是耗时且易出错的),它们使得差错确定更容易、更快速并且更不麻 烦。另外,GUI允许更快速地训练技术人员识别与规范相关联的差错的类 型。
图8是根据本发明的一个实施例图示出软件***的各种驻留在存储器 上的功能组件或模块的框图。在一个实施例中,软件805包括以可理解的 方式向用户显示测试数据的GUI 850,如上所论述。GUI还使得用户能够 编程和配置捕捉模块来收集必要的信息。另外,GUI允许用户将规则编程 到软件中以能够使对由捕捉模块捕捉的信息的分析自动化。在一个实施例 中,软件还可包括允许用户配置测试器***中的各种捕捉模块以及软件805(例如,分析模块870)分析从每个捕捉模块接收的信息的方式的配置 模块。
在一个实施例中,软件805包括日志后期处理器模块880,用于分析 来自DUT(例如,来自图4的496A)或者捕捉模块(例如,来自图4的 450A)的日志,以确定器件失效的根本原因,如2018年3月8日递交的 标题为“A LOG POST PROCESSOR FOR IDENTIFYING ROOTCAUSES OF DEVICE FAILURE DURING AUTOMATED TESTING(用于识别在自 动化测试期间的器件失效的根本原因的日志后期处理器)”的相关美国专 利申请号15/916,126中说明的。软件805将自动执行日志后期处理器、分 析日志并且提供关于测试器***中的失效DUT或者失效的根本原因的信 息。
软件805还可例如包括聚合器模块860,其被配置为收集和聚合来自 FPGA捕捉模块还有来自测试器***中的各种点的数据,如上所述。软件 505还可例如包括后期处理分析模块870,其对从捕捉模块取回的数据进 行后期处理分析以检测需要进一步关注的可疑状况。分析模块还允许用户 添加、删除、修改、或标记可疑状况。换言之,用户能够配置与用户定义 的状况有关的提醒。因此,用户能够手动设置识别可疑状况和失效的一些 规则。
在一个实现方式中,后期处理分析模块870还可识别差错签名并且响 应于在从捕捉模块取回的数据中识别出特定的差错签名而采取预定的动 作。在一个实施例中,软件805允许用户添加在以后某日可使用的与特定 失效状况相关联的注释。
请注意,图8中所示的所有模块都是可完全由用户定制的。换言之, 用户可配置模块并且使其自动化来执行用户所特有类型的收集和分析。另 外,模块可被配置为按用户所配置的那样来报告问题和失效的类型,包括 与问题和失效相关联的时间(利用结合图5论述的时间戳)以及失效的原 因。
在一个实施例中,软件805可被配置为包括多种类型的分析模块,例 如,规则检查模块。每个规则检查模块可与特定类型的捕捉模块相关联。 例如,软件505可为LTSSM捕捉模块、活动捕捉模块、均衡化捕捉模 块、高级差错报告捕捉模块、TLP规则捕捉模块等等实现不同的规则检查 器或分析模块。图8显示了LTSSM规则检查器模块820、EQ规则检查器 模块830和TLP规则检查器模块840。然而,应当注意软件805可包括测 试器***中各类型捕捉模块那么多的相应模块。
分析模块(例如,规则检查模块)提供默认规则并且还允许用户修改 规则(或添加规则)来寻找日志中的潜在失效。用户还可保存结果并且将 输出链接到协议解码器890以定位(一个或多个)可疑封包。对于每种类 型的分析模块,软件805的GUI 850将显示包括下述窗口的单独的界面: (1)显示要检测的期望状况;(2)显示已检测到的状况;并且(3)捕捉数据中的发生检测到的状况的点。
如上所述,在一个实施例中,可以有若干个不同类型的捕捉逻辑模块 被编程到FPGA中,其中每个捕捉模块被编程以起到不同的作用。在一个 实现方式中,每种类型的捕捉模块在图8的软件805内具有对应的分析模 块。
如先前所论述,捕捉模块可被编程为链路训练状态状态机(LTSSM) 捕捉模块。LTSSM捕捉模块包括记录LTSSM事件的逻辑电路。LTSSM 定义下述状态机:PCIe协议中的物理和链路层状态要经历该状态机以从一 个端点通传至另一端点。可利用FPGA内的捕捉模块逻辑来捕捉和分析这 些状态。例如,捕捉模块可能能够识别和捕捉FPGA的IP核心在PCIe协 议的执行中转变过的不同状态。如果在转变到预期状态时存在失效或者如 果在处理特定状态时发生失效,则捕捉模块将捕捉该信息并且将其发送到 软件805以供进一步分析。替代地,在一个实施例中,捕捉模块可包含另 外的逻辑电路来分析差错状况,例如利用规则检查器来分析,并且确定差 错的根本原因。诊断信息随后可被发送到软件805以便中继给用户。
在另一实施例中,捕捉模块可包括LTSSM规则检查模块。PCIe器件 中的这种类型的捕捉模块被编程有FPGA逻辑,用以确定LTSSM状态转 变是否是正常的。在利用软件而不是硬件模块来执行规则检查可能更高效 的情况下,LTSSM规则检查能力也可被编程到后期处理软件中(例如, 在软件805内)。
图9根据本发明的一个实施例图示出GUI 900内用于在软件***内配 置LTSSM规则检查器的示范性屏上显示。在一个实施例中,软件805可 由用户配置来分析与LTSSM捕捉有关的差错状况或者确定LTSSM状态转 变是否是正常的。例如,在GUI 900内的窗口915中,用户可配置软件 805来检测某些状态转变(从“来自状态”902到“去往状态”904的转 变)以及这些转变是否超过了阈值超时值907。软件805可被配置为在超 时值907超过预定的阈值时触发。在GUI 900内的不同窗口916中,软件 805可被配置为显示结果列表904,该结果列表904包括关于与用户在窗 口915中寻找的状况匹配的LTSSM状态转变的额外细节。另外,在GUI 900内,另一窗口可示出从其提取出结果列表904的日志文件的实际内 容。
如先前所论述,在一个实施例中,捕捉模块可包括均衡化捕捉模块。 均衡化捕捉模块记录均衡化事件。对于PCIe协议,可以通过调整发送器 和接收器上的信号以使得所通传的数据的完整性能被维持,来执行均衡 化。针对某些标准(例如,信号信道的特性)均衡化过程进行补偿以便能 够恢复信号。例如,均衡化通过确保信号的完整性得以维持(这在噪声环 境中是尤其重要的)来帮助能够从模拟信号恢复数字数据。捕捉模块将监 视PCIeIP核心以确定均衡化进行的方式。换言之,捕捉模块将监视IP核 心以确定哪些设置正被请求并被用于均衡化的目的以及它们是否被接受。 如果存在可疑活动或者有任何非法值被设置,则该活动可被捕捉并标记并 且通过软件模块805被报告给用户。
图10根据本发明的一个实施例图示出GUI 1000内用于在软件***内 配置均衡化规则检查器的示范性屏上显示。在一个实施例中,软件805可 被用户配置来分析从捕捉模块接收的均衡化信息。用户可能能够配置检查 均衡化信息内的某些状况的规则或过程。窗口1002图示出可被用户配置 的基于某些预定的状况而触发的某些规则。用户可能能够编程与每个规则 相关联的阈值类型1015和阈值1003。GUI 1000中的窗口1007指示出配置(并且在窗口1002中示出)的任何状况是否被触发。
如先前所述,如果DUT是PCIe器件,则一个或多个捕捉模块可包括 事务层封包(TLP)捕捉模块。可利用PCIe协议在主机和客户端之间(或 者在测试器和被测器件之间)交换事务层封包,并且FPGA中的捕捉模块 可例如捕捉这些TLP以供进一步检查并收集失效相关信息。
在一个实现方式中,TLP封包可包括三种类型的捕捉(或者来自三种 不同类型的捕捉模块的数据)。例如,TLP封包可包括全都一起合并在一 个文件中的数据流量(在主机和客户端之间交换的数据)、LTSSM流量 和均衡化流量。有利的是,抓取具有关于不同类型的捕捉模块的信息的单 个文件是高效的。
图11根据本发明的一个实施例图示出GUI 1100内用于在软件***内 配置TLP规则检查器的示范性屏上显示。在一个实施例中,软件805可被 用户配置来分析从捕捉模块接收的事务层信息。用户可能能够配置检查均 衡化信息内的某些状况的规则或过程。窗口1102图示出可被用户配置的 基于某些预定的状况而触发的某些规则。用户可能能够编程与每个规则相 关联的最大有效载荷阈值1115和时间阈值1103。GUI 1100中的窗口1107 指示出配置(并且在窗口1102中示出)的任何状况是否被触发。在一个 实现方式中,可在单独的窗口1160中示出TLP日志文件。软件805可被 配置为使与差错状况相关联的行在日志文件显示窗口1160中自动突出。
图12根据本发明的一个实施例图示出用于在自动化器件测试期间分 析从可编程逻辑器件中的捕捉模块取回的信息的示范性计算机实现过程的 流程图。
在步骤1202,多个捕捉模块被编程到可编程逻辑器件中,例如,被编 程到FPGA中以监视与FPGA上的测试相关联的数据流量。FPGA,例 如,FPGA 495,连接到多个DUT,例如,要测试的DUT 496A-496N。另 外,FPGA还连接到***控制器,例如,执行测试器软件应用程序来协调 测试的***控制器301。如上所述,用户在下载用于编程FPGA的比特文 件之前可选择要编程到逻辑器件中的捕捉模块的类型和数目。在一个实施 例中,可通过用于连接到FPGA的监视应用的软件***(例如,软件 805)的GUI来编程和配置捕捉模块。
在步骤1204,利用捕捉模块来监视在FPGA中或者经过FPGA的数据 流量。捕捉模块包括确定要捕捉和监视的相关数据的获取逻辑电路520。
在步骤1206,与监视相关联的结果从多个捕捉模块中的每一者内的各 个存储器被取回到监视应用中。
最后,在步骤1208,对结果执行分析,并且在步骤1210,通过与监 视应用相关联的GUI来显示结果。
出于说明目的,以上描述是参考特定实施例来描述的。然而,以上的 说明性论述并非意在是穷举性的或将本发明限制到所公开的精确形式。考 虑到以上教导,许多修改和变化是可能的。选择和描述实施例是为了最好 地说明本发明的原理及其实际应用,从而使得本领域技术人员能够最好地 利用本发明和具有适合于设想的特定用途的各种修改的各种实施例。

Claims (22)

1.一种用于利用自动化测试设备(ATE)来诊断失效的原因的方法,所述方法包括:
利用从与监视应用相关联的图形用户界面(GUI)接收的输入来配置可编程逻辑器件中的多个捕捉模块;
利用所述多个捕捉模块监视被测器件(DUT)与所述可编程逻辑器件之间的数据流量,其中,所述多个捕捉模块是能编程的并且能操作以选择性地捕捉要被监视的数据流量,其中,所述数据流量包括所述DUT与所述可编程逻辑器件之间的流量流,其中,所述多个捕捉模块是利用多个阶段配置的,并且其中,所述DUT与所述可编程逻辑器件之间的流量流通过所述多个阶段被处理;
从与所述多个捕捉模块中的每一者相关联的各个存储器将与监视相关联的结果取回到所述监视应用中;并且
在取回后分析所述结果。
2.如权利要求1所述的方法,其中,所述多个捕捉模块包括多个不同类型的捕捉模块,并且其中,所述分析包括对来自不同类型的捕捉模块的结果执行不同的分析。
3.如权利要求1所述的方法,其中,所述多个阶段中的每个阶段被配置为包括所述多个捕捉模块中的一者或多者。
4.如权利要求1所述的方法,其中,所述多个捕捉模块中的每个捕捉模块能操作以被编程为分析所述数据流量并且识别在所述多个阶段中与相应捕捉模块相关联的阶段期间与所述DUT有关的差错状况。
5.如权利要求1所述的方法,其中,所述可编程逻辑器件是现场可编程门阵列(FPGA),并且其中,所述多个捕捉模块中的每个捕捉模块包括逻辑电路,用以识别和标记在所述多个阶段中与相应捕捉模块相关联的阶段期间发生的与所述DUT有关的差错状况。
6.如权利要求1所述的方法,其中,所述分析包括:
实现规则检查器,所述规则检查器能操作以解析所述数据流量并且对所述数据流量执行一组规则以识别差错状况。
7.如权利要求1所述的方法,其中,所述分析包括分析所述数据流量并且识别在所述多个阶段中与相应捕捉模块相关联的阶段期间与所述DUT有关的差错状况。
8.如权利要求1所述的方法,还包括:
处理并且组织所述结果;并且
通过所述GUI以结构化的方式来向用户显示所述结果,其中,所述结果包括在所述数据流量中识别出的差错的根本原因。
9.如权利要求1所述的方法,其中,所述分析包括:
自动地分析所述结果内包括的日志,以识别与所述DUT相关联的失效的根本原因。
10.如权利要求1所述的方法,其中,所述分析包括:
识别所述结果中的差错签名,其中,所述差错签名包括所述数据流量中的特定模式;
通过经由所述GUI渲染和显示信息,来向用户报告与所述差错签名相关联的状况。
11.如权利要求1所述的方法,其中,所述分析包括:
聚合来自所述多个捕捉模块和所述ATE的其他组件的数据流量;并且
识别所述数据流量中的差错状况。
12.如权利要求1所述的方法,其中,所述多个捕捉模块包括链路训练状态状态机(LTSSM)模块类型,并且其中,所述分析还包括:
将所述监视应用中的规则检查器配置为检查与所述LTSSM模块类型相关联的规则,其中,所述规则检查器包括一个或多个规则;并且
响应于与所述规则检查器相关联的规则违反,通过所述GUI来向用户标记差错。
13.如权利要求1所述的方法,其中,所述多个捕捉模块包括均衡化模块类型,并且其中,所述分析还包括:
将所述监视应用中的规则检查器配置为检查与所述均衡化模块类型相关联的规则,其中,所述规则检查器包括一个或多个规则;并且
响应于与所述规则检查器相关联的规则违反,通过所述GUI来向用户标记差错。
14.如权利要求1所述的方法,其中,所述多个捕捉模块包括事务层封包(TLP)捕捉模块类型,并且其中,所述分析还包括:
将所述监视应用中的规则检查器配置为检查与所述TLP捕捉模块类型相关联的规则,其中,所述规则检查器包括一个或多个规则;并且
响应于与所述规则检查器相关联的规则违反,通过所述GUI来向用户标记差错。
15.一种用于利用自动化测试设备(ATE)来诊断失效的原因的装置,所述装置包括:
通信地耦合到被测器件(DUT)的可编程逻辑器件,所述可编程逻辑器件能操作以生成用于对所述DUT执行测试的命令和数据,并且其中,所述可编程逻辑器件包括在所述可编程逻辑器件上编程的多个可编程捕捉模块,其中,所述多个捕捉模块能操作以监视所述DUT与所述可编程逻辑器件之间的数据流量,其中,所述多个捕捉模块能操作以选择性地捕捉要被监视的数据流量,其中,所述数据流量包括所述DUT与所述可编程逻辑器件之间的流量流,其中,所述多个捕捉模块包括有多个类型并且是利用多个阶段配置的,并且其中,所述DUT与所述可编程逻辑器件之间的流量流通过所述多个阶段被处理;以及
监视应用,该监视应用能操作以提供图形用户界面并且被配置为:
基于用户输入,对所述多个捕捉模块编程;
从与所述多个捕捉模块中的每一者相关联的各个存储器将与监视所述数据流量相关联的结果取回到所述监视应用中;并且
通过所述GUI的屏幕上显示,以结构化的方式显示所述结果。
16.如权利要求15所述的装置,其中,所述监视应用还被配置为:
分析所述结果,其中,所述分析包括对不同类型的捕捉模块的结果执行不同的分析。
17.如权利要求15所述的装置,其中,所述多个阶段中的每个阶段被配置为包括所述多个捕捉模块中的一者或多者。
18.如权利要求15所述的装置,其中,所述监视应用还被配置为:
通过实现规则检查器来分析所述结果,所述规则检查器能操作以解析所述数据流量并且对所述数据流量执行一组规则以识别差错状况。
19.如权利要求15所述的装置,其中,所述监视应用还被配置为:
分析所述结果以自动识别所述结果中的差错签名,其中,所述差错签名包括所述数据流量中的特定模式;
通过经由所述GUI渲染屏幕上显示,来向用户报告与所述差错签名相关联的状况。
20.一种测试器,包括:
***控制器,用于控制用于测试多个DUT的测试程序;
能操作以与所述多个DUT接口连接并且测试所述多个DUT的现场可编程门阵列(FPGA),所述FPGA耦合到所述***控制器,其中,每个FPGA包括多个捕捉模块,其中,所述多个捕捉模块包括有不同的类型并被编程在所述FPGA上,并且能操作以监视所述多个DUT与所述FPGA之间的数据流量,其中,所述多个捕捉模块能操作以选择性地捕捉和分析要被监视的数据流量,其中,所述数据流量包括所述多个DUT与所述FPGA之间的流量流,其中,所述多个捕捉模块是利用多个阶段配置的,并且其中,所述多个DUT与所述FPGA之间的流量流通过所述多个阶段被处理;以及
监视应用,所述监视应用能操作以实现图形用户界面并且被配置为:
基于用户输入,对所述多个捕捉模块编程;
从与所述多个捕捉模块中的每一者相关联的各个存储器将与监视所述数据流量相关联的结果取回到所述监视应用中;并且
通过使用对来自不同类型的捕捉模块的结果进行的不同类型的分析,来分析与监视相关联的结果。
21.如权利要求20所述的***,其中,所述多个捕捉模块包括事务层封包(TLP)捕捉模块,并且其中,为了分析所述结果,所述监视应用还被配置为:
将所述监视应用中的规则检查器配置为检查与所述TLP捕捉模块相关联的规则,其中,所述规则检查器包括一个或多个规则;并且
响应于与所述规则检查器相关联的规则违反,通过所述GUI来向用户标记差错。
22.如权利要求20所述的***,其中,所述多个捕捉模块包括链路训练状态状态机(LTSSM)捕捉模块,并且其中,为了分析所述结果,所述监视应用还被配置为:
将所述监视应用中的规则检查器配置为检查与所述LTSSM捕捉模块相关联的规则,其中,所述规则检查器包括一个或多个规则;并且
响应于与所述规则检查器相关联的规则违反,通过所述GUI来向用户标记差错。
CN202110234149.6A 2020-03-05 2021-03-03 用于流量捕捉和调试工具的图形用户界面 Pending CN113484710A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062985650P 2020-03-05 2020-03-05
US62/985,650 2020-03-05
US17/127,596 US20210111967A1 (en) 2018-05-16 2020-12-18 Graphical user interface for traffic capture and debugging tool
US17/127,596 2020-12-18

Publications (1)

Publication Number Publication Date
CN113484710A true CN113484710A (zh) 2021-10-08

Family

ID=77932661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110234149.6A Pending CN113484710A (zh) 2020-03-05 2021-03-03 用于流量捕捉和调试工具的图形用户界面

Country Status (2)

Country Link
CN (1) CN113484710A (zh)
TW (1) TWI773140B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060035461A (ko) * 2004-10-22 2006-04-26 엘지전자 주식회사 모니터 집적회로 에러 테스트 장치 및 방법
US7058921B1 (en) * 2002-02-22 2006-06-06 Xilinx, Inc. Method and system for resource allocation in FPGA-based system-on-chip (SoC)
US20060184825A1 (en) * 2004-10-01 2006-08-17 Nancy Regan Reliability centered maintenance system and method
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US20180113773A1 (en) * 2016-10-21 2018-04-26 Accenture Global Solutions Limited Application monitoring and failure prediction
US20190353696A1 (en) * 2018-05-16 2019-11-21 Advantest Corporation Smart and efficient protocol logic analyzer configured within automated test equipment (ate) hardware
CN110502374A (zh) * 2018-05-16 2019-11-26 爱德万测试公司 识别自动测试时设备故障的根本原因的流量捕获调试工具

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146584B2 (en) * 2001-10-30 2006-12-05 Teradyne, Inc. Scan diagnosis system and method
US7437261B2 (en) * 2003-02-14 2008-10-14 Advantest Corporation Method and apparatus for testing integrated circuits
US7543200B2 (en) * 2005-02-17 2009-06-02 Advantest Corporation Method and system for scheduling tests in a parallel test system
WO2007090465A1 (en) * 2006-02-08 2007-08-16 Verigy (Singapore) Pte. Ltd. Testing devices under test by an automatic test apparatus having a multisite probe card
US7809520B2 (en) * 2007-11-05 2010-10-05 Advantest Corporation Test equipment, method for loading test plan and program product
US8127187B2 (en) * 2009-09-30 2012-02-28 Integrated Device Technology, Inc. Method and apparatus of ATE IC scan test using FPGA-based system
US9310427B2 (en) * 2013-07-24 2016-04-12 Advantest Corporation High speed tester communication interface between test slice and trays
US10592370B2 (en) * 2017-04-28 2020-03-17 Advantest Corporation User control of automated test features with software application programming interface (API)
US10768232B2 (en) * 2017-07-14 2020-09-08 International Business Machines Corporation ATE compatible high-efficient functional test
US10948540B2 (en) * 2018-07-27 2021-03-16 Advantest Corporation Integrated protocol analyzer configured within automated test equipment (ate) hardware

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058921B1 (en) * 2002-02-22 2006-06-06 Xilinx, Inc. Method and system for resource allocation in FPGA-based system-on-chip (SoC)
US20060184825A1 (en) * 2004-10-01 2006-08-17 Nancy Regan Reliability centered maintenance system and method
KR20060035461A (ko) * 2004-10-22 2006-04-26 엘지전자 주식회사 모니터 집적회로 에러 테스트 장치 및 방법
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US20180113773A1 (en) * 2016-10-21 2018-04-26 Accenture Global Solutions Limited Application monitoring and failure prediction
US20190353696A1 (en) * 2018-05-16 2019-11-21 Advantest Corporation Smart and efficient protocol logic analyzer configured within automated test equipment (ate) hardware
CN110502374A (zh) * 2018-05-16 2019-11-26 爱德万测试公司 识别自动测试时设备故障的根本原因的流量捕获调试工具

Also Published As

Publication number Publication date
TW202138942A (zh) 2021-10-16
TWI773140B (zh) 2022-08-01

Similar Documents

Publication Publication Date Title
US10929260B2 (en) Traffic capture and debugging tools for identifying root causes of device failure during automated testing
US10955461B2 (en) Smart and efficient protocol logic analyzer configured within automated test equipment (ATE) hardware
US10948540B2 (en) Integrated protocol analyzer configured within automated test equipment (ate) hardware
US20210173010A1 (en) Diagnostic tool for traffic capture with known signature database
US20210111967A1 (en) Graphical user interface for traffic capture and debugging tool
CN110050441B (zh) 在故障情况下实时捕获流量以进行协议调试
US6539341B1 (en) Method and apparatus for log information management and reporting
US7849364B2 (en) Kernel-mode in-flight recorder tracing mechanism
US8448142B2 (en) Incremental runtime compliance validation of renderable objects
US20150234730A1 (en) Systems and methods for performing software debugging
US20140236527A1 (en) Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US8996928B2 (en) Devices for indicating a physical layer error
KR20150119869A (ko) 프로토콜 독립적 디바이스 테스팅을 지원하기 위한 중앙 컨트롤러 컴퓨터 시스템 상에서의 gui 구현
US7911970B2 (en) Systems and methods for presenting electronic communication packets using a logic analyzer
US20190278645A1 (en) Log post-processor for identifying root causes of device failure during automated testing
CN102244591A (zh) 客户端服务器及对其功能测试全程监测的方法
US8752023B2 (en) System, method and program product for executing a debugger
US11828787B2 (en) Eye diagram capture test during production
CN104239174A (zh) Bmc远程调试***及方法
TWI773140B (zh) 用於流量捕獲及除錯工具之圖形使用者介面
US6990424B2 (en) Method to provide external observability when embedded firmware detects predefined conditions
US5964892A (en) General Purpose Interface Bus (GPIB) system and method which provides GPIB call capture and display
CN114996101A (zh) 一种硬盘故障定位方法、***、装置及可读存储介质
CN109491846B (zh) 一种用于服务器抓取SATA硬盘trace的方法和***
JP2004101203A (ja) ロジックlsiの不良解析システム及び不良解析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination