CN103890597B - 用于控制测试块并行性的支持简化配置的测试系统 - Google Patents

用于控制测试块并行性的支持简化配置的测试系统 Download PDF

Info

Publication number
CN103890597B
CN103890597B CN201280052741.3A CN201280052741A CN103890597B CN 103890597 B CN103890597 B CN 103890597B CN 201280052741 A CN201280052741 A CN 201280052741A CN 103890597 B CN103890597 B CN 103890597B
Authority
CN
China
Prior art keywords
test
station
tester
resource
sub
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
Application number
CN201280052741.3A
Other languages
English (en)
Other versions
CN103890597A (zh
Inventor
杰森·D·金
理查德·派伊
兰德尔·B·斯廷森
史蒂文·R·舍克
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.)
Teradyne Inc
Original Assignee
Teradyne Inc
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
Application filed by Teradyne Inc filed Critical Teradyne Inc
Publication of CN103890597A publication Critical patent/CN103890597A/zh
Application granted granted Critical
Publication of CN103890597B publication Critical patent/CN103890597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/01Subjecting similar articles in turn to test, e.g. "go/no-go" tests in mass production; Testing objects at points as they pass through a testing station
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/20Sequence of activities consisting of a plurality of measurements, corrections, marking or sorting steps
    • 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/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了用于配置测试系统的技术,所述技术允许在测试半导体器件的单独功能部分的过程中的并行度的简化指定。对于具有多个子流程的测试流程而言,可标识出与每个子流程有关的被接入引脚以定义流程域。可定义站区,每个站区与某个流程域相关联。可使测试器站与这些流程域专用站区中的每一个相关联,并且可将独立操作资源分配到这些测试器站。还可使所述定义的站区的第二部分与测试器站相关联,但可从多个流程域来接入分配给这些站区的资源。即使并非开发用于并行执行的测试块也可利用所述流程域专用站区中的资源来并行地执行。通过使用所述站区的第二部分来提供灵活性以共享资源。

Description

用于控制测试块并行性的支持简化配置的测试系统
背景技术
测试系统广泛地用于测试制造过程中多个阶段的半导体器件。测试系统包括能够生成并测量如下信号的部件(称为资源),所述信号能够建立并且测量装置在各种条件下的工作状态。资源(例如)可为任意的波形发生器,所述波形发生器能够被编程以产生所需形状的波形。另一种类型的资源可捕集模拟信号采样序列。然而另一种类型的资源可生成或测量直流程电压或电流程或者数字信号。通过如下方式来执行测试:控制资源以生成并测量被测器件的多个测试点处的测试信号。
在执行测试之前,针对正被测试的半导体器件的特定类型来配置测试系统。结合用来配置执行测试的测试系统的配置信息的所述测试,可被视为测试计划。此配置信息可包括多级映射以使测试器中的一个或多个资源与被测器件上的每个测试点相关联。例如,测试系统可具有接入点(有时称为“通道”),在所述接入点处,将测试系统连接到被测器件的部件可接入去往或来自资源的信号。
可在一个或多个资源与测试系统的每个“通道”(在此处可接入去往或来自这些资源的信号)之间指定映射。测试系统还可包括接口,所述接口将每个通道映射到有时称为“引脚”的位置,在所述位置处可建立对于被测器件上的特定测试点的连接。利用这些映射,测试系统可确定控制哪些资源来生成或者测量被测器件的特定测试点处的特定类型的信号。
测试系统可包括比测试单个被测器件所需的资源更多的资源。为了加快平均测试时间并且因此降低制造半导体器件的成本,测试系统可被编程以并行地测试多个器件。在测试过程中每个器件可被设置在用户站。为了支持多个器件的测试,一些测试系统支持测试器站。每个测试器站可连接到用户站,以使得每个测试器站可生成或测量用于被测器件的测试信号。当使用多个测试器站时,每个测试器站可用功能等同的资源构造成,以使得可在每个测试器站生成或测量相同类型的信号,由此来并行地测试连接于用户站的多个器件。
在其中支持测试器站的实施例中,用户输入可指定用于测试代表性器件将需要的测试程序和资源配置。独立地,用户可指定关于用户站的信息。自动化工具可辅助用户来确定如何配置测试器资源以具有针对每个用户站运行的测试程序范例。每个测试程序范例可控制相关联的测试器站。因此,配置用于测试多个半导体器件的测试系统的另一个方面可能涉及到指定哪些资源来共同形成测试器站。利用此信息,测试系统于是可以针对每个用户站并行地执行测试程序范例。
为了支持这种并行测试,测试系统可支持测试器站特定操作。测试系统硬件(例如)可允许将分配给测试器站的资源进行一起控制,以使得测试器站的资源能够一起启动或停止。另外,每个测试器站中的资源可独立于其他测试器站中的资源进行操作。利用这种独立性,可控制测试系统,以使得与每个用户站相关联的资源以根据在该站的测量结果调整的方式工作。因此,可基于在被测器件上执行的测试来动态地控制每个用户站中的测试执行。例如,测试系统可检测出与一个用户站的器件相关联的错误工作状态。测试系统可将该器件标记为错误,同时继续测试在其他用户站的器件。即使测试系统停止测试连接到一个用户站的错误器件,对其他器件的这些测试仍可继续进行。
随着半导体器件已变得更加复杂,测试的复杂性也已增加。例如,半导体器件现在可被设计为具有多个“核”,每个核执行一个功能。作为具体例子,半导体器件可具有处理核,所述处理核执行数值计算和控制功能。单独核可产生音频输出,然而另一个核可控制收音机或其他网络接口。用于此半导体器件的测试程序可形成为多个测试块。每个测试块可控制资源以生成并测量用于测试某个核的测试信号。
一些核可为功能独立的,以使得用于这些核的测试块可同时来执行,并且任何一个测试块均不会干扰其他测试块的结果。然而,一些测试块需要在不同的时间来执行,因为器件内的核不能并行地独立工作或者因为测试系统缺乏足够的资源来并行地测试所有例的核。
配置测试系统的另一个方面可能需要指定“流程”。所述流程指示为了测试代表性器件来执行测试块的顺序。在支持多个用户站的测试系统中,可执行多范例的流程,每个用户站一个范例。
当多个测试块能够并行地执行时,所述流程可以有多个子流程,其中每个子流程被并行地执行。当使用多个用户站(其中每个用户站具有多核器件)时,测试可能在每个用户站引起流程范例,其中每个流程范例包括多个子流程。
发明内容
通过限定流程域,可以在对于具有多个功能区的半导体器件测试的执行方面提供改进,每个流程域包括在测试半导体器件的某个区域时接入的引脚。测试器站(被组织成站区)可用于按照下述方式来分配用于测试流程域的资源,所述方式允许功能区测试中的任何合适的并行度,甚至当测试程序并非专门准备用于并行执行时亦是如此。这种并行性可允许多个功能区的并行测试、或串行测试、或任何合适的并行和串行测试的混合。
还可提供简单的机构来配置测试系统以用于执行与半导体器件的不同功能部分相关联的测试块。测试块可在指定的并行度下来执行,所述并行度可在测试块形成后指定。
在一个方面,本发明涉及一种操作测试系统以测试具有多个核的器件的方法。每个核可以有多个引脚,所述测试系统可具有多个测试器站,并且每个测试器站可具有硬件资源。可根据如下方法来测试半导体器件,所述方法包括通过将多个测试器站中的每一个映射到所述多个核中的相关核来配置所述测试系统以使得每个测试器站的所述硬件资源被配置成可接入所述相关核的引脚;以及执行具有多个测试块的测试流程,其中每个测试块通过控制相关测试器站中的硬件资源来测试所述多个核中的核,所述测试块中的一些被并行地执行。
在另一方面,本发明涉及操作如下类型的测试系统的方法,所述类型的测试系统具有可与多个测试器站中的至少一个测试器站相关联的资源,其中每个测试器站具有站识别符,以使得与测试器站相关联的所述测试系统的硬件资源对指向该站的命令进行处理。可根据如下方法来测试半导体器件,所述方法包括配置所述测试系统以测试至少一个包括多个引脚和多个核的半导体元件,其中每个核包括所述多个引脚中的子组。对于所述多个核中的每一个而言,所述配置操作可包括使所述多个测试器站中的某个测试器站与所述核相关联,以使得与测试器站相关联的资源在测试过程中接入所述相关核的相应引脚。然后可根据测试流程来执行多个测试块,所述测试块中的每一个被配置成测试相应的至少一个相关核。可在多个子流程中并行地执行多个测试块中的一部分,所述多个测试块中的每一个控制与相应的至少一个相关核相关联的测试器站中的资源的操作。
在另一个方面,可将测试方法中的任何一个用作制造半导体器件的方法的一部分。可基于这种测试的结果来有条件地执行至少一个制造操作。
在一个方面,本发明涉及至少一个计算机存储介质,所述至少一个计算机存储介质包括指令,所述指令当在计算系统上执行时控制所述计算系统以产生用于测试系统的配置,由此来执行用于至少一个被测试器件的测试。所述测试可包括根据指定流程执行的多个测试块,所述流程包括多个子流程。生成配置可包括接收定义多个流程域的输入,其中每个流程域代表在所述多个子流程中的相应子流程期间通过一个或多个测试块的执行而接入的被测试的代表性器件的多个代表性引脚。可定义多个站区,其中每个站区包括至少一个测试器站,并且每个站区与某个流程域相关联。所述配置可被生成为使得每个站区具有至少一个测试器站,所述至少一个测试器站包括用于在相关流程域的测试块范例期间接入被测器件的至少一个引脚的资源。
在另一方面,本发明可涉及对测试系统编程以用于并行测试多个同样的器件的方法。每个器件可以有多个核,所述多个核中的每一个均具有多个测试点。所述测试系统可以用多个测试器站配置。为了配置测试系统,可接收定义多个流程域的用户输入。可通过代表性器件的一组测试点来定义流程域中的每一个,其中每个流程域包括在执行子流程中的测试块的过程中接入的测试引脚。可定义多个站区,其中每个站区包括至少一个测试器站,并且每个站区与某个流程域相关联。所述配置可被生成为使得每个站区具有至少一个测试器站,所述至少一个测试器站包括用于在相关流程域的测试块范例期间接入被测器件的至少一个引脚的资源。
在另一个方面,本发明可涉及至少一个计算机存储介质,所述至少一个计算机存储介质包含计算机可执行指令,所述计算机可执行指令当由至少一个处理器执行时完成包括提供用户界面的方法。可通过用户界面来接收测试计划参数的规定。测试计划参数可包括至少多个流程域,其中每个流程域标识在测试流程中的一个或多个测试块的执行期间接入的至少一个被测试器件的一组引脚。可根据测试计划参数来生成测试系统配置。测试系统配置可包括针对每个流程域而言的测试器站与所述至少一个被测试器件中的每一个的所述引脚组之间的映射。
上述为由所附权利要求限定的本发明的非限制性内容。
附图说明
附图并非意图按比例绘制。在附图中,在多张图中所示的每个相同或近乎相同的部件由相同的标号表示。为了清晰起见,并非对每张附图中的每个部件都进行了标记。在图中:
图1为其中可实施本发明的实施例的测试系统的示意图;
图2为具有可根据本发明的一些实施例进行并行测试的具有多个核的半导体器件的示意图;
图3A为顺序测试流程的示意图;
图3B为具有可并行执行的多个子流程的流程的示意图;
图4为用于并行测试多个半导体器件的测试系统的配置的示意图,其中每个半导体器件具有多个核;
图5为用于并行测试多个半导体器件的测试系统的可供选择的配置的示意图,其中每个半导体器件具有多个核;
图6为用于并行测试多个半导体器件的测试系统的另一个可供选择的配置的示意图,其中每个半导体器件具有多个核;
图7为示出具有多个并行执行的子流程的测试流程的执行的流程图,其中可产生流程专有报警响应;
图8为示出具有多个并行执行的子流程的测试流程的执行的流程图,其中可基于不同子流程中的报警在一个子流程中产生报警响应;
图9为示出具有子流程的流程的执行的流程图,其中站点环路使得子流程能够在资源约束型测试系统中执行;并且
图10为根据本发明的一些实施例的计算系统的示意图,所述计算系统可被编程以配置或控制测试系统。
具体实施方式
本发明人已经认识到并且理解,尽管并行测试提供优点,但其引入了对测试系统编程和配置的复杂性。本发明人还已经认识到并且理解,开发用于多个器件(每个器件具有多个核)的并行测试的测试块的复杂性已导致测试器资源的低效利用率。相似地,在配置测试系统以支持同一器件内的多个核的并行测试(无论是否并行地测试多个器件)中的困难已导致测试器资源的低效利用率。
本发明人还已经认识到并且理解,可通过提供如下测试系统来实现测试器资源的较高效利用率,所述测试系统能够接收并且应用用户输入,所述用户输入指示与被测试的代表性器件上的特定核相关联的引脚组。此处,“核”可以指利用可重用设计产生的半导体器件的一部分。例如,一些半导体器件包括基于商购设计实现的处理器核(其称为核)。然而,应当理解,本发明并不限于利用商购核设计的多核器件的测试。半导体器件的任何合适的功能部分(无论是否为可重用的或商购的)均可被视为“核”并且可按照本文所述的方式进行测试。
无论与引脚组相关联的被测试的半导体器件内的具体结构如何,这些组中的每一个均可限定流程域,所述流程域包括在与子流程相关联的组中的全部引脚处生成并且测量测试信号时使用的引脚。对于每个用户站可以存在一个流程域范例。自动化工具可配置测试系统,以提供与多个用户站中的每一个相关联的每个流程域范例中的资源。
这种工具可通过定义多个站区来配置测试系统。每个站区可为具有一个或多个测试器站的组。每个组可与一个或多个流程域相关联。可将资源分配给站区,以使得与每个站区相关联的资源可用于测试全部所有用户站范围内的每个流程域范例。
站区的第一部分可为流程域专用站区,以使得第一部分中的每个站区可与一个流程域相关联。流程域专用站区中的资源用于测试每个相关流程域的范例。在一些实施例中,流程域专用站区与流程域之间可存在一对一关系。
在一些实施例中,现有测试构造(其并非用来测试独立子流程)可以被改型以适用于这种测试。这种改型可能需要提供分配资源的机制,所述机制无需在下述测试块的范例上共享测试和/或装置状态信息,所述测试块在被测试的同一器件中的不同核上并行地执行测试。在支持多于所存在的用户站的测试器站的测试系统中,可通过将测试器站组分配给每个站区来形成流程域专用站区。每个站区内的测试器站可与不同的流程域范例相关联。通过将可独立操作的资源分配给已分到站区的每个测试器站,可并行地执行多个测试块范例,以使得在每个用户站内,可对于多个核执行并行测试。
在一些实施例中,拥有流程域专用站区使测试系统的自动配置成为可能,以支持多个用户站的每一个中的并行子流程,甚至对于并非专门编码用于并行测试的测试程序亦是如此。自动化工具(例如)可产生已分配给每个流程域专用站区的资源与每个用户站中的流程域的相应范例中的每一个之间的映射。在多个用户站中的每一个内,可并行地执行多个测试块,甚至不存在用于并行执行的测试块的特定编码。
站区的第二部分可包括并非与流程域呈一对一关系相关联的站区。站区的此第二部分可包括全局站区。全局站区中的资源可与任何流程域相关联。取代或附加于从得自站区的第一部分的流程域专用站区分配资源,可从全局站区分配资源。
全局站区可包括通过硬件部件资源提供的资源,所述资源不支持对于一组可能测试器站的分配,所述可能测试器站等于或大于用于产生全部站区的测试器站数。一些资源(例如)可完全不支持测试器站或者可不支持在每个站区内为流程域的每个范例提供单独测试器站所需的测试器站数。提供全局站区使这些资源能够在测试过程中被使用。然而,在一些实施例中,可对这种测试进行编码以确保相同资源(尽管可在多个流程域中并且可能在相同流程域的多个范例中访问)不能在同一时间来从不同的流程域或相同流程域的不同范例以不一致的方式进行访问。作为另外一种选择或除此之外,全局站区可包括旨在生成或测量可应用到多个流程域的信号的资源。例如,可将提供固定功率电平的资源分配给全局站区,因为所述固定功率电平可应用到正被测试的半导体器件内的多个核上。
在一些实施例中,全局站区中的资源不与任何流程域专用站区相关联。可对访问得自全局站区的资源的测试块进行编码或操作,以确保不同的执行测试块范例在尝试访问同一全局资源时不相互干扰。
第二部分中的另一个站区可为系统站区。系统站区可包括全部资源,以使得全部此类资源可在流程中被使用。在一些实施例中,系统站区可用于串行测试。
作为另外一种选择或除此之外,测试系统可识别测试块中的命令,所述命令基于每个流程域范例来执行功能。例如,用户可指定,在检测到一个根据流程域范例的测试中的错误时,此根据流程域范例的测试停止。用户可指定,当在测试一个流程域范例中遇到错误时,其他测试应继续进行还是停止。测试可在与同一用户站相关联的其他流程域范例中继续进行(例如)以支持对此用户站的特定被测试器件的框并。
又如,测试系统可支持逐站操作的报警功能,并且用于对测试系统编程的工具可支持以此方式控制报警的命令。报警信号可如同在常规测试系统中那样起作用。例如,发出信号以指示测试系统硬件不能达到或保持程序设定的电流程或电压电平。报警命令(例如)可清除或检查每个流程域范例的报警。这种能力可提供在测试系统中,所述测试系统具有逐个测试器站地清除和检查报警的能力。可在流程域范例中即将起始测量之前清除与测试器站(其又与流程域范例相关联)相关联的报警。在流程域范例中的测量之后,可随即检查与测试器站相关联的任何报警,以确定报警状态是否发生于在流程域范例中进行测量期间。当每个测试器站与流程域范例相关联时,清除和读取每个测试器站的报警可防止一个流程域范例中的报警干扰在其他流程域范例中被并行执行测试。
然而,在某些情况下,可能有利的是根据在第二流程域范例中检测出的状态在第一流程域范例中进行测试。因此,本发明的实施例可支持一个流程域范例中的测试块的条件执行,所述条件执行基于另一个流程域范例中的报警。在一些实施例中,测试系统可将这种条件处理限于如下情况,其中第一和第二流程域范例与正被测试的相同半导体器件相关联。然而,这种限制并不是对本发明的要求。
作为另外一种选择或除此之外,用于共享资源的命令可在站区中的全部测试器站中运用。作为一个例子,测试块中用于串行化使用并行测试中的测试器资源的指令(有时称为站点环路)可在站区中的全部测试器站中运用。这样,站区中的测试器站可利用序列化资源来串行地执行测试操作。
然而,在一些实施例中,无需对被测器件内的多个子流程的并行测试进行专门编程。可在不考虑其他测试块范例可在同一用户站中被并行执行事实的情况下来编写测试块。通过经由流程域专用站区来分配独立的测试器资源,每个测试块范例可使用不干扰其他测试块范例执行的资源来操作,即使这些测试块并非进行专门编码以用于这种操作。因此,测试块的开发可独立于它们将被执行的顺序和组合。在某些情况下,用户可使用相同的测试块来在其中测试块被并行执行的配置与其中测试块被串行执行的配置之间容易地切换。这种能力(例如)在开发或验证测试程序时可为有用的,因为其将允许测试工程师快速地识别由并行测试或核引入的错误测试结果。
为了使用这种工具,用户可直接或间接地提供输入。可直接通过用户界面来提供一些用户输入。其他用户输入可指示用户选择,所述用户选择又指示适用于配置测试系统的数据。
用户输入可包括以常规方式提供用于配置测试系统来执行测试计划的输入。例如,输入可指定可用的测试系统资源、其中可访问这些资源的输入/输入的测试通道、用户站的数量、和/或将在每个站点处进行测试的被测试的代表性器件中的引脚的数量。用户输入还可指定引脚信息,所述引脚信息为被测试的代表性器件中每个引脚指定用于在测试程序的每个测试块期间测试该器件所需的资源。此每一引脚信息可包括一起操作的引脚组的指定,并且可包括用于测试该组的定时要求(有时规定为时间域)。可用任何合适的方式来指定每一引脚信息,所述方法包括(例如)本领域中已知的引脚映射,所述引脚映射为每个引脚标识该引脚被分配的组以及引脚的类型。引脚的类型(例如)可指示测试该引脚所需的资源的类型。
另外,流程信息可(例如)在流程表单中指定用于流程的子流程并且针对每个子流程指定测试块的执行顺序以及每个块应在哪个特定流程步骤开始执行。然而,还可通过命令(例如可在与总测试计划相关联的脚本中捕集的命令)来提供流程信息。脚本(例如)可包括序列命令,所述序列命令针对每个流程步骤来指定哪些测试块将在此流程步骤中并行执行。
然而,应当理解,一些输入可来源于其他输入或不同输入。作为具体例子,可利用同一自动化工具或者另一自动化工具来确定用户站的数量,所述另一自动化工具基于可用的测试器资源和执行测试程序所需的测试器资源来计算可并行测试的器件的总数量。又如,可作为输入来指定或者可自动地获得到每个用户站中的具体引脚的测试器资源分配。
除了用于配置测试系统以执行测试计划的这些常规输入之外,用户可指定一个或多个流程域。可用任何合适的方式来提供此输入。在一些实施例中,可按照与标识引脚的其他组的方式来执行此输入,其中流程域充当特定类型的引脚组。例如,用户可将与每个流程域相关联的代表性器件的引脚名称输入到用户界面内。作为另外一种选择,可通过标识电子数据表或其他数据源来提供此输入,所述其他数据源包括可以从中识别出与每个流程域相关联的引脚的信息。然而,并不要求每个引脚与某个流程域相关联。在一些实施例中,例如,用户可指定一些引脚将进行串行测试(即,不在正测试任何其他流程域期间来进行测试)。
可直接或间接地提供其他输入。例如,可提供有关仪器的信息以及这些仪器是否支持用于并行测试的期望水平所需的测试站数。这些输入可用于将资源分配给全局站区或者使得它们可用于分配到流程域专用站区。
所述工具可用此信息来确定在执行测试计划中用于测试系统的适当配置。此配置可确定(例如)在执行测试计划中将使用的测试器站数以及将分配给每个测试器站的具体资源。可作出这些分配来实现站区并且使站区与适当流程域相关联。然后可使用此配置信息来配置测试系统,以便根据测试计划进行测试。
在一些实施例中,引脚与流程域的关联可应用到整个测试计划中。然而,应当理解,在测试计划的不同流程步骤,测试中可使用不同的引脚组合来作为每个子流程的部分。因此,并不要求子例程存在于在整个流程期间。在测试计划中的不同时间,子流程和相关流程域、以及测试器资源对于站点的相应分配可以不同。例如,子流程可以仅存在于一个流程步骤期间,以使得测试系统的配置可在每个流程步骤有所改变或者可在测试计划执行期间的一些较大间隔处有所改变。
转到图1,示出了可利用这种工具配置的示例性测试系统100。然而,应当认识到,提供给测试系统的配置信息可用任何合适的方式来获得,并且无需由自动化工具来生成。可利用本领域中已知的硬件部件来构造测试系统100。在此例中,测试系统100包括装入部件的主体,所述部件能够生成并测量多个测试信号。此处,该主体图示为测试器120。
测试器120容纳多个部件,所述部件用于在测试程序的控制下来生成并测量测试信号。生成并测量测试信号的部件在此处一般表示为“资源”。在图1的例子中,示出了资源122A、122B…122N。在一些实施例中,在资源122A、122B…122N中将包括多个类型的资源。每个资源可生成和/或测量用于测试功能中的一个或多个信号。例如,资源可被编程以生成或测量各自代表一系列数字值的一个或多个信号。例如,另一个资源可被编程而生成根据编程模式变化的模拟信号。然而其他资源可捕集由测试器120测量的模拟信号。又如,其他资源可测量射频信号。
可由硬件部件(例如,本领域中已知的仪器)来提供资源。例如,可由下述仪器的组合来提供资源:数字仪器、模拟仪器、射频仪器、以及用于在半导体器件测试期间生成或测量信号的任何其他合适类型的仪器。一些仪器可提供多个类型的资源,以使得在资源和实现它们的硬件部件之间无需存在一对一关系。例如,单个仪器可提供测量直流程电压或电流程并且还驱动被测器件的一个或多个数字引脚的能力。然而,应当理解,资源的物理实现对于本发明并非至关重要。
无论测试器120内的资源的数量和类型如何,可通过一个或多个部件(此处示意性地示为信号传递接口126)来将资源连接到被测试的一个或多个半导体器件。可利用本领域中已知的技术来构造这种信号传递接口。信号传递接口126可将资源的输入/输出端口连接到被测器件的相应引脚。
并不要求须按一些实施例那样对多个器件进行并行测试。示出的半导体器件152A、152B…152F被提供用于由测试器120进行测试。被测器件152A、152B…152F可作为一组来处理,因为它们结合于基底150。在图1的例子中,被测器件152A、152B…152F被示为封装件。因此,基底150可为处理接口板或用来保持多个封装半导体器件的其他固定装置。在其中半导体器件在其他制造阶段进行测试的情况中,可将被测器件联接于其他类型的基底以方便处理。例如,半导体器件可在作为制造所述器件的半导体晶片接合在一起时测试。在这种情况下,基底150本身可为晶片。
无论用于保持被测试的多个半导体器件的基底150的类型如何,可通过操作装置(未示出)来将基底150压贴在测试器120的一部分上。能够定位供测试系统测试的半导体器件的操作装置为本领域已知的,并且可使用任何合适的操作装置。
在一些实施例中,基底150可保持比能够由测试器120一次测试的半导体器件更多的半导体器件。能够并行测试的器件的数量限制可由测试器120内的资源(相比于在被测器件上运行测试程序所需的资源)限制而产生。如果基底150保持比能够由测试器120并行测试的器件更多的器件,则操作装置(未示出)可在一组器件已被测试之后来重新定位基底150。通过重新定位基底150,可测试更多组半导体器件。尽管本文描述了在一个或多个半导体器件的单个组上执行的测试方法,但应当理解,当可用于测试的半导体器件多于能够一次测试的半导体器件时,可通过将另一组器件提供到测试系统并且重复这些测试方法来成组地测试所述器件中的一些或全部。
在图1的例子中,三个半导体器件152A、152B、152C被示为同时连接到测试器120。尽管此例在每个组中示出了多个器件,但对于一些复杂的半导体器件而言,提供用于测试的半导体器件的每个组可仅包括单个半导体器件。无论每组内的器件数量如何,可通过测试器120内的资源来并行地测试半导体器件152A、152B、和152C中的每一个,所述资源生成并测量耦接于被测器件的测试信号。在图1的简化例子中,单个连接被示为将测试信号耦接在测试器120与器件152A、152B、和152C中的每一个之间。然而,应当理解,可生成或测量数百个或者可能数千个测试信号,以便完整地测试现代半导体器件。为简化起见,未示出测试器120与正被测试的每个半导体器件之间的许多连接。
无论被并行测试的半导体器件的数量如何,信号传递接口126可以在资源122A、122B…122N与被并行测试的器件152A、152B、和152C之间耦接被生成或测量的测试信号。可利用本领域中已知的技术来构造这种信号传递接口。尽管信号传递接口126在图1中示意性地示为单个部件,但其可包括多个层,这些层被做成多个单独元件,所述多个单独元件被连接成在资源与被测器件之间传递信号。这些层(例如)可包括具有由测试器120的结构限定的构造的层,使得可与资源122A、122B、…122N的输入/输出端口形成连接。信号传递接口126的另一部分可具有由被测试的半导体器件限定的构造。所述接口的器件专用部分可包括多个探针或其他接触机构,所述探针或其他接触机构能够与被测试的半导体器件上的测试点形成连接。可基于被测器件的设计来配置这些测试点,以与专用测试点对准。
在测试器专用接口层与器件专用接口层之间,一个或多个布线层可被设置在信号传递接口126内。这些选路层中的一个或多个可被编程,从而作为配置测试系统100以执行测试计划的一部分,可配置测试器120以使得资源能够生成或测量将施加到被测器件上的专用测试点的测试信号,所述测试信号可从能够生成或测量这些测试信号的资源传送到专用测试点,在所述专用测试点处将施加或测量这些测试信号。
在图1的例子中,测试系统100包括控制部件110。控制部件110可为计算机或任何合适类型的处理器,所述处理器可根据测试计划进行编程以便为测试系统的其他部件产生控制信号。控制部件110可利用本领域中已知的技术来控制测试器120内的部件的操作,所述控制部件包括基于资源与信号传递接口126的器件专用侧的点之间的所需映射来配置测试器120的部件。例如,控制部件110可为信号传递接口126产生控制信号,以将专用资源连接到被测试的一个或多个器件上的专用测试点。
另外,控制部件110可控制资源122A、122B…122N的操作。对资源的控制会牵涉到设定一个或多个操作参数。由控制部件110设定的具体操作参数对于本发明并非至关重要,并且可取决于包括在测试系统100中的资源和/或规定为测试计划的一部分的测试功能。可利用本领域中已知的技术或者以任何合适的方式来确定这些参数。然而,作为可被控制的参数的类型的例子,控制部件110可指定将由特定资源产生的测试信号的电压电平。作为另外一种选择或除此之外,控制部件110可指定一些参数,这些参数控制信号或信号模式被生成的定时。可指定的其他参数包括测试信号的频率或持续时间。
指定的具体参数和参数值可取决于将被执行的测试的性质。指定测试器配置的输入可由任何合适的源提供。在图1的例子中,响应用户130的动作来提供指定测试系统配置的输入。用户130可表示(例如)测试工程师,所述测试工程师可在半导体器件被设计时开发用于半导体器件的测试。尽管图1示出了单人用户,但用户并非必须为单人。在某些情况下,可通过不同的人们来控制本文所述的处理的不同部分。例如,测试计划可先前由测试工程师开发并且随后由操作者在另一时间来执行以测试半导体器件,甚至是可能在不同的位置利用不同的设备来测试正被制造的半导体器件。此外,成组的人可合作以执行本文所述的一些或全部操作,使得“用户”无需为单人。作为具体例子,本文所述的测试系统操作技术的优点在于其允许与不同核相关联的测试块进行独立开发并且随后合并成具有不同并行度的多个流程。
无论与用户相关联的数量和工作职能如何,用户可产生用于测试系统的配置信息以作为测试计划的一部分并且随后将配置信息加载到测试系统内以用于执行测试计划。在此例中,用户130通过连接于控制部件110的工作站132来提供输入。在示出的例子中,当用户130正与工作站132交互时,工作站132被示为连接于控制部件110。然而,应当理解,来自用户130的输入无需实时地提供至控制部件110。例如,用户130可操作工作站132以生成用于配置控制部件110的信息。此配置信息可被保存并且随后载入控制部件110。此外,指定测试系统配置的输入并非必须直接响应用户输入来提供。例如,可通过执行一个或多个计算机化工具或者以任何其他合适的方式来生成配置信息。
工作站132可为任何合适的计算装置。例如,工作站132可为台式计算机或任何计算装置,它们可被编程以操纵利用本文所述的技术来配置测试系统100的工具。操纵这样的工具可导致生成配置命令,例如,可被传送到控制部件110的配置命令140、142、和144。这些配置命令可配置控制部件110,由此来配置资源122A、122B、…122N和信号传递接口126,以便一次能测试被测试的一个或多个半导体器件。然而,应当理解,控制部件110可为与工作站132相同的计算装置。
操作装置(未示出)可用相应的配置信息来配置,使得该装置提供测试器120用来一次测试的半导体器件的数量。在图1的例子中,测试器120被示为与三个半导体器件(半导体器件152A、152B、和152C)形成连接。这些半导体器件中的每一个均可具有相同的构型并且据称可安装在测试系统100的用户站中。每个用户站可表示一个场所,在该处被测试的半导体器件提供给测试器120进行测试。
一般来讲,在半导体制造设施中,一次能制造多件相同的半导体器件。因此,多件相同的半导体器件可作为制造过程的一部分来测试。在每个用户站出现的半导体器件因此可为相同的。
为了支持同一类型的多个器件的测试,常规的测试系统被用来支持测试器站。在常规测试操纵中,测试系统可被配置为使得测试器站对应于每个用户站,在所述用户站提供被测器件以进行测试。为了支持在多个用户站对器件进行并行测试,测试系统可支持在每个测试器站执行测试程序的范例。这样,可在多个用户站中的每个站中并行地运行测试程序的范例。
图1示出了可使用测试器站来配置测试系统以便在多个用户站并行地执行测试范例的方法。如图所示,资源122A、122B、…122N中的每一个包括可编程硬件,例如,寄存器124A、124B、…124N。写入寄存器124A、124B、…124N的值指定与每个资源相关联的一个或多个测试器站。通过将与特定测试器站相关联的资源映射到特定用户站,测试系统可用来执行用于被测试的半导体器件的多个测试程序范例。
可利用本领域中已知的技术来控制测试器站的操作。然而,简而言之,控制部件110可访问写入以用于测试被测试的代表性器件的程序,由此来确定所需的动作,例如,生成或测量将在多个程序步骤中的每一个期间执行的特定信号。控制部件110于是可以将命令发送到测试器120内与多个测试器站相关联的资源,所述资源被映射到用户站,在所述用户站将被测器件提供给测试器120。每个命令可设置资源、控制资源以生成测试信号、控制资源以执行测量或触发任何其他合适的测试功能。
可用任何合适的方式来提供此类命令。控制部件将命令提供到资源的具体机制可取决于提供资源的硬件仪器的构造和/或其他因素(包括测试系统的体系结构)。在某些情况下,指向资源的命令可包括具体地标识资源的地址。在其他情况下,控制部件可首先识别命令施用到的测试器站。当随后发送命令时,已分配给所识别的测试器站的每个资源可响应该命令。
在某些情况下,可为正在用户站执行的每个测试程序范例提供资源的单独拷贝。使用单独的资源允许每个测试程序范例依照不同的流程,这取决于正在特定用户站测试的半导体器件的测试结果。例如,如果因在并行测试的三个半导体器件上执行的测量确定半导体器件中的一者有故障,则用于该半导体器件的测试范例的流程可被改变同时允许测试流程继续无改变地用于被测试的其他半导体器件。可用任何合适的方式来改变测试流程,包括通过延迟对故障器件的测试来改变。
然而,用于测试多个用户站的每个资源并非必须为独立的。在某些情况下,例如,可将提供充当电源的电压电平的资源连接到多个用户站。相似地,可将在全部用户站中以相同方式操作(无论任何条件处理)的其他资源连接于多于一个的用户站。
然而,本发明人已经认识并且理解到,只要可被配置成将资源匹配到用户站以并行测试多个半导体器件的测试系统有用,则半导体器件测试中的大量优点可通过在其他测试情况中采用这些能力而以很简单的方式实现。一个此类情况示于图2中。
图2概念性地示出了可通过测试系统进行测试的半导体器件152。半导体器件152可为本领域中已知的半导体器件。在此例中,半导体器件152被示为封装的半导体器件。然而,如上所述,半导体器件可在其制造的任何合适阶段以任何合适的形式进行测试。例如,可将本文所述的技术应用到半导体器件,而半导体晶片的一部分仍为未封装的。
无论所测试的半导体器件152的形式如何,半导体器件152可包括多个功能部分、或“核”。在图2的例子中,装置152被示为包括核210A、210B、210C、210D、210E、和210F。每个核的具体功能对于本发明并非至关重要,并且核210A、…210F中的每一个均可表示任何合适类型的核(无论是目前已知的还是将来开发的)。
申请人已经认识到并且理解,可在开发用于半导体器件152的测试程序的过程中,通过开发与每个核相关联的测试块来实现大量优点。可通过提供可易于编程以执行这些测试块的半导体器件测试系统来实现其他优点。此外,本发明人已经认识到并且理解,在多种情况下,将为有利的是允许用户指定用于由这些测试块组合的测试的流程,而不管测试块是以串行方式还是以并行方式包括在测试流程中。这种能力(例如)可允许开发半导体器件的实体通过使一个或多个程序员个体或程序员组独立地开发测试块来开发用于半导体器件的测试程序。然后可将这些测试块组合成测试流程。此外,可改变测试块的组合以在不同的时间实现不同的目的。
图3A和3B示出了可利用此方法提供的灵活性的例子。图3A示出了用于可测试半导体器件152的测试程序的串行流程的例子。在图3A的流程中,执行多个测试块310A、310B、310C、310D、310E和310F。在此例中,测试块310A、…310F各自独立构建来测试核210A、…210F(图2)中的某个核。
如图3A所示,这些测试块可被串行地执行,并且可执行于其他测试功能之前和/或之后。在此例中,可在执行设置块320之后来执行测试块310A、…310F。设置块320可对资源编程,从而为器件通电、擦除或设置器件上的存储元件、或者以其他方式将器件设置在适于测试的状态下。示于图3A中的流程还包括全功能测试块330。功能测试块330可指定能够验证被测器件的工作(涉及核与核之间的互动)的测试动作。在图3A所示的流程中,在每个核被串行地测试之后来执行全功能测试块330。如果一个或多个核被确定有故障,则在测试流程的此处包括全功能测试块330可消除执行全功能测试的需要。如果全部测试块310A、…310F均被成功执行从而确认核的运行,则可较简单地实现用于测试这些核之间的相互作用的块330中的全功能测试(相比于其中需要对测试块330编程以考虑各个核中的每一个的可能异常运行状态的情况而言)。然而,应当理解,功能测试块330在测试流程内的位置对于本发明并非至关重要。
图3B示出了可用于执行被测器件152的测试的可供选择的流程。如同图3A的测试流程,图3B的测试流程以设置块320开始并且以全功能测试块330结束。然而,不同于图3A的测试流程,图3B的测试流程包括多个子流程。
在图3B的流程中,子流程被并行地执行。在此例中,示出了四个子流程:子流程3501、3502、3503、和3504。子流程3501包括测试块310A和310F。测试块310A和310F在子流程3501中被串行地执行。子流程3502包括测试块350B。子流程3503包括测试块310D。子流程3504包括测试块310E和310C。如图3B所示,测试块310E和310C在子流程3504内被串行地执行。
子流程中的每一个比图3A的流程具有更短的执行时间。尽管执行相同的测试量,但总测试时间短于图3A的流程的总测试时间。因此,图3A可表示在器件开发期间执行的测试。相比之下,图3B可示出可在器件制造期间执行的测试,其中需要较快的执行时间。在器件和/或测试程序的开发期间,测试工程师可能需要串行地执行测试块。串行执行(例如)可通过允许测试工程师每次关注于器件的较小部分上而有利于测试程序的开发和/或被测器件的调试。另一方面,在制造操作期间,可能有利的是尽可能快地执行测试程序。因此,在这种情况下,可能有利的是在尽可能多的子流程中来执行测试程序,每个子流程在尽可能短的时间量内来执行。
将图3A和3B一并考虑可以看出,重新设置测试块以在测试过程中提供较高或较低的并行度可能是有用的。图3B提供了并行测试流程的一个例子。可产生各个子流程中的测试块的多种其他组合。可以使用的具体组合取决于被测器件的特性和将被正在执行的测试程序访问的被测器件结构的相互依存这两者。
多种因素可能限制并行子流程的数量。一些限制可源于被测器件的构造。在某些情况下,一些测试块不可并行地执行,因为它们测试的相关核不能被完全独立地操作。例如,核210A的输出端可能连接于核210C的输入端(图2)。在这种情况下,可能不能在同时确定核210C的输入端处的测试状态的同时确定核210A的输出端处的测试状态。因此,测试块310A不可与测试块310C并行地执行。
图3B示出了实现这种操作的并行流程。具体地讲,首先在子流程3501中执行测试块310A。尽管在与子流程3501并行执行的子流程3504中执行,但测试块310C在时间上排序,使得测试块310C能够在测试块310A执行之后被执行。然而,不可能以六个子流程来执行图3B所示的测试。
在一些实施例中,可独立操作的资源的可获得性可能会限制子流程的数量。例如,数字测试仪器可作为资源提供八个数字信号。尽管仪器可允许将数值独立地指定在这些线中的每一者上,但仪器的约束因素可能要求全部八个信号线仅在公共时钟信号的边沿上改变状态。因此,尽管可提供八个数字信号,但这八个信号不可任意地分配在不同的子流程(其中信号变换为相对于不同时钟定时的)中。在这种情况下,并行度可受到可用于分配到每个子流程的独立操作资源的数量的限制。
可以使用的子流程的数量还可取决于其他因素,例如,测试系统中可用的资源的数量。在一些实施例中,测试系统可被配置为使得被分配用于在每个子流程中执行测试的资源独立于其他测试流程中的资源。当并行地测试多个器件时,资源利用率可尤其受关注。
可考虑这些以及可能的其他约束因素以确定测试流程中的并行子流程的数量。测试工程师或测试系统的其他用户可用任何合适的方式来确定测试流程中的子流程的数量。同样,可用任何合适的方式来确定将包括在每个子流程中的特定测试块。在一些实施例中,已知的仿真工具或其他编程工具可帮助用户来确定子流程的数量和在每个子流程中执行的测试块。此类工具(例如)可帮助用户发现使测试执行时间最短的并行测试流程。然而,构建并行测试流程的具体机制对于本发明并非至关重要,并且任何合适的测试流程均可被执行。
尽管图3A和3B各自示出了一个流程范例,但当在多个用户站并行地测试多个器件时,每个用户站均可存在单独的流程范例并且必须为每个流程范例分配资源。
在图3B所示的实施例中,将独立的资源分配给子流程3501…3504中的每一个。在其中存在与多个用户站相关联的多个流程范例的实施例中,也可为每个子流程范例分配独立的资源。
因此,测试流程可以呈现不同的并行度。测试流程可以为完全串行的(如图3A所示)、或完全并行的(如图3B所示)、或部分并行和部分串行的(未示出),后者牵涉到并行执行多个子流程的周期和执行单个子流程的其他周期。发明人已经认识到并且理解提供如下技术的有益效果:所述技术用于改造(例如)图1所示的测试系统以这样的方式运行,所述方式允许用户容易地配置测试系统来支持任何所需的测试执行并行度。
图4示意性地示出了可应用测试系统内的测试器站来配置测试系统以执行具有任何所需并行度的测试流程的方式。图4示意性地示出了可位于本领域中已知的测试系统内的资源,例如,资源422A、422B、422C、422D、422E、和422F。在图4所示的情况中,测试系统被配置成在两个用户站上执行测试。因此,示出了两个半导体器件4521和4522。在此例中,被测试的半导体器件各自具有被指定进行独立测试的六个核。
核410A1、410B1、410C1、410E1、410D1、和410F1中的每一个均可具有与其相关联的测试块。半导体器件4522中的对应核410A2、410B2、410C2、410D2、410E2、和410F2可类似地与相同测试块相关联。然而,在测试器件4521和4522中的每一个的过程中,可执行每个测试块的不同范例以测试半导体器件4521和4522中的每一个内的核。
在图4所示的例子中,三个子流程被并行地执行。在此例中,在器件4521和4522上执行测试的测试系统的资源已被分配到站区内。站区中的每一个可与测试流程中的子流程相关联。在此例中,示出了站区430A、430F、和430B。站区430A包括资源422A和422B。如图示意性所示,资源422A耦接于核410A1并且资源422B耦接于核410A2。可按照本领域中已知的方式来实现这种耦接,包括通过对信号传递接口(例如,信号传递接口126(图1))内的映射进行编程。在此例中,在三个子流程中的第一子流程期间来测试核410A1和核410A2。因此,站区430A正提供用于测试第一子流程的每个范例的资源。
相似地,可将站区430F的资源耦接于每个用户站有待在第二子流程期间测试的器件的核的范例。在此例中,在第二子流程期间测试的核包括核410F1和410F2。这些核中的每一个作为第二子流程的单独范例的部分来进行测试并且可利用测试块(例如,测试块310F(图3A))的单独范例来进行测试。
相似地,站区430B包括作为第三子流程的部分来测试核的资源。在此例中,核410B1和410B2在第三子流程的单独范例中测试。在此例中,核410B1和410B2表示相同核的不同范例并且可利用相同测试块的不同范例来进行测试。在此例中,资源422E被示为耦接于核410B1并且资源422F被示为耦接于核410B2
应当理解,图4为测试系统的配置的简化图示。例如,在每个资源与有待测试的核之间示出了单个连接。每个核可具有多个测试点,以使得多个信号耦接在一个或多个资源与用于测试的核之间。此外,另外的核(例如410C1、410D1和410E1,410C2、410D2和410E2)未被示为连接到任何资源。对于半导体器件4521和4522的完整测试而言,这些核中的每一个均可类似地耦接于资源以进行测试。
这些核可基于其中将测试这些核的子流程来耦接于资源,所述资源被分配到站区430A、430F、或430B中的一个或多个。例如,核410C1可以如同与核410A1相同的子流程的部分那样被测试。在这种情况下,核410C1和410C2可被耦接于站区430A中的资源。同样,核410E1和410E2可在与核410B1和410B2相同的子流程期间进行测试。因此,尽管未示于图4中,但核410E1和410E2可被耦接于站区430B内的资源。此外,核410D1和410D2可在与核410F1和410F2相同的子流程期间进行测试。在这种情况下,核410D1和410D2可被耦接于站区430F中的资源。
然而,从图4中的简化图示可以看出,每个站区与并行流程的子流程相关联。本发明人已经认识到并且理解,如概念性地示于图4中的站区可通过使用由本领域中已知的测试系统支持的测试器站能力来生成。可将不同的测试器站分配给每个站区,即使不同站区中的资源可用于测试同一用户站中的相同半导体器件的一些部分。以此方式使资源与分配给站区的测试器站相关联,提供了用于控制资源以在测试流程(不管其子流程数量如何)中运行的机制。
使测试器资源与测试器站相关联的能力可进一步地用于使资源与不同的子流程范例相关联。例如,通过将资源分配到测试器站2和测试器站3来创建站区430A。在此例中,资源(例如,分配给测试器站2的资源422A)可被分配以用于执行作为第一子流程的第一范例的部分的测试块。资源(例如,分配给测试器站3的资源422B)可被分配以用于执行第一子流程的第二范例中的一个或多个测试块。
相似地,资源(例如,分配给测试器站4的资源422C)可被分配以用于执行第二子流程的第一范例中的一个或多个测试块。资源(例如,分配给测试器站5的资源422D)可被分配以用于执行第二子流程的第二范例中的测试块。资源(例如,分配给测试器站6的资源422E)可被分配以用于执行第三子流程的第一范例中的测试块。资源(例如,分配给测试器站7的资源422F)可被分配以用于执行第三子流程的第二范例中的测试块。
这样,测试器站分配用于使不同的资源并且在一些实施例中使独立的资源与测试流程的不同子流程相关联。测试器站分配还用于在子流程的范例之间加以区分。利用已知的编程技术,可使独立资源与每个测试器站相关联,即使资源可用于测试同一用户站的器件的一些部分。例如,测试器站2、测试器站4、和测试器站6均被分配用于测试单个用户站的器件,例如器件4521。然而,通过以此方式使用测试器站,将独立资源分配到不同用户站的已知测试系统配置技术可得到应用,这将导致独立测试器资源的分配以在整个测试流程的不同子流程中进行测试。在其中在不同子流程内执行不同测试块(每个测试块与不同类型的核相关联)的实施例中,在不同的测试器站中应用独立的测试器资源导致分配独立的测试器资源以用于测试同一被测试半导体器件上的每个核。
即使在每个测试流程内执行其他测试块,针对每个子流程使用不同的测试器站可导致被分配独立测试器资源的不同测试块的任何并行执行的范例。换句话讲,以此方式分配测试器资源确保无论指定用于测试流程的并行度如何,均可利用独立资源来执行每个测试块范例,除非具体地编程以共享资源。
为了使测试器资源能够以此方式分配,可基于指定流程域的用户输入来配置测试系统,所述流程域因此与图4所示类型的站区相关联。测试系统于是可以选择适当站区中的资源以在对应流程域中执行测试功能。
为了限定流程域,可直接或间接由用户提供的输入可指定在子流程期间接入的一组引脚。在其中(用来测试一个或多个核的)一个或多个测试块在一个子流程中被执行的实施例中,该子流程的流程域可包括与在此子流程期间测试的全部核相关联的全部引脚。
在其中在第一子流程期间测试核210A和210C(图2)的图4的例子中,可通过用户输入指定第一流程域,所述用户输入标识用于在被设计为测试核210A和210C的测试块的执行期间用于测试接入的半导体器件152的引脚。相似地,当在第二子流程期间测试核210B和210E时,可通过标识核210B和210E中在被指定用于测试核210B和210E的测试块的执行期间接入的引脚来指定第二流程域。相似地,当在第三子流程期间执行被指定用于测试核210D和210F的测试块时,第三流程域可被规定为对第三流程域求反。
可相对于被测试的代表性器件或者以任何其他合适的方式来提供在每个流程域中指定引脚的输入。作为一个例子,本领域已知的是对测试系统编程来指定引脚组。可指定引脚组以用于任何种类的情况,包括将公共定时或其他公共操作应用到该组中的引脚。用于指定这些或其他情况中的引脚组的技术可用于标识形成流程域的引脚组。
无论标识引脚组的方式如何,一旦为某个代表性器件标识了引脚组,就可在每个站应用这些分组以标识每个流程域的范例。基于这些标识的流程域范例,可使不同的测试器站与每个流程域范例相关联。在图4的例子中,单个测试器站与每个流程域范例相关联。然而,流程域范例并非必须与单个测试器站相关联。例如,多个测试器站可与每个流程域范例相关联。无论如何,可通过图4所示的流程域专用站区来实现测试器站与流程域的关联。
这种关联允许利用已知的半导体测试系统编程技术来将独立资源自动地选择用于每个子流程范例,所述半导体测试系统编程技术选择独立的资源以用于不同的测试器站。这些能力用于提供如下机制,所述机制用于执行其中多个不同测试块可并行执行的测试程序,甚至是当测试程序并非被编写成并行执行时。如图所示,通过站区控制资源允许进行独立开发并且允许独立地操作被并行控制的测试块。
在图4的例子中,与站区430A相关联的测试块310A可通过在执行此测试块时使用已分配到站区430A的站点的资源来作用于第一类型核。按照类似的方式,测试块310F可通过在执行此测试块时使用已分配到站区430F的站点的资源来作用于第二类型核。另外,测试块310B可通过在执行此测试块时使用已分配到站区430B的站点的资源来作用于第三类型核。
如上所述,可实现资源到站区的自动分配,以确保分配到每个站区的资源为独立的。然而,可存在其中不需要每个子流程范例中的资源的完全独立性的情况。例如,当测试功能需要核之间的相互作用或者存在不足的资源来执行具有所需的高并行度的测试计划时,可能需要子流程中的资源之间的一些依赖性。转到图5,示出了可供选择的操作情况,其中站区的第二部分并非与流程域唯一地相关联。图5示出了按照图4配置的具有三个流程域专用站区430A、430F和430B的测试系统。测试系统被配置为使得这些站区中的每一个内的资源被分配用于执行与不同流程域相关联的测试块。图5中的情况与图4中的情况的不同之处在于图5所示的测试系统包括并非与流程域唯一相关联的附加站区。
资源530A和530B表示全局站区。在此例中,已通过将全局站区中的资源分配到测试器站1来实现全局站区。测试器站1表示并非用于将资源分配给流程域专用站区430A、430F、或430B中的任何一个的测试器站。在图示实施例中,全局站区中的成员身份由全局流程域的用户定义来定义。用户不能使全局流程域与任何子流程相关联。其用途不言而喻,并且根据定义对于并行子流程而言为全局的。然而,应当理解,在其他实施例中,可用任何其他合适的方式来定义全局站区。
相比于通过流程域专用站区(例如,430A、430F、和430B)实现的资源分配,全局站区中的资源并非与任何流程域呈一对一关系相关联。相反,全局站区中的资源(在图5中由资源530A和530B表示)可从任何流程域进行访问。可利用常规测试系统编程技术来从执行于流程域中的测试块访问这些资源。然而,相比于流程域专用站区430A、430F、和430B中的资源(其可通过有助于测试系统的配置的工具进行分配,以使得无论测试流程的并行度如何均能确保独立资源),如果分配给全局站区的资源被不止一个并行执行的测试块访问,则可能发生冲突。因此,可编写一些访问分配给全局站区的资源的测试程序来消除此类冲突。可根据目前用来给并不实现流程域专用站区的测试系统编程的技术来执行此类冲突消除。
可出于任何合适的理由将任何合适的资源分配给全局站区。理由可包括(例如)资源功能方面的限制。资源限制的一个例子是,某个资源可能为这样的仪器的部件,所述仪器不能进行编程以作为测试器站的一部分来工作或者不能进行编程以利用支持全部被用站区的特定数量的被用测试器站来工作。例如,一些测试系统可支持至多512个测试器站,但一些仪器可支持仅32个测试器站。
可将资源分配给全局站区的另一个原因可为资源的稀缺性,使得为了并行测试合适数量的器件,必须在流程域中共享某些稀缺资源。作为稀缺资源的例子,测试器可装配有单个仪器以产生射频信号,所述射频信号为必需的以用于测试不同用户站中的一个器件或多个器件上的不同核,从而使得在不同的流程域范例中需要这种资源。在这种情况下,用户可编写测试程序以将来自所述仪器的射频信号在测试过程中的不同时间应用到不同的流程域范例中。
图5示出了其中全局站区中的资源被分配给相同测试器站的情况。应当理解,这种站点分配并不是对本发明的要求。在某些情况下,当测试如图5所示的多个用户站时,可将全局站区中的资源分配给测试器站,以使得存在适合每个独特用户站的独特测试器站。这种配置可使得用户站能够独立地或者具有某种并行度地被测试。因此,应当理解,图5为示例性的并且并不限于全局站区的具体实施。
通过提供流程域专用站区以及全局站区,可在测试系统的编程中实现显著的灵活性。然而,所述系统可易于配置为利用自动化工具以任何并行度来执行测试程序,所述自动化工具将测试器站分配到流程域专用站区。为了使用全局站区以及流程域专用站区中的资源,用户可使流程域专用站区中的专用测试器站与流程域范例中的引脚相关联,以使得流程域专用站区中的独立操作资源被自动地选择以接入其对应流程域中的引脚。另外,可使全局站区与包括在测试过程中全局站区中的资源所接入的引脚的任何流程域范例相关联。
图6示出了可在测试系统中实现的以提供更大灵活性的另一种类型的站区。图6示出,除了流程域专用站区和全局站区之外,测试系统还可用系统站区来配置。在图6的例子中,系统站区用测试器站0来限定。在图示实施例中,全部资源均包括在系统站区中并且可通过测试器站0进行访问。然而,应当理解,系统站区可使用任何合适的标号。作为具体例子,可使系统站区与多个测试器站(例如,标号为零到上限(其可取决于(用户站数-1))的测试器站)相关联。提供系统站区是一例这样的机制,通过该机制可对任何测试块编码以访问系统中的任何资源。例如,在其中测试核410B1和410B2的串行测试期间,可能有利的是访问任何数量的资源以作为对核进行测试的一部分。然而,由于在串行流程中在不同测试块中的资源利用之间不存在冲突风险,则在流程中可在不使用流程域专用站区的情况下来串行地执行测试块。
可通过配置一些或全部资源以作为多个测试器站的一部分运行来提供所述实施例中的这种灵活性。例如,在其中系统站区被分配测试器站0的情况下,可将每个资源分配给站点0。可将如下每个测试器资源分配给附加测试器站,所述测试器资源可用作执行与流程域专用站区和/或全局站区相关联的测试程序的一部分。附加测试器站可表示全局站区或者可表示被分配给流程域专用站区的测试器站。这样,可在配置资源以执行测试程序中实现显著的灵活性,同时仍能获得使用测试器站的有益效果,由此来消除并行测试过程中资源之间的冲突。
图7示出了如下测试能力,所述测试能力源于以此方式利用站区来将资源分配到其中测试不同核的不同子流程范例。图7示出了运行测试系统的方法。所述方法如图7所示可随着用户输入而起始,所述用户输入指示具有定义流程的特定测试程序将被执行。在此例中,将被执行的测试流程包括三个子流程。这些子流程在三个用户站上来执行。因此,对于每个子流程存在三个范例。
在此例中,图7的处理开始于其中测试器被配置用于执行测试的块710处。此配置可能牵涉到将测试器站映射到每个用户站中的每个核。在图1的示例性系统100中,可通过如下方式来实现这种映射:配置信号传递接口126以将已分配给专用测试器站的资源连接到处于使用这些测试器站的流程域中的用户站的引脚。所述映射可用任何合适的方式实现。然而,在一些实施例中,可基于从计算机化工具提供的配置命令来实现映射,所述计算机化工具利用本文所述的技术来分配资源。
在图1的例子中,配置命令可包括配置命令140,所述配置命令140为包括在测试系统内的多个资源中的每一个识别该资源将连接的引脚。这样的信息可用来控制测试器120的信号传递接口部件内的映射。又如,配置命令可指定用于测试程序的流程。配置命令142可提供有关在每个子流程中执行的测试块的信息。配置命令144可为用于执行测试程序的测试系统120内的每个资源指定测试器站分配。其他信息可指定将哪些测试器站分配给每个子流程的每个范例。此配置信息允许控制部件110利用每个测试块范例的适当资源来在一个或多个用户站中执行一个或多个测试块的一个或多个范例。
可由用户提供任何合适的输入以使所述工具能够生成配置信息。例如,图1示出了将输入提供到工作站132的用户130,在所述工作站132上生成配置信息的这种工具可以执行。该输入可以限定流程域。每个流程域可被规定为在测试程序的子流程期间接入的被测试代表性器件的一组引脚。可用任何合适的方式来提供此信息。例如,本领域中已知的是在对测试系统编程时指定引脚组,并且可利用本领域中已知用于指定引脚组的技术来指定流程域。
可结合流程来指定流程域。流程可用任何合适的方式来指定,例如,电子数据表、测试脚本、或命令行。定义流程的信息可被提供为由用户输入的数值。然而,可通过选择包括此类电子数据表或脚本的文件来提供这种输入。可直接地或间接地进行这种选择。作为间接选择的例子,用户可打开与测试计划相关联的工作区,在所述工作区内已指定流程和测试计划的可能其他参数。然而,可采用传送信息的任何合适机制。无论所述流程如何被规定,其可包括有关子流程和将在每个子流程内执行的测试块的信息。
可指定其他输入(其可为本领域中用于配置测试系统的已知类型的输入)以使所述工具能够确定映射。例如,在工作站132上执行的工具可获得这样的信息,所述信息限定与信号传递接口126(图1)的器件专用部分有关的每个测试引脚的位置。相似地,可获得确定哪些测试通道与哪些资源相关联的信息。另外,在工作站132上执行的工具(例如)可获得关于保持半导体器件的用户站数的信息以进行并行测试。
工具可获得的其他信息(通过经由工作站132上的用户界面的直接用户输入或者通过访问有关测试程序的信息的其他源)可包括用于执行每个测试块的资源需求。
这种信息、以及常规可保持在任何测试环境中的任何其他合适信息可由工具获取以生成配置命令,所述配置命令可被提供到测试系统中的控制部件,例如控制部件110(图1)。这种工具可创建如上所述的站区,包括流程域专用站区、全局站区、和系统站区。所述工具可基于在用户输入中指定的流程中的子流程数来确定流程域专用站区的数量。一旦站区数被确定,所述工具就可将测试器站分配给这些站区。
然后,所述工具可基于将在构成测试程序的测试块的执行中使用资源的方式来将资源分配给这些测试器站。例如,可将每个资源分配给用于实现系统站区的测试器站。可将在不止一个子流程范例中访问的资源分配给实现全局站区的测试器站。
可将用于执行与单独流程域相关联的测试块的其他资源分配给实现与这些流程域相关联的站区的测试器站。这些资源可被分配成使得分配给不同站区的资源为彼此独立的。可实现这些分配以达成每个站区中功能上独立的资源。可通过确保由任何物理部件提供的全部资源被分配给同一站区来实现功能独立性。然而,如果基础物理部件支持可独立操作的多个资源以使得可由这些资源中的一者生成或测量的信号不依赖于其他资源的当前或先前编程,则即使得自相同物理部件的资源被分配给不同的站区也可实现整个站区上的功能独立性。
可利用本领域中已知的技术来将资源分配给流程域专用站区,以实现将独立资源分配给测试系统中的用户站。然而,所述分配能够用来实现全部站区上的独立性,而不是实现所有用户站上的独立性。然而,相比于其中将资源分配给每个用户站执行相同测试功能的常规资源分配任务而言,当上述站区可与不同类型的核的测试相关联时,分配给站区的资源可在不同的站区执行不同的测试功能。尽管如此,可应用本领域中已知的技术,例如,用于标识哪些资源可独立操作以及如何选择资源以实现所需速率或资源利用率的技术。然而,任何合适的技术均可使用。
在其中使用多个用户站的情况下,可将资源分配给测试器站以同样实现在全部用户站上的独立性。可利用本领域中已知的技术或者任何其他合适的技术来作出这些分配。无论这些资源分配如何作出,独立资源可被分配给每个子流程范例,而不管所指定流程的并行度。
在一些实施例中,分配给流程域专用站区的资源也可在功能上独立于分配给全局站区的资源。可使用任何合适的机制来实现这种独立性。例如,资源可首先分配给全局站区,并且随后可以在将资源分配到流程域专用站区的过程中不予以考虑。作为另外一种选择,可将流程域专用站区和全局站区一起来考虑以对所有这些站区作出独立资源分配。
一旦对站区作出了资源分配,就可随后将资源分配到已分配给这些站区的测试器站。可将识别正确分配的信息传送到测试系统。例如,配置命令144显示被传送到控制部件110的资源分配。尽管图1通过显示将单个资源分配到单个测试器站来示意性地示出这种传送,但应当理解,可以与典型的测试程序有关地传送更多信息。例如,可为多个资源中的每一个传送分配。此外,可将每个资源分配到不止一个测试器站。此外,如果子流程中的不同测试块的资源需求为不同的,则在一些实施例中,资源分配可包括指示资源分配所达到的子流程部分的信息。
应当理解,图1示意性地示出了提供到测试系统内的控制部件的配置命令。然而,配置命令可用任何合适的格式来提供并且可包括取代图1所示的特定配置命令或除此之外的信息。此外,应当认识到,对于包括能够生成或测量数百个或可能数千个引脚处的多种测试信号的多个资源的测试系统而言,提供到控制部件的配置信息可反映出对于全部此类元件的配置。
虽然描述为用单个工具生成配置信息,但应当认识到,被描述为由单个工具执行的功能可由多个工具来执行。在其中根据本发明的一些实施例来准备测试程序以用于在常规执行归属于工具的功能的测试系统上执行的实施例中,这些功能可由常规包括在测试系统中的工具来执行。作为一个例子,可使用已知的工具来为信号传递接口产生特定的配置命令,以将资源连接到位于用户站的引脚。此外,在一些实施例中,可在无需计算机化工具辅助的情况下由人类用户来指定一些或全部配置信息。
无论生成哪种配置信息或者以何种方式生成此配置信息,控制部件均可用此信息来控制测试系统内的部件,以在适当的时间利用适当的资源来执行子流程范例中的测试块。在准备执行测试程序的过程中,控制部件可使用此配置信息以将资源映射到引脚。可通过配置测试系统的信号传递接口部分内的开关元件或者以任何其他方式来实现这种映射。还可(例如)通过写入寄存器(例如,124A…124N(图1))来使资源与测试器站相关联。
无论测试系统以何方式进行配置,其一旦被配置用于具有可包括多个子流程的特定流程的测试计划,测试就可开始。尽管未明确示于图7中,但此测试可包括设置部分,所述设置部分可(例如)通过执行类似于设置测试块320(图3D)的测试块来实现。其后,测试可在并行子流程中执行。在图7的例子中,示出了三个子流程。可针对其中存在将被测试的半导体器件的每个用户站来执行每个子流程的范例。尽管子流程的并行测试可以在甚至仅单个用户站被使用时执行而使得每次仅测试单个半导体器件,但图7示出了三个用户站的并行测试。因此,子流程A包括子流程范例720A1、720A2、和720A3。子流程B同样用三个子流程范例来执行:720B1、720B2、和720B3。子流程C同样用三个子流程范例来执行:720C1、720C2、和720C3
可根据用于每个子流程的同一测试块来执行每个子流程中的处理。例如,可通过以相同顺序执行同一测试块来驱动每个子流程范例720A1、720A2、和720A3中的处理。然而,与在每个子流程范例中测试的不同器件相关联的条件可导致在每个子流程范例中以不同方式执行的子流程的条件部分。此处,通过使用“报警”来实现条件处理。
可利用本领域中已知的技术来在测试系统内实施报警。例如,可通过测试系统内的硬件部件来实施报警。所述部件可在测试程序的执行期间过程中检测条件,并且呈现发出该条件被检测到的信号的状态。在一些实施例中,每个报警可在因条件检测而被触发时锁存。检测到的条件可与超过或低于预设电平的电压或电流程相关联。每个报警检测的具体条件对于本发明并非至关重要,并且在一些实施例中,可针对报警来编程设计条件。
在常规测试系统中,报警与测试器站相关联。在常规测试系统中,这种能力使条件与在不同用户站被并行测试的器件相关联。此处,基于整个站区中的测试器站分配,报警变为与某个流程域相关联,以使得可在流程域内执行条件操作且不影响其他流程域,即使流程域正在对同一半导体器件执行测试块。
图7提供了与流程A有关的这种条件处理的例子。图7示出了可发生在子流程范例(例如,子流程范例720A1)内的处理顺序。在此例中,处理可开始于块730处。在块730处,可清除与特定子流程范例相关联的报警。如上所述,可将不同的测试器站分配给资源以使特定资源与子流程范例相关联。这样,可将影响资源操作的寻址命令指向基于正被执行的总测试程序的特定子流程范例的资源。这样,将命令发送到资源可导致这些资源执行与被测试的特定半导体器件的特定核的测试唯一相关联的动作。例如,作为子流程范例720A1的一部分的块730的执行,可清除与正被测试的特定半导体器件中的特定核的测试相关联的报警。
类似的命令可在其他子流程范例(例如,子流程范例720A2、和720A3)中执行。然而,在其他子流程范例中,可将命令编址到不同的测试器站,由此使得专用于测试其他半导体器件中的核的测试系统的动作将测试系统联接于其他用户站。在此例中,同一子流程中的每个子流程范例测试正被并行测试的不同用户器件中的同一类型的核。因此,可在同一子流程的每个子流程范例中采用相同的处理步骤,即使该子流程与不同的被测试半导体器件相关联。
在此例中,在块730上执行的命令将报警清除。在此例中,由于报警保持指示条件检测的输出状态直至报警被清除,因此可在将报警用作测试的一部分之前在块730处清除报警。
在图7所示的实施例中,报警与可被分配到特定测试器站的部件相关联。因此,在块730处清除报警可能牵涉到清除与已被分配给如下测试器站中的一个或多个的部件相关联的报警,所述测试器站被分配用于对正在子流程范例720A1中测试的一个或多个特定核执行测试。由于测试器站被分配用于实现流程域专用站区,则在块730处清除的报警与未用于测试子流程A的其他范例或任何其他子流程的测试器站相关联。这样,在块730清除报警可不作用于将在不同子流程的其他子流程范例中执行的测试。由于这些其他子流程范例可与测试同一半导体器件上的其他核相关联,则在块730处清除报警无需作用于子流程B或C中的同一器件上的其他核的测试(除非这些其他子流程中的测试程序被专门编写成使用或依赖于子流程A或子流程范例720A1中的报警)。
一旦适当的报警被清除,子流程范例720A1内的处理就可因此进到块732。在块732处,被分配用于子流程范例720A1中的流程域专用处理的一个或多个测试器站中的资源可以被启动。所启动的具体资源可取决于正在子流程范例720A1中执行的测试块以及将被生成或测量的测试信号的类型。在块732处生成和/或测量的具体信号对于本发明并非至关重要,并且启动操作可能牵涉到启动资源以执行半导体器件测试领域中已知的测试功能。
无论启动的具体资源以及在块732处生成和/或测量的信号的特性如何,处理均可前进到块734以确定在块732处执行的这些测试功能是否已触发与子流程范例720A1相关联的任何报警。在判定块734处,处理可根据这些测试功能是否已启动任何报警而形成分支。可用任何合适的方式来执行块734处的处理,所述方式包括读取在块730处清除的报警以确定在块732处执行的测试功能是否已触发任何报警。
如上文结合块730所述,在块734处检查的报警可通过与子流程范例720A1唯一相关联的部件来实现。子流程范例720A1可又与用户器件上的特定核的测试相关联。因此可独立于其他子流程(例如,子流程B和C)中的任何一者的动作来设定报警,在所述其他子流程中可测试同一半导体器件上的其他核。因此,如果在处理734处检测到报警,则处理可分支到块740。
在块740处,可获得核专用报警响应。在这种情况下,报警响应可专用于通过执行子流程A中的测试块来测试的核。例如,在测试一些核期间,过电压条件可指示显著问题,因所述显著问题产生的适当响应可中断此核的测试。对于其他核而言,指示过电压条件的报警可指示不可取的、但非损害性的瞬态条件。此类报警的适当响应可继续在较低速度下进行测试,以确定瞬态过电压条件是否可通过操作不同条件下的核而得以消除。因此,当子流程范例720A1内的处理从判定块734分支到740(因检测到与被分配用于子流程范例720A1内的测试的测试器站相关联的报警)时,报警指示与正在子流程范例720A1内执行的测试块所测试的核相关联的条件。因此,通过在块740处执行编程为此测试块的一部分的报警响应,针对此报警的响应专用于此已编写测试块所针对的核。
测试块的开发者可利用这种能力来编写测试块中的报警处理代码,如同测试块将在不存在并行执行的任何其他测试块的测试系统上来执行一样。如果报警出现在此测试块的执行期间,则将在块740处来执行报警处理代码。即使此测试块与其他测试块(测试同一半导体器件上的其他核)并行执行,因执行其他测试块产生的报警在块740处也将不会导致如下报警处理代码的执行,所述报警处理代码已被特别编写成用于作为测试核A的一部分来处理被检测的报警。由于报警条件的这种独立性,所编写的测试块(甚至是假定该测试块将串行执行并且不存在并行执行的其他测试块的情况)可作为并行流程的一部分来执行且无需专门编写用于核A的并行执行的测试块。由于这种能力,测试系统的用户可以独立于其中测试块能够被结合到并行流程程内的方式开发用于核的测试块。然而,测试块的所需操作将在其相关联的核上执行。
尽管未明确示于图7中,但可在流程B和流程C中执行类似的条件处理。因此,可在子流程720B1、720B2、720B3、720C1、720C2、和720C3中的每一个内执行条件处理。
条件处理可呈任何合适的形式并且在每个子流程中可以不同。在此例中,当块740处执行专用于核A的报警响应之后,子流程范例720A1内的处理被示为结束。然而,处理并非必须随着报警条件被检测到而结束。在某些情况下,报警响应可包括记录数据、改变测试条件或采取其他动作、并且随后继续执行子流程范例720A1内的测试。
反之,如果在判定块734处未检测到报警,则处理可前进到判定块750。如果得知仍存在较多的测试,则子流程范例720A1内的处理可从判定块750返回。可重复清除报警、执行测试功能、随后检查报警并且基于是否检测到报警来采取条件动作的过程,直至对于将在子流程范例720A1内测试的核的测试而言不存在任何未完成的测试功能。
当测试完成时,流程可结束。然而,可在执行与核相关联的测试块之后采取任何合适的步骤。例如,与将在同一子流程中测试的另一核相关联的测试块可开始执行。作为另外一种选择或除此之外,在完成子流程范例内的测试时,可启动涉及多个核之间的相互作用的功能测试。作为未明确示于图7中的可能变型的另一个例子,在完成联接于测试系统的每个用户站的半导体器件的测试时,用户站的半导体器件可由可随后进行测试的其他半导体器件来替换。因此,对于多个用户器件可重复地执行图7所示的用于流程A的处理。
图7示出了其中可关于半导体器件上的核并基于此核测试期间检测到的报警条件来执行操作的情况。在某些情况下,使特定核的报警条件与关于这些核的测试被指定采取的动作相关联可有助于识别错误或使半导体器件的操作降级的其他缺陷。在某些情况下,在一个核的测试中基于在正被测试的不同半导体器件上的另一个同一类型的核中检测到的条件来条件动作可有利于错误或其他降级操作条件的检测。在其他情况下,在一个核的测试中基于在同一半导体器件上的另一个核中检测到的条件来条件动作可有利于错误或其他降级操作条件的检测。本文所述的处理可支持基于其他半导体器件上的同一类型的其他核中的条件或者基于不同半导体器件上的不同类型的其他核中的条件的条件处理。
图8提供了可基于如下事件来调节关于一个核的测试的机制的例子,所述事件是结合在同一半导体器件上的另一个不同类型的核中执行测试块来检测的。可大致按照如上文结合图7所述的方式来执行图8所示的测试。例如,在块710处,测试系统可被配置成将至少一个测试器站映射到有待测试的每个核。每个核可通过在已被分配测试器站的子流程范例中执行(与此核相关联的)测试块来测试。
如同图7所示的测试,图8示出了并行执行的三个核(核A、B、和C)上的测试。每个核的测试在单独流程域范例中来执行。此外,针对正被并行测试的每个半导体器件提供单独流程域范例。在此例中,将半导体器件连接到三个用户站,以使得每个子流程存在三个子流程范例。因此,子流程范例820A1、820A2、和820A3执行与核A相关联的测试块的单独范例。子流程范例820B1、820B2、和820B3执行用于测试核B的测试块的单独范例。同样,子流程范例820C1、820C2、和820C3表示其中执行用于测试核C的测试块的不同子流程范例。
可在每个子流程中执行任何具体的测试操作。在此例中,示出了用于测试核A的子流程的具体步骤。在此例中,用于测试核A的测试块中的处理开始于块830处。在块830处,可启动被分配用于测试核A的一个或多个测试器站中的资源。可用任何合适的方式来启动这些资源,以执行任何合适的测试功能。在块830处执行的具体测试功能可取决于正被测试的核的特性,并且可利用本领域中已知的技术或者任何其他合适的方式来限定。
无论在块830处执行的具体测试功能如何,处理均可前进到块832。在块832处,可检查可在正被并行测试的一个或多个核中的任何一个的测试过程中发生的报警。可用任何合适的方式来执行这种检查。例如,可通过读取与被分配用于测试另一个核的测试器站相关联的报警来执行这种检查。可基于作为在块710处执行的测试系统配置的一部分指定的测试器站信息来执行这种检查。作为另外一种选择或除此之外,在块832处执行的检查可检查任何其他测试器站中的报警。可通过检查作为在块710处执行的映射的一部分映射的全部测试器站中的报警来执行这种检查。然而,在支持包括全部资源的系统站区的系统中,可通过检查与系统站区相关联的报警来执行任何站点中的报警检查。在块832处将被检查报警的具体测试器站可取决于在流程域范例820A1中执行的测试的特性。
无论在块832处检查的测试器站如何,处理可前进到判定块834。在判定块834处,处理可根据是否检测到报警而形成分支。如果检测到报警,则处理可分支到块840。在块840处,可执行对所检测报警的响应。此响应可以为子流程A中被测试的核所特有。此响应(例如)可在正作为流程域范例820A1的一部分执行的测试块中被编码。然而,甚至当在执行于流程域范例820A1中的测试块中对此响应编码时,该测试块可被编码以采取特定于生成了报警的测试块的动作。例如,当在子流程B中检测到报警条件时,可基于在子流程B中测试的核B的结构或功能来选择执行于块840中的功能。
在块840处,可随着报警条件被检测而执行任何合适的处理。作为一个例子,如果在测试包括存储器元件的核的过程中,代表瞬态电压或其他条件的报警可潜在地破坏保存在存储器中的信息,则块840处的处理可取决于如下假设:保存在存储器元件中的数据可出于与核A中的缺陷无关的原因而已被改变。根据此判定(例如)可用所需的数据重新初始化存储器元件或者可采取任何其他适当的动作。在此例中,一旦采取此动作,子流程A中的处理就可结束。然而,在完成这种处理之后,可采取任何合适的步骤。
反之,图8示出如果未检测到报警,则处理可从判定块834分支到判定块850。处理同样可在判定块850处根据在子流程内是否仍存在有待执行的更多测试功能来形成分支。如果存在,则处理可返回并进一步执行其他测试功能。如果不存在其他测试功能,则子流程范例820A1内的处理可结束。尽管处理被示为在子流程执行后结束,如上文结合图7所述,但在执行每个测试流程中的测试块之后可采取任何合适的动作。可执行的动作的例子包括执行功能测试或测试另一组半导体器件。
在图8所示的例子中,在子流程A中未清除在块832检查到的报警。在某些情况下,报警可在用于使用它们的子流程之前被清除。然而,当开发牵涉到可被并行执行的测试块之间的相互作用的测试程序时,这些测试块的开发者可对测试块编码以按照任何合适的方式来相互作用。因此,可在读取报警的测试块中和/或与报警相关联的测试块中清除报警。
图9示出了可通过如下站区分配测试器站来实现的灵活性的另一个例子,其中所述站区的第一部分为流程域专用的并且所述站区的第二部分可能在流程域或流程域范例中共享。图9示出了具有两个子流程的测试程序。测试程序被示为执行在如下测试系统上,所述测试系统被配置成并行地测试两个半导体器件。因此,每个子流程可在两个范例中来执行,每个范例与测试这两个半导体器件之一相关联。在示出的例子中,第一子流程可被配置成执行能够测试核A的测试块。第二子流程可被配置成执行用于测试核B的测试块。
在示出的情况中,测试程序正在如下测试系统上来执行,所述测试系统具有足够的资源以将资源分配给其中执行测试块B的两个子流程范例。然而,该系统可能资源有限,使得该系统包括仅足以用于测试块A的某部分的一个范例的资源。
如图所示,子流程范例910B1和子流程范例910B2以并行方式执行。在子流程范例910B1中的块912B处启动资源牵涉到访问被分配给与子流程范例910B1相关联的测试器站的资源。在子流程范例910B2中执行的相应块可执行与子流程范例910B1中相同的测试块来测试核B。因此,可在子流程范例910B2中执行对应于块912B中所示功能的功能。然而,当在子流程范例910B2执行这些功能时,可使用分配给不同测试器站的独立资源来使子流程范例能够被并行地执行。
相似地,可通过使用不同的测试器站来分配独立资源,以允许在子流程A的范例中来访问独立资源。然而,在图9所示的情况中,子流程范例的并行执行在子流程范例的仅一些部分中可以。因此图9示出,子流程A的子流程范例的一些部分被并行地执行,而使用有限资源的其他部分可被串行地执行。
在图9的例子中,子流程范例部分910A1和910A2被并行地执行。同样,子流程部分930A1和930A2也被并行地执行。然而,子流程部分920A1和920A2被串行地执行。
对于并行执行的子流程部分,将得自流程域专用站区的独立资源用于每个子流程范例中。通过使独立资源与不同的测试器站相关联来实现这种独立性。因此,子流程范例部分910A1内的块912A处的处理可能牵涉到访问被分配到与子流程范例910A1相关联的站点的资源。子流程范例部分910A2中的相应块可能牵涉到访问被分配到与子流程范例910A2相关联的站点的资源。相似地,在子流程范例部分930A1中,块932的执行可类似地牵涉到访问被分配到与子流程A的第一子流程范例相关联的测试器站的资源。在子流程范例部分930A2中执行的相应块可能牵涉到访问被分配到与子流程A的第二子流程范例相关联的站点的资源。因此,对于这些子流程范例,资源可以如子流程B中那样被访问,其中全部范例被并行地执行。
在子流程A中,子流程范例的部分依赖于受限的资源,使得不存在足够的特定类型的资源以用于子流程A的子流程范例的这些部分的并行执行。然而,可通过串行地执行这些部分来将相同的资源用于子流程范例部分920A1和子流程范例部分920A2中。在此例中,在子流程范例920A1中,执行启动这些有限资源的块922A2。在子流程范例920A1的块922A中,这些受限的资源可用于测试其上被执行子流程A的第一子流程范例的半导体器件。
在子流程范例部分920A2中,相同的有限资源可用于在第二半导体器件的相应部分上执行测试,在所述第二半导体器件中子流程A的第二范例在核A上执行测试。可使用任何合适的机制来访问不同子流程范例部分中的相同资源。例如,可将有限资源分配给多个测试器站。这种分配可源于将有限资源分配给全局站区或者访问作为系统站区的一部分的资源。然而,可使用任何合适的机制在不同流程域范例中访问相同的资源。这样,可将有限资源分配给用于子流程A的每个范例的测试器站。
无论以何方式来指定有限资源以使得它们可由同一子流程的多个范例访问,可提供机制来控制测试系统串行地而非并行地执行子流程范例的一些部分。这种机制可包括由对测试系统编程的用户提供命令或者从任何其他合适源取得命令,这些命令为不同范例指定将被串行执行的测试块的一些部分。这种命令可以规定,在每个串行执行的范例中一些或全部资源为相同。此类命令可结合到测试块自身中或者可被规定为使用测试块的测试程序的一部分。
指定作为使测试程序的一部分串行化的机制的具体例子,已知的是结合其中测试器站与用户站相关联以允许并行测试多个半导体器件的测试系统来规定站点环路。站点环路可以指定测试块的一部分用于串行执行。当测试系统的控制部件(例如,控制部件110(图1))接收到与测试程序有关的站点环路的指定时,可以首先配置测试系统的资源以用于执行第一范例中的测试块的指定部分,对于所述指定部分而言测试系统被配置成在第一用户站来执行。当在第一用户站执行测试块的此部分时,控制部件可配置测试系统以用于在下一用户站执行测试块的相同部分。控制部件可以此方式来连续地配置测试系统,以在半导体器件正被并行测试的每个用户站中执行测试块的此部分。可将相同的资源应用到站点环路的每次连续迭代中。
可利用已知技术实现的站点环路机制可在按照图9所示的方式配置的测试系统中进行调整。通过调整站点环路机制,可容易地共享有限资源以测试核的不同范例。因此,测试工程师或测试系统的其他用户可易于对测试系统编程,以用于共享资源,由此仅通过指定测试块(被编写成测试特定核)的一部分来测试某个核的不同范例,如同在站点环路中执行一样。相比于用于在同一测试块的范例之间共享有限资源所需的编程而言,以此方式来对测试系统编程可为简单的。此外,如果在具有多个资源的测试系统执行同一测试程序,则站点环路的指定可被移除或者禁止使用,由此允许每个测试块范例的所有部分均并行地执行。这样,可容易地调整测试程序,以用于在具有有限资源的测试系统上执行或者用于在资源不受限的测试系统上较快速地执行。
站区上的成环操作允许结合测试同一半导体器件上的不同类型的核来串行使用资源。在图9的例子中,环可以形成在流程A和流程B而不是形成在流程A内的子流程范例上。这样,在环的第一迭代中,可应用有限资源以测试正被并行执行的每个半导体器件中的核A。在此迭代中,可执行被编写成测试核A的测试块中的全部或一部分。在后一迭代中,可执行被编写成测试核B的测试块中的全部或一部分。由于这种执行因站点环路的使用而被串行化,因此在站点环路内执行的测试块的一些部分可共享资源或者说是可访问并非完全独立的资源。
尽管未示于图9中,但可以使用具体实施中的其他变型或者使用站点环路。例如,应当理解,站点环路可为嵌套的。例如,整个子流程上以及一个或多个子流程内的整个子流程范例上的资源访问可为串行执行的。因此,应当理解,利用本文所述的测试系统编程技术可以简易地提供显著灵活性。
图10示出了可执行上述技术的合适的计算系统环境1000的例子。图10的计算系统可表示测试系统计算机,所述测试系统计算机连接到测试系统并且可用于在执行测试时来控制测试系统。然而,应当理解,可在任何合适的计算系统来执行导致将测试器站分配给流程域范例以及将测试器资源分配给这些测试器站的计算。
因此,环境1000可表示其中执行本文所述的工具的环境。作为另外一种选择或除此之外,环境1000可用于部分地或完全地实现测试系统的控制部件。计算系统环境1000仅为合适的计算环境的一个例子,并且并非旨在对于本发明的使用范围或功能提出任何限制。计算环境1000也不应被理解为对于示例性操作环境1000中所示的任何部件或部件组合有任何依赖或需求。
本发明可以使用多种其他通用或专用计算系统环境或配置。可适用于本发明的熟知计算系统、环境、和/或配置的例子包括(但不限于)个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子产品、网络个人计算机、小型计算机、大型计算机、包括任何上述系统或装置的分布式计算环境,等等。
所述计算环境可执行计算机可执行指令,例如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可在分布式计算环境中实施,在所述分布式计算环境中,通过经由通信网络连接的远程操作装置来执行任务。在分布式计算环境中,程序模块可位于本地和远程计算机存储介质(包括存储设备)中。
参照图10,用于实施本发明的示例性系统包括计算机1010形式的通用计算装置。计算机1010的部件可包括(但不限于)处理单元1020、系统存储器1030、和系统总线1021,所述系统总线1021将包括系统存储器的各种系统部件连接到处理单元1020。系统总线1021可为若干类型的总线结构中的任何一种,所述总线结构包括采用多种总线体系结构中的任何一种的存储器总线或存储器控制器、外围总线、和局部总线。以举例和非限制性的方式,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机1010通常包括多种计算机可读介质。计算机可读介质可为能够被计算机1010访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。以举例和非限制性的方式,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块、或其他数据)的任何方法或技术实现的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括(但不限于)RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多功能光盘(DVD)或其他光盘存储器、盒式磁带、磁带、磁盘存储器、或其他磁存储设备、或者可用于存储所需信息并且可被计算机1010存取的任何其他介质。通信介质通常将计算机可读指令、数据结构、程序模块、或其他数据收录在调制数据信号(例如,载波)或其他传输机制中,并且包括任何信息输送介质。术语“调制数据信号”是指这样的信号,所述信号具有其特征集的一个或多个并且已被改变成使得便于对所述信号中的信息进行编码。以举例和非限制性的方式,通信介质包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频、红外、和其他无线介质)。上述介质中的任何一者的组合也应涵盖在计算机可读介质的范围内。
系统存储器1030包括易失性和/或非易失性存储器(例如只读存储器(ROM)1031和随机存取存储器(RAM)1032)形式的计算机存储介质。基本输入/输出系统1033(BIOS)通常存储在ROM1031中,所述基本输入/输出系统1033(BIOS)包括有助于(例如)在启动期间在计算机1010的部件之间传送信息的基本例程。RAM1032通常包括可被处理单元1020直接存取和/或当前被处理单元1020操作的数据和/或程序模块。以举例和非限制性的方式,图10示出了操作系统1034、应用程序1035、其他程序模块1036、和程序数据1037。
计算机1010还可包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅以举例的方式,图10示出了读取或写入不可移动、非易失性磁介质的硬盘驱动器1041,读取或写入可移动、非易失性磁盘1052的磁盘驱动器1051,和读取或写入可移动、非易失性光盘1056(例如,CD ROM或其他光学介质)的光盘驱动器1055。可用于示例性操作环境中的其他可移动/不可移动、易失性/非易失性计算机存储介质包括(但不限于)盒式磁带、闪速存储卡、数字多功能光盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器1041通常通过不可移动存储器接口(例如,接口1040)连接到系统总线1021,并且磁盘驱动器1051和光盘驱动器1055通常通过可移动存储器接口(例如,接口1050)连接到系统总线1021。
论述于上文中并且示于图10中的驱动器及其相关联的计算机存储介质能够存储计算机可读指令、数据结构、程序模块、和用于计算机1010的其他数据。在图10中,例如,硬盘驱动器1041被示为存储操作系统1044、应用程序1045、其他程序模块1046、和程序数据1047。应该指出的是,这些部件可与操作系统1034、应用程序1035、其他程序模块1036、和程序数据1037相同或不同。操作系统1044、应用程序1045、其他程序模块1046、和程序数据1047在此处以不同的标号给出,从而示出它们至少为不同的拷贝。用户可通过输入装置(例如,键盘1062和定点装置1061(通常称为鼠标、跟踪球、或触摸板))来将命令和信息输入到计算机1010内。其他输入装置(未示出)可包括话筒、控制杆、游戏手柄、卫星碟形天线、扫描仪等等。这些和其他输入装置通常通过联接于系统总线的用户输入接口1060来连接到处理单元1020,但可通过其他接口和总线结构(例如,并行端口、游戏端口、或通用串行总线(USB))进行连接。另外监视器1091和其他类型的显示装置经由接口(例如,视频接口1090)连接到系统总线1021。除了监视器之外,计算机还可包括可通过外围输出接口1095进行连接的其他外围输出装置,例如,扬声器1097和打印机1096。
计算机1010可利用接至一个或多个远程计算机(例如,远程计算机1080)的逻辑连接在网络环境中工作。远程计算机1080可为个人计算机、服务器、路由器、网络个人计算机、对等设备或其他公用网络节点,并且通常包括上文相对于计算机1010描述的部件中的一些或全部,但仅存储设备1081已示于图10中。示于图10中的逻辑连接包括局域网(LAN)1071和广域网(WAN)1073,但还可包括其他网络。此类网络环境常见于办公室、企业计算机网络、内联网、和互联网中。
当用于LAN网络环境中时,计算机1010通过网络接口或适配器1070连接到LAN1071。当用于WAN网络环境中时,计算机1010通常包括调制解调器1072或用于经由WAN1073(例如,互联网)建立通信的其他装置。调制解调器1072(其可为内部的或外部的)可经由用户输入接口1060或其他适当的机构连接到系统总线1021。在网络环境中,相对于计算机1010或其部分示出的程序模块可存储在远程存储设备中。以举例和非限制性的方式,图10示出了存在于存储设备1081上的远程应用程序1085。应当理解,示出的网络连接为示例性的,并且可使用在计算机之间建立通信联接的其他方式。
应当理解,上文所述的系统可用于测试半导体器件的方法中。这种测试可包括操作测试系统以测试具有多个核的器件,其中每个核具有多个引脚,并且测试系统具有多个测试器站,每个测试器站具有硬件资源,通过将所述多个测试器站中的每一个映射到所述多个核中的相关核来配置测试系统,使得每个测试器站的硬件资源被配置成可接入相关核的引脚;以及执行具有多个测试块的测试流程,其中每个测试块通过控制相关测试器站中的硬件资源来测试所述多个核中的核,所述测试块中的一些被并行地执行。然而,此类操作可包括不同的或另外的动作,如本文所述。
以上描述本发明的至少一个实施例的多个方面,应当理解本领域的技术人员可易于进行各种改变、修改和改进。
此类改变、修改和改进旨在作为本公开的一部分,并且被视为落入本发明的精神和范围内。此外,尽管指示出本发明的优点,但应当理解,并非本发明的每个实施例均将包括每个所述优点。一些实施例可未执行在本文中和在一些情况下有利的任何所述特征。因此,上述的说明和附图仅作为举例的方式。
如上所述的限定流程域的能力可按照多种方式加以利用。例如,可将从不被并行执行的多个流程域分配给同一站区。之所以作出这样的分配,是因为就从不被并行执行的流程域而言不需要由多个站区提供的独立性。这种方法可减少支持性测试器站的所需数量。
可通过多个方式中的任一种实施本发明的上述实施例。例如,可使用硬件、软件或它们的组合来实施这些实施例。当通过软件实施时,该软件编码可在任何合适的处理器或处理器集合上执行,不论其是在单个计算机中提供还是分布在多个计算机中。此类处理器可作为集成电路实施,并且在集成电路组件中具有一个或多个处理器。然而,可使用任何合适形式的电路来实现处理器。
另外,应当理解计算机可实施为多种形式中的任一种,例如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可嵌入通常未被视为计算机但具有合适的处理功能的装置,包括个人数字助理(PDA)、智能电话或任何其他合适的便携式或固定电子装置。
另外,计算机可具有一个或多个输入和输出装置。此外,这些装置可用于提供用户界面。可用于提供用户界面的输出装置的范例包括用于视觉呈现输出的打印机或显示屏幕以及用于听觉呈现输出的扬声器或其他发声装置。可用于用户界面的输入装置的范例包括键盘和诸如鼠标、触控式面板和数字面板的指向装置。又如,计算机可通过语音识别或以其他听觉形式接收输入信息。
此类计算机可用任何合适的形式通过一个或多个网络互连,包括局域网或广域网,诸如企业网络或互联网。此类网络可基于任何合适的技术且可根据任何合适的协议运行,并且可包括无线网络、有线网络或光纤网络。
另外,本文所概述的多种方法或过程可被编码为可在一个或多个处理器上执行的软件,该处理器采用多种操作系统或平台中的任一种。另外,此类软件可使用多种合适的编程语言和/或编程或脚本工具编写,也可编译为可执行的机器语言编码或在框架或虚拟机上执行的中间编码。
在这个方面,本发明可实施为由一个或多个程序编码的计算机可读存储介质(或多个计算机可读介质)(如,计算机存储器、一个或多个软盘,光盘(CD)、光碟、数字视频光盘(DVD)、磁带、快闪存储器、现场可编程门阵列或其他半导体器件中的电路配置、或其他有形的计算机存储介质),所述一个或多个程序当在一个或多个计算机或其他处理器上执行时来执行实施本发明上述多种实施例的方法。从上述实例显而易见的是,计算机可读存储介质可将信息保持足够的时间,以提供非瞬时形式的计算机可执行指令。这种计算机可读存储介质可为可转移的,使得存储在其上的一个或多个程序能够被加载到一个或多个不同计算机或其他处理器上以实施本发明上述的多个方面。如本文所用,术语“计算机可读存储介质”仅涵盖可被视为产品(即,制品)或机器的计算机可读介质。作为另外一种选择或除此之外,本发明可实施为除计算机可读存储介质之外的计算机可读介质,例如,传播信号。
本文所用的术语“程序”或“软件”在广义上指任何类型的计算机编码或者可用于对计算机或其他处理器进行编程以实施本发明上述多个方面的一组计算机可执行指令。另外,应当理解,根据本实施例的一个方面,当被执行时,实施本发明的方法的一个或多个计算机程序不需驻留在单个计算机或处理器上,但是可以模块化形式分布在多个不同的计算机或处理器中以实施本发明的多个方面。
计算机可执行指令可以为由一个或多个计算机或其他装置执行的多种形式,例如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可按需要结合或分布在多个实施例中。
另外,数据结构可用任何合适的形式存储在计算机可读介质中。为了例示简明起见,数据结构可示为具有通过数据结构中的位置而相关联的字段。同样可通过将计算机可读介质中表示字段之间关系的位置分配给字段作为存储来实现此类关系。然而,任何合适的机制均可用于在数据结构的字段中的信息之间建立关联性,包括通过使用在数据元素之间建立关系的指针、标签或其他机制。
可单独地、结合地或以在上述实施例中未特别讨论的各种配置方式使用本发明的多种方面,因此其应用不受限于上述说明所述或附图中所示的组件的细节和配置。例如,在一个实施例中所述的方面可用任何方式与其他实施例中所述的方面结合。
另外,本发明可实施为一种方法,并且已提供其示例。作为该方法一部分的操作可用任何合适的方式进行排序。因此,可构建以不同于所示的顺序执行操作的实施例,其可包括同时执行一些操作,即使在示例性实施例中示为顺序执行的操作。
在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语修饰权利要求要件,其本身并不意味任何优先权、优先序或一个权利要求部件相对于另一个的顺序或执行方法操作的时间顺序,而是仅用作将具有某个名称的一个权利要求要件与另一个具有相同名称(除了使用的序数术语)的部件加以区分的标签,以辨别权利要求要件。
另外,本文所用的短语和术语均是用于说明的目的,并且不应视为限制。本文中所使用的“包括”、“包含”或“具有”、“内含”、“涉及”和它们的变型形式均意味着包含其后所列的项目及其等同物以及额外的项目。

Claims (31)

1.一种操作一种类型的测试系统的方法,所述类型的测试系统具有能够与多个测试器站中的至少一个测试器站相关联的资源,每个测试器站具有站识别符,以使得与测试器站相关联的所述测试系统的硬件资源处理指向所述测试器站的命令,所述方法包括:
配置所述测试系统以测试至少一个包括多个引脚和多个核的器件,每个核包括所述多个引脚的子组,所述配置操作包括:对于所述多个核中的每一个而言,使所述多个测试器站中的某个测试器站与所述核相关联,以使得与所述测试器站相关联的资源在测试过程中接入所述核的相应引脚;以及
根据测试流程来执行多个测试块,所述测试块中的每一个被配置成测试相应的至少一个相关核,所述多个测试块的一部分在多个子流程中被并行执行,所述多个测试块中的每一个控制与所述相应的至少一个相关核相关联的测试器站中的资源的操作。
2.根据权利要求1所述的方法,还包括:
接收定义引脚分组的流程域的用户输入,每个流程域包括能够被测试器站接入的核的所述引脚;
将测试器站分配到所述流程域。
3.根据权利要求1所述的方法,还包括:
通过下述方式来生成用于配置所述测试系统的信息:
在计算装置处接收标识所述多个引脚的组的用户输入,每个组指示在所述多个核中的核的测试过程中被接入的引脚;以及
利用所述计算装置来确定所述多个测试器站中的测试器站对于所标识组的分配。
4.根据权利要求3所述的方法,其中:
在与所标识组相关联的所述测试器站之间不存在交叠。
5.根据权利要求3所述的方法,其中:
与所标识组中的不同组相关联的资源为彼此独立的。
6.根据权利要求3所述的方法,其中执行流程域专用处理。
7.根据权利要求6所述的方法,其中所述流程域专用处理包括站点环路和/或局部报警。
8.根据权利要求3所述的方法,其中:
在执行相关联测试块的子流程内接入所标识引脚组中的每一个;并且
执行所述多个测试块包括对于所述测试块中的每一个,在所述测试块的控制下接入用于相关联的子流程的所述组中的引脚。
9.根据权利要求8所述的方法,其中:
每个测试块接入仅一个流程域中的引脚。
10.根据权利要求8所述的方法,其中:
将至少一个核映射到多个测试器站。
11.根据权利要求3所述的方法,其中:
所标识组中的每一个包括流程域。
12.根据权利要求1所述的方法,其中:
所述方法还包括在第一时间接收指定用于并行执行的所述测试块的部分的用户输入;以及
在第二时间接收指定所述多个测试块的串行执行的用户输入;以及
响应于所述用户输入来串行地执行所述多个测试块。
13.根据权利要求1所述的方法,其中:
所述至少一个器件包括多个器件,所述器件中的每一个包括多个核,所述多个器件中的每一个上的所述多个核包括多个类型的核;并且
所述测试器站被划分到多个站区内,每个站区与一种类型的核相关联以使得所述站区内的每个测试器站与所述多个器件的一个器件上的所述类型的核相关联。
14.根据权利要求13所述的方法,还包括:
基于指定流程域和所述多个器件的数量的用户输入来自动地确定所述多个站区。
15.根据权利要求13所述的方法,还包括:
基于有关流程域和多个器件的用户输入来自动地确定测试器站与流程域之间的映射。
16.根据权利要求13所述的方法,其中:
根据所述测试流程来执行所述多个测试块包括在多个测试块范例中执行第一测试块,每个测试块范例测试所述多个器件中的器件的核,所述执行操作包括在所述多个测试块范例的每一个中独立地执行操作。
17.根据权利要求16所述的方法,其中:
相对于正被指定测试块测试的所述多个器件中的每个器件中的所述多个核中的每一个来独立地执行操作包括:对于所述多个器件的一个器件的核而言,基于所述器件内的多个核中的一个或多个上的测试结果来有条件地执行操作。
18.根据权利要求17所述的方法,其中:
基于所述器件内的多个核中的一个或多个上的测试结果来有条件地执行操作包括:基于所述器件内的第二核的并行测试结果来在器件的第一核上的测试执行期间采取条件动作。
19.根据权利要求13所述的方法,其中:
所述多个站区包括第一类型的站区,所述第一类型的站区中的每一个与用户指定流程域呈一对一关系相关联,所述用户指定流程域代表在子流程期间接入的多个引脚;并且
所述测试器站还被划分为至少一种另外类型的站区。
20.根据权利要求19所述的方法,其中:
所述至少一种另外类型的站区包括系统站区,所述系统站区具有与其相关联的可用于执行所述多个测试块的全部测试器资源。
21.根据权利要求19所述的方法,其中:
所述至少一种另外类型的站区包括全局站区,所述全局站区具有与其相关联的可用于执行下述多个测试块的测试器资源,所述多个测试块不与所述第一类型的任何站区相关联。
22.根据权利要求1所述的方法,其中:
指定多个引脚组,每个组对应于在所述多个子流程中的子流程的在测试过程中被接入的引脚;
所述测试系统包括硬件部件以独立地检测与所述多个引脚组中的每一个相关联的报警条件;
根据所述测试流程来执行所述多个测试块包括并行地执行关于所述多个引脚组中的第一组的第一子流程中的第一测试块以及关于所述多个引脚组中的第二组的第二子流程中的第二测试块,所述执行操作包括在所述第一子流程和所述第二子流程中的每一个内独立地执行操作;以及
独立地执行操作包括基于与所述第二组相关联的报警检测并且独立于与所述第一组相关联的报警检测来执行所述第二测试块。
23.根据权利要求1所述的方法,还包括:
在测试流程执行期间的第一时间配置所述测试系统以在第一流程域中使用第一资源;以及
在所述测试流程执行期间的第二时间配置所述测试系统以在第二流程域中使用所述第一资源。
24.根据权利要求1所述的方法,其中:
根据测试流程来执行多个测试块包括:
在第一时间,并行地执行所述多个测试块的第一部分;以及
在第二时间,串行地执行所述多个测试块的第二部分,以使得在所述测试块的第二部分的串行执行期间,每次执行单一测试块。
25.根据权利要求1所述的方法,其中:
所述多个核包括多个类型的核;并且
所述方法还包括将所述测试器站划分成组,所述组中的每一个被映射到所述多个类型的核中的一个类型。
26.根据权利要求1所述的方法,其中:
所述多个测试器站包括流程域专用资源、全局资源、和串行资源。
27.一种制造至少一个器件的方法,所述方法包括:
根据权利要求1所述的方法来执行所述至少一个器件的测试;以及
基于所述测试的结果来有条件地执行至少一个制造操作。
28.一种对测试系统编程以用于并行测试多个同样的器件的方法,每个器件具有多个核,所述多个核中的每一个具有多个测试点,并且所述测试系统可以用多个测试器站配置,所述方法包括:
利用至少一个处理器:
接收定义多个流程域的用户输入,所述流程域中的每一个由代表性器件的一组测试点定义,每个流程域包括在子流程中的测试块的执行期间接入的测试引脚;
接收将测试器资源映射到所述测试系统的通道的用户输入,所述通道被分配给所述多个流程域中的每一个内的测试点;以及
基于所述用户输入来生成测试器站到多个站区的划分,每个站区对应于流程域并且每个站区包括多个测试器站,每个测试器站被映射到关于所述多个器件之一的所述流程域的范例,所述站区的测试器站共同提供资源以用于在关于所述多个器件的所述流程域的范例上执行测试。
29.根据权利要求28所述的方法,还包括:
接收多个测试块的指定,每个测试块与某个流程域相关联;
基于所述相关流程域来使每个测试块与站区相关联;以及
对于每个测试块,配置所述测试系统以在关于所述多个器件的所述相关流程域范例的每个范例中执行所述测试块,所述测试系统被配置为利用所述相关联站区的测试器站来执行所述测试块。
30.根据权利要求28所述的方法,其中:
所述测试器站的划分还包括全局站区,所述全局站区允许接入不能通过所述多个站区中的每一个接入的一个或多个测试器资源。
31.根据权利要求30所述的方法,其中:
所述测试器站的划分还包括系统站区,所述系统站区允许接入能够通过所述多个站区中的每一个和所述全局站区接入的全部所述测试器资源。
CN201280052741.3A 2011-10-25 2012-10-05 用于控制测试块并行性的支持简化配置的测试系统 Active CN103890597B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/281,148 2011-10-25
US13/281,148 US10048304B2 (en) 2011-10-25 2011-10-25 Test system supporting simplified configuration for controlling test block concurrency
PCT/US2012/058971 WO2013062732A1 (en) 2011-10-25 2012-10-05 Test system supporting simplified configuration for controlling test block concurrency

Publications (2)

Publication Number Publication Date
CN103890597A CN103890597A (zh) 2014-06-25
CN103890597B true CN103890597B (zh) 2017-06-13

Family

ID=48136289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280052741.3A Active CN103890597B (zh) 2011-10-25 2012-10-05 用于控制测试块并行性的支持简化配置的测试系统

Country Status (7)

Country Link
US (1) US10048304B2 (zh)
JP (2) JP2015501428A (zh)
KR (1) KR101989431B1 (zh)
CN (1) CN103890597B (zh)
SG (1) SG11201400642RA (zh)
TW (1) TWI587420B (zh)
WO (1) WO2013062732A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10345418B2 (en) 2015-11-20 2019-07-09 Teradyne, Inc. Calibration device for automatic test equipment
CN108474578B (zh) * 2015-11-30 2020-09-11 耐克斯特拉克尔有限公司 电气和机械系统上进行自动调度和执行现场测试的系统和方法
US10353809B2 (en) * 2015-12-01 2019-07-16 Tata Consultancy Services Limited System and method for executing integration tests in multiuser environment
TWI597507B (zh) * 2016-05-03 2017-09-01 技嘉科技股份有限公司 測試裝置和測試方法
CN105807211A (zh) * 2016-05-11 2016-07-27 上海华虹宏力半导体制造有限公司 个性化值快速写入方法以及集成电路测试方法
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
EP3767349B1 (en) 2018-03-16 2024-09-25 Sumitomo Electric Industries, Ltd. Optical fiber and optical fiber grating
US10896106B2 (en) * 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
KR20200016680A (ko) * 2018-08-07 2020-02-17 삼성전자주식회사 피크 노이즈를 감소한 테스트 장치, 테스트 방법 및 테스트가 수행되는 반도체 장치
US11169203B1 (en) 2018-09-26 2021-11-09 Teradyne, Inc. Determining a configuration of a test system
US12013770B2 (en) * 2019-02-01 2024-06-18 Dell Products L.P. Smart selection of test scripts for commodity testing on manufacturing floor
US11067623B2 (en) * 2019-05-19 2021-07-20 Test Research, Inc. Test system and method of operating the same
US11442098B2 (en) 2019-06-20 2022-09-13 Teradyne, Inc. Generating a waveform based on digital pulses
US11221365B2 (en) 2020-03-11 2022-01-11 Teradyne, Inc. Calibrating an interface board
US11461222B2 (en) * 2020-04-16 2022-10-04 Teradyne, Inc. Determining the complexity of a test program
CN114252758A (zh) * 2021-12-03 2022-03-29 杭州至千哩科技有限公司 Ate测试通道资源配置方法、装置、设备及存储介质
CN115129308A (zh) * 2022-05-31 2022-09-30 济南浪潮数据技术有限公司 一种系统测试方法、装置、设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460068B1 (en) * 1998-05-01 2002-10-01 International Business Machines Corporation Fractal process scheduler for testing applications in a distributed processing system
US7181705B2 (en) * 2000-01-18 2007-02-20 Cadence Design Systems, Inc. Hierarchical test circuit structure for chips with multiple circuit blocks
US6314034B1 (en) 2000-04-14 2001-11-06 Advantest Corp. Application specific event based semiconductor memory test system
DE60001254T2 (de) * 2000-06-16 2003-07-10 Agilent Technologies, Inc. (N.D.Ges.D.Staates Delaware) Testgerät für integrierte Schaltungen mit Multiportprüffunktionalität
JP3606520B2 (ja) 2001-12-05 2005-01-05 沖電気工業株式会社 システムlsiのテストパターン作成方法,システムlsiのテストパターン作成装置,及びシステムlsiのテスト方法
US6842022B2 (en) 2002-09-20 2005-01-11 Agilent Technologies, Inc. System and method for heterogeneous multi-site testing
US7103814B2 (en) * 2002-10-25 2006-09-05 International Business Machines Corporation Testing logic and embedded memory in parallel
US20040225459A1 (en) * 2003-02-14 2004-11-11 Advantest Corporation Method and structure to develop a test program for semiconductor integrated circuits
US7010451B2 (en) * 2003-04-17 2006-03-07 Micron Technology, Inc. Dynamic creation and modification of wafer test maps during wafer testing
US7181663B2 (en) * 2004-03-01 2007-02-20 Verigy Pte, Ltd. Wireless no-touch testing of integrated circuits
US7039545B2 (en) * 2004-04-19 2006-05-02 Agilent Technologies, Inc. Apparatus, system and/or method for converting a serial test to a parallel test
US20050262396A1 (en) 2004-04-26 2005-11-24 Agilent Technologies, Inc Apparatus and method for automated test setup
US7487422B2 (en) * 2005-04-29 2009-02-03 Teradyne, Inc. Delayed processing of site-aware objects
JP4522352B2 (ja) * 2005-11-09 2010-08-11 シャープ株式会社 回路検査方法及び回路検査システム
US20090024324A1 (en) * 2007-07-20 2009-01-22 Clark Douglas W Method and System for GRR Testing
US7810001B2 (en) 2007-07-31 2010-10-05 Texas Instruments Incorporated Parallel test system
US8078424B2 (en) 2008-09-29 2011-12-13 Advantest Corporation Test apparatus
JP2010107230A (ja) 2008-10-28 2010-05-13 Advantest Corp 試験装置、プログラム、記憶媒体、および、試験方法
US20100241408A1 (en) 2009-03-20 2010-09-23 Boeing Company, A Corporation Of Delaware Method and system for testing compliance of a defined domain with a model
KR101239658B1 (ko) 2009-06-29 2013-03-11 가부시키가이샤 어드밴티스트 시험 장치
KR101742590B1 (ko) * 2010-05-05 2017-06-01 테라다인 인코퍼레이티드 반도체 장치들의 동시 시험을 위한 시스템
US8694276B2 (en) * 2011-01-20 2014-04-08 Texas Instruments Incorporated Built-in self-test methods, circuits and apparatus for concurrent test of RF modules with a dynamically configurable test structure

Also Published As

Publication number Publication date
KR20140091711A (ko) 2014-07-22
JP2018049018A (ja) 2018-03-29
SG11201400642RA (en) 2014-04-28
JP2015501428A (ja) 2015-01-15
WO2013062732A1 (en) 2013-05-02
TW201318089A (zh) 2013-05-01
TWI587420B (zh) 2017-06-11
CN103890597A (zh) 2014-06-25
US10048304B2 (en) 2018-08-14
US20130102091A1 (en) 2013-04-25
KR101989431B1 (ko) 2019-09-30

Similar Documents

Publication Publication Date Title
CN103890597B (zh) 用于控制测试块并行性的支持简化配置的测试系统
CN105378493B (zh) 用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施
CN105378494B (zh) 具有用于独立测试多个dut的多个基于fpga的硬件加速器块的测试体系架构
CN101173972B (zh) 用于测试确定电子设备中的最小运行电压的方法和装置
US7886241B2 (en) System and method for automated electronic device design
TWI502209B (zh) 操控運算裝置以產生並行式測試計畫之資訊的方法、包含實施該方法之指令的非暫存電腦可讀取儲存媒體、及依據該方法製造半導體裝置的方法
CN111078482B (zh) 通讯导航设备测试系统、方法、设备和可读存储介质
CN101512359A (zh) 用于在测试系统中实施处理之系统及方法
CN110502374A (zh) 识别自动测试时设备故障的根本原因的流量捕获调试工具
TW201433802A (zh) 在中央控制器電腦系統上用以支援協定獨立元件測試之圖形使用者介面實施態樣技術
Beenker et al. Testability Concepts for Digital ICs: The Macro Test Approach
JP5207738B2 (ja) オープンアーキテクチャテストシステムにおけるベンダハードウェアモジュール更新のコンパクト表現および方法
JP6916340B2 (ja) シミュレートされたデバイスをメモリベース通信プロトコルを使用してテストするためのシステムおよび方法
CN101008916A (zh) 处理误差信息和在处理器系统中注入误差的方法和装置
CN106649101A (zh) 一种ice自动化测试系统及测试方法
JP2008531982A5 (zh)
CN107710166A (zh) 利用符号快速错误检测的硅后验证和调试
CN104615928B (zh) 计量检定方法、检定系统及服务器
CN103454578B (zh) 用于运行被配置为测试器件的自动测试系统的方法
US6707313B1 (en) Systems and methods for testing integrated circuits
JP7504283B2 (ja) 1つ以上の被試験デバイスをテストするための自動試験装置、方法およびコンピュータプログラムであって、異なるテストアクティビティが被試験デバイスのリソースのサブセットを使用する、自動試験装置、方法およびコンピュータプログラム
CN102147831A (zh) 逻辑验证方法和装置
US6442725B1 (en) System and method for intelligent analysis probe
Hsieh et al. On application of data mining in functional debug
TWI287639B (en) A distributed operating system for a semiconductor test system for testing at least one device under test

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