具有边缘导向的自动化测试系统的制作方法

文档序号:10517745阅读:457来源:国知局
具有边缘导向的自动化测试系统的制作方法
【专利摘要】本发明提供了一种自动化测试系统,半导体受测装置(DUT)可由所述自动化测试系统测试,所述自动化测试系统处理对每个测试器周期的边缘数量予以指定的测试程序,所述边缘数量可大于测试器能够生成的边缘的数量。所述测试系统可包括电路,所述电路基于数据来减少测试程序的每个周期中的边缘数量,所述数据指定所述测试器在该周期和/或前一个周期中的操作。此类减少通过减少每个通道的时序游标总数来简化实施边缘发生器所需的电路。但仍保持了对所述测试系统编程的灵活性。
【专利说明】具有边缘导向的自动化测试系统
[0001 ]相关领域
[0002] 半导体可由自动化测试设备(ATE)来测试,所述自动化测试设备使生成用于测试 受测装置(DUT)的信号的过程自动化。通过使用ATE,有时称为"测试器",可以大批量地有效 测试芯片。
[0003] 对于许多类型的测试而言,测试器的操作都由多个通道的每个通道中的事件信号 来控制,每个所述通道都连接到DUT上的测试点,有时称为"引脚"。事件信号由与通道相联 的时序发生器生成,并被发送到引脚电子器件。引脚电子器件包括驱动器和比较器。在应用 到驱动器时,事件信号有时被称为"边缘"。一些边缘,在启动后,使驱动器驱动HI输出。另一 些边缘,在启动后,使驱动器驱动L0输出。通过指定这些边缘中的哪些边缘启动,以及这些 边缘在测试器周期内启动的时间,可定义数字激励信号。类似地,耦合到比较器的事件信号 (所述事件信号有时称为"选通")控制比较器测试HI信号或L0信号,从而允许将DUT的输出 与预期值进行比较。这些比较的结果用于测试DUT,例如从而确定DUT是否正正确工作或者 从而控制测试的后续步骤。
[0004] 为了允许测试器测试许多不同类型的半导体装置,测试器可以是可编程的。测试 图形可指定各种参数,诸如应用到DUT上每个测试点的信号、预期从DUT读取的信号、以及控 制测试信号生成或测量的事件信号的时间。在测试DUT时,需要精确地产生激励信号并控制 测量时间。
[0005] 这种精确通过事件信号的精确时序来实现。测试器周期可能持续测试系统时钟的 多个周期。因此,可通过计数测试系统时钟的脉冲来确定测试器周期内事件信号的时序。然 而,测试系统时钟可能不提供所需的时序分辨率。可以用边缘发生器来实现更高的分辨率, 除计数测试系统时钟的周期的计数器之外,该边缘发生器还通过使用时序游标来控制事件 信号的时序。
[0006] 游标可使信号中的事件延迟测试器时钟周期的一小部分。因此,每个事件信号可 部分地由计数器生成,所述计数器在测试器周期开始之后计数测试系统时钟的所编程的周 期数并且然后产生指示事件的信号。这个信号可作为输入提供到游标,该游标被编程为引 入另外的延迟。计数器和游标引入的延迟的组合提供了精确定时的事件,其精确度高于测 试系统时钟的周期。
【附图说明】
[0007] 本专利申请的各种方面和实施例将结合以下附图描述。应当理解,附图未必按比 例绘制。多个附图中示出的项目在其示出的所有附图中以相同的参考标号表示。
[0008] 图1为根据一些实施例的测试器的示意图。
[0009] 图2为测试器的常规通道电路的框图。
[0010] 图3为根据一些实施例的测试器的通道电路的框图。
[0011] 图4为根据一些实施例的边缘导向电路的框图。
【具体实施方式】
[0012] 本发明的发明人已认识到并已理解用于在不降低功能的情况下降低自动化测试 设备的成本和复杂度的技术。在一些方面,可减少自动化测试设备中时序游标的数量,同时 不降低对测试系统输出的驱动信号进行编程的用户灵活性。此类减少可通过电路来实现, 该电路将边缘的时间规格动态地导向到输出关于何时将出现边缘的指示的游标。基于所述 时间规格,导向电路可减少为了控制驱动器生成一个测试器操作周期的所需输出所需要的 边缘总数。通过减少所需边缘的数量,可减少每个测试器通道中的游标数量,并且可将测试 器硬件设计为具有更少的游标。相比提供相同功能的常规测试器设计,此类测试器硬件可 以更小、成本更低、耗电更少、并且/或者散热更少。
[0013] 因此,公开了用于提供对由时序发生器产生的时间规格的导向的系统和方法。这 个功能在本文中被称为"智能边缘导向"。智能边缘导向可由一方法来执行,该方法可包括 以下步骤中的一者或多者:接收对边缘的时间规格予以指定的输入;基于所接收的时间规 格输入确定边缘的启动排序;根据启动排序对时间规格排序;使时间规格序列化;以及输出 序列化的时间规格。序列化的时间规格可指定数量减少的所需边缘。这些时间规格可与引 脚电子器件处的驱动数据组合以产生一个或多个边缘,所述边缘被应用到驱动器以使测试 信号在指定时间发送到DUT。
[0014] 作为另外一种选择或除此之外,测试器中的边缘导向可将多个边缘规格导向到同 一游标以使该游标在同一测试器周期中输出多个边缘。此类导向还可减少通道中为了控制 驱动器生成所需信号所需要的游标数量。为了实现这种方式的减少,边缘导向电路可,针对 每个测试器周期,区分对测试器周期第一部分中的边缘予以指定的时序规格与对测试器周 期第二部分中的边缘予以指定的时序规格。可先将时序规格的第一部分应用到游标。然后, 可针对同一测试器周期,将第二部分应用到相同游标。
[0015] 如上所述,自动化测试系统可用于以自动化和/或半自动化的方式测试半导体芯 片。通过使用测试器,可以大批量地有效测试芯片。测试器工作方式为:生成激励信号并测 量DUT上多个测试点中每个测试点上的响应。测试器的输入/输出点被设计用于耦合到DUT 上的测试点,这些测试点有时被称为"引脚"。这个术语一般用来指DUT的连接点,并且不限 制进行连接的方式,因为在DUT封装之前或之后,可以任何合适的方式进行到DUT的连接。
[0016] 可生成和/或测量多种类型的激励信号和响应信号,以便测试现代半导体装置。为 了适应这种可变性,测试器可结合多个仪器,每个仪器均可在一个或多个引脚处生成和/或 测量某种类型的测试信号。
[0017] 每个仪器具有用于对一个或多个引脚的信号进行处理的电路。测试器包括某个电 路,该电路执行影响为所有引脚或为引脚组合生成的测试信号的操作。然而,为了全面测试 DUT,测试器往往必须包含能在每个DUT操作周期中为多个引脚中的每个引脚独立生成和/ 或测量测试信号的电路。专用于为一个引脚处理测试信号的电路称为"通道"。仪器可包含 一个或多个通道。
[0018] 仪器的一种常见类型是数字仪器,其被设计用于生成或测量数字信号。数字仪器 可包含多个通道,每个通道都具有被称为"引脚电子器件"的电路,该电路生成数字信号或 确定数字信号的状态。为了执行这些操作,引脚电子器件可包括驱动器和比较器。可以各种 方式控制这些装置中的每一者,以支持灵活地将测试器配置为测试多种类型的半导体装 置。例如,驱动器可被配置为设置在驱动器正驱动逻辑HI信号以及驱动逻辑L0信号时将驱 动的电压。比较器可被类似地配置用于将被视为逻辑HI或逻辑L0信号的电压电平。因此,对 应于HI和L0的电压电平对本发明而言不是关键的。
[0019] 加载到测试器的测试程序可为每个通道指定每个DUT操作周期的操作。测试器可 被编程为以匹配DUT操作周期的测试器周期操作。每个测试器周期内的指定操作可包括例 如驱动HI或驱动L0。为了测量测试信号,指定操作可包括检查HI或检查L0。在某些测试器周 期中,可不针对特定通道执行操作,并且这种可能性也可反映在程序中。
[0020] 除了指定要执行什么操作以外,还可对每个操作的时序或完成该操作的动作进行 编程。这种编程通过通道内的可编程时序发生器来实现。时序发生器为控制引脚电子器件 内的操作的事件信号输出时序规格,其中不同的事件信号控制不同的操作。
[0021] 在常规的测试系统架构中,事件信号的所有时序规格都耦合到边缘发生器。常规 上,边缘发生器包括在对应于所有时序规格的指定时间生成边缘信号的电路。事件信号的 形状可取决于测试系统中的电路构造。然而,每个事件信号将在定义的时间具有信号跃迀, 或引脚电子器件的元件所响应的类型的其他特征。这种信号跃迀的时间可被说成是事件的 时间。
[0022] 就通道要执行比较操作的DUT周期而言,事件信号可控制相对于该周期的开始应 在何时将引脚处的值与预期值进行比较。此类事件信号有时被称为"选通"。就通道要执行 驱动操作的周期而言,可生成多个事件信号以指定所需的输出。这些事件信号可被称为"边 缘"。引脚电子器件可包括边缘耦合逻辑,使得信号跃迀可为L0到HI跃迀或HI到L0跃迀。然 而,应理解的是,"边缘"可表示任何合适形式的信号。
[0023] 无关于信号跃迀的形式,可在引脚电子器件中将一个或多个边缘组合以生成合适 的激励信号,这可取决于DUT所使用的特定协议所需的格式。例如,根据一些数字协议,"Γ 可表示在第一时间跃迀到逻辑HI状态,然后在第二时间跃迀到逻辑L0。在这种情况下,需要 两个边缘信号来定义所需的输出。在其他协议中,"Γ可表示跃迀到逻辑L0状态,然后跃迀 到逻辑HI状态,再然后在第二时间跃迀到逻辑L0状态。在这种情况下,需要三个边缘信号来 定义所需的输出。
[0024]为了提供此类事件信号,并且灵活地将测试系统编程为测试多种类型的DUT,测试 系统的每个通道可包括用于生成多个事件信号的边缘发生器电路。边缘发生器输出的边缘 和选通耦合到引脚电子器件的控制输入,其中不同的事件控制不同的操作,诸如驱动HI、与 预期HI值比较,等等。
[0025] 每个测试器周期内的这些事件的时序可由来自时序发生器的时序规格建立。时序 发生器可计算每个事件的时序规格。这种计算可基于作为测试程序的一部分存储在时间集 存储器中的"时间集"以及对在每个周期期间通道要执行什么操作予以定义的数据。每个时 间集可为在测试器周期中可能生成的每个事件指定时间。存储器可包含多个时间集,并且 对于不同周期,可在测试程序中指定不同的时间集以允许灵活地控制引脚电子器件内的事 件时序。
[0026] 在一些周期中,取决于所编程的操作以及要生成或测量的信号的格式,对于所编 程的操作,不是每个事件都将被需要。因此,每个时序规格可与启用信号相关联以指示对于 特定周期而言,与该边缘信号相关联的动作是否将发生以便完成所编程的操作。这个启用 信号可基于数据来生成,所述数据指示通道在特定测试器周期中的操作以及数字值的表示 格式。例如,在要提供驱动数据的周期中,可不启用选通信号。又如,当所编程操作由在特定 时间处于HI状态的输出信号完成时,可能只需要一个边缘信号来触发驱动器以在指定时间 驱动HI。其他边缘信号可被禁用。相比之下,如果信号格式需要从L0跃迀到HI、然后从HI跃 迀到L0,则可启用多个边缘信号以确保驱动器被触发为在周期开始时处于L0状态,存在到 HI状态的跃迀以及到L0状态的后续跃迀。
[0027]为了支持大量的可能激励信号,边缘发生器可每个周期生成多个边缘信号。作为 具体例子,常规测试系统可生成四个边缘信号,这些边缘信号中的任一个信号,在启动后, 都将使驱动器驱动HI。额外的四个边缘,在启动后,可使驱动器驱动L0。因此,可编程每个测 试器周期具有总共八个信号跃迀的激励信号。然而,不是每个激励信号都将需要所有这些 边缘启动。
[0028]因此,在每个周期期间,可仅使用其中一些边缘。可使用本领域已知的技术,基于 为该周期编程的具体操作以及为该操作指定的数据,由时序发生器确定生成哪些边缘。然 而,由于所使用的具体边缘因具体周期而异,因此,常规上,边缘发生器包括了能在每个周 期中生成每个边缘信号的电路。这个电路可针对可能生成的每个边缘包括计数器和游标。 计数器从测试器周期开始时计数测试系统时钟的一定周期数量,直至达到接近但先于指定 时间的时间。在这个时间,计数器输出信号跃迀,所述信号跃迀然后在游标中延迟。游标可 为模拟电路,该模拟电路可赋予精确量的可编程延迟,该精确量的可编程延迟为测试系统 时钟的一个周期的一小部分。以此方式,通过计数器和游标实现的组合延迟导致信号具有 在边缘的指定时间发生的跃迀。
[0029]本发明的发明人已认识到并已理解,通过避免需要为周期中可能编程的每个可能 的边缘信号使用单独的游标,可降低测试系统的成本和复杂度,并同时保留用户功能。时序 游标集成到电路的过程较复杂,并且时序游标会消耗电力并占用硅晶粒区域。本发明的发 明人已认识到并已理解,可以通过使用被称为智能边缘导向的方法减少边缘发生器生成的 边缘数量,来减少对时序游标的使用,如下文所述。这种减少可在不降低用户对边缘数量编 程的能力的情况下实现。
[0030] 根据智能边缘导向,可处理每个周期中的边缘的时序规格以针对该周期为边缘产 生数量减少的规格。这种减少可能基于具体信号格式以及为周期编程的具体数据,并且可 导致边缘在应用到引脚电子器件时生成本来会导致边缘数量未减少的相同测试信号。
[0031] 在一些实施例中,时序发生器可为m个边缘输出时间规格集合。在一些实施例中, 数字m可对应于编程语言所支持的边缘数量。测试工程师以及测试系统的其他用户可编写 程序以期望可以对m个边缘编程并且测试系统能生成m个边缘。
[0032] 时间规格集合可由边缘导向电路接收,该边缘导向电路处理时间规格以潜在地合 并、取消边缘的时间规格的数量或以其他方式减少所述时间规格的数量。边缘导向电路然 后可将剩余的每个时间规格发送到η个时序游标中的一者,所述时序游标可为边缘发生器 的一部分。时序游标的数量η可对应于边缘导向电路为其提供时间规格的边缘的数量,所述 边缘的数量可不同于时序发生器为其提供时序规格的边缘的数量m。在一些情况下,时序游 标的数量η可少于时序发生器指定的边缘的数量m。在一些情况下,时序游标的数量η可为时 序发生器指定的边缘的数量m的一半。因此,尽管用户觉察到测试系统能生成m个边缘,但测 试系统可包含用于每个测试器周期生成少于m个边缘的游标。
[0033] 可以多种方法实现使用比指定边缘数量更少的时序游标。在一些实施例中,每个 游标可能能够在每个测试器周期中启动一次以上。因此,可将指示测试器周期第一部分期 间的事件的时序规格导向到多达所有的游标。可将指示测试器周期第二部分期间的事件的 时序规格导向到多达所有的游标,从而允许一个测试器周期中的事件数量是游标数量的至 少两倍。作为另外一种选择或除此之外,在一些实施例中,冗余边缘规格可被智能边缘导向 电路移除,从而在每个周期中留下更少数量的边缘规格,这些边缘规格能在具有数量减少 的游标的测试器中实施。
[0034] 图1为根据一些实施例的测试器的示意图。在图示实施例中,测试器被示出为具有 多个数字通道,对其中的通道116、118和120进行了编号。所述通道中的每一者都可被配置 为生成或测量应用到DUT上的测试点的数字测试信号。应理解的是,图1表示测试器的简化 框图。商用测试器可包括更多数字通道并且可包括为了图示的简便性而没有示出的其他仪 器。
[0035] 通道116、118和120中的每一者都可包括图形生成器102、时序发生器104、边缘发 生器106、引脚电子器件108(其包括驱动器110和比较器112)以及故障结果处理器114。引脚 电子器件108可耦合到DUT的测试点(未示出)。
[0036] 测试计算机101可协调测试器中的所有通道,包括通道116、118和120。测试计算机 101可被编程为将测试程序加载到所述通道中的每一者的图形生成器中,并且以其他方式 配置测试器内的可编程电路。测试计算机101还可发起那些图形生成器的操作并检索在测 试执行期间捕获的数据。
[0037] 在一些实施例中,测试计算机101可,诸如在生产环境中,提供对测试器的非交互 控制。在其他实施例中,测试计算机101可,诸如在开发环境中,提供对测试器的交互控制。 测试程序可加载到测试计算机101中,该测试计算机然后可将测试程序的通道特定子集加 载到图形生成器102中以及每个其他通道(诸如通道118、120)的图形生成器中。也可加载指 定测试执行的其他数据。这种数据可包括在要驱动的多个值的每个值中的边缘的所编程时 间以及定义驱动数据表示格式的数据。通道的操作可通过来自测试计算机101的信号、测试 器内的控制电路、通道之间交换的控制信号或任何其他合适的技术(包括本领域已知的控 制技术)来同步。
[0038] 针对通道116示出了其他细节,该通道可为测试器中其他数字通道的例示。在通道 116中,图形生成器102针对每个测试器周期提供指示引脚电子器件108要执行的操作的值。 时序发生器104为将控制引脚电子器件108执行所需操作的事件产生时序规格。因此,时序 发生器104根据图形生成器102指定的图形为一个或多个事件生成时序规格。可基于图形 和/或可编程到测试器中的其他数据(诸如格式)来确定在测试器周期中启用哪些事件以及 那些事件发生的时间。在一些实施例中,可将定义操作的信息加载到测试器中作为多个单 独的数据集。例如,可将格式数据加载到格式存储器中一或者甚至预编程到测试器中。可将 每个测试器周期的数据作为可应用到时间集的引脚数据掩码来加载和存储。可将时序数据 作为一个或多个时间集来加载和存储。因此,在确定事件的时序时,时序发生器104可基于 图形内的编程,从存储在时间集存储器(未示出)中时序发生器104内的多个时间集之一中 选择,这与在常规测试器中一样。时序发生器然后可基于为周期指定的操作以及与该操作 相关的数据和格式来确定那些事件中的哪些事件在该周期中启用。然而,可使用任何合适 的方法来指定控制引脚电子器件执行所编程操作的事件的时序。
[0039] 将时序规格连同与所需边缘信号的类型有关的信息一起发送到边缘发生器106。 边缘发生器106可生成具有指定时序的一个或多个事件信号。然后可将事件信号输出到引 脚电子器件108,其中事件信号充当控制引脚电子器件的操作的高分辨率时序信号。可将事 件信号耦合到引脚电子器件的特定控制输入,使得每个边缘信号在启动时对为引脚生成的 驱动信号产生特定影响,诸如在那些边缘信号确定的时间驱动HI或驱动L0。边缘发生器106 生成的选通信号同样可控制比较器112进行的测量。
[0040] 在一些实施例中,引脚电子器件108可对所生成的这一个或多个边缘做出响应以 经由驱动器110驱动引脚上的测试信号。同样,引脚电子器件可对这一个或多个选通做出响 应以测量来自DUT的信号输出。可将所述比较的结果传送到故障结果处理器114。故障结果 处理器114然后可执行任意一个或多个动作,包括记录比较结果、在结果与预期不一样时选 择性地记录结果、或者诸如通过设置被称为"故障标志"的硬件信令行来生成指示何时发生 了故障的控制信号。图形生成器102或测试器内任何其他合适的组件可对故障标志做出响 应以响应于故障执行不同的操作。
[0041] 在一些测试器中,能够生成的边缘信号的数量基于边缘发生器中提供的游标的数 量。然而,在如本文所述的实施例中,通道116可包括智能边缘导向电路,相比实施相同级别 功能的常规边缘发生器,该智能边缘导向电路允许边缘发生器106中存在更少的游标。图2 为测试器的常规通道电路的一部分的框图,更详细地示出了用于将信号发送到单个DUT引 脚的单个通道的部分。因此,图2示出了边缘信号的生成,但在一些实施例中,可将本文所述 的技术应用到选通或其他控制信号。
[0042]如上文所述,时序发生器202使用存储在时间集存储器204中的值为一个或多个边 缘生成时间规格。边缘发生器206从时序发生器202接收时间规格。其他信号可指示是否要 在测试器周期期间的指定时间生成边缘。这些信号可充当启用信号,并且可以任何合适的 方式表示,所述合适的方式诸如为对要在测试器周期中于通道中驱动的值予以指示的驱动 数据。启用信号可源自多个数据集,诸如图2所示的驱动和格式数据集214。这些启用信号可 以任何合适的方式应用到边缘发生器206内。在一些实施例中,启用信号可抑制处理在边缘 发生器206的输入处的用于未启用边缘的时间规格。作为另外一种选择,在一些实施例中, 启用信号可抑制边缘输出或边缘发生器206内的其他处理。
[0043]无关于边缘可被抑制的方式,对于未被抑制的边缘,边缘发生器206内的电路可生 成在适当时间具有信号跃迀的时序控制信号。为了执行这个功能,边缘发生器206可包括计 数器208以及时序游标群组210和212。边缘发生器206将每个时序规格划分成粗略部分和精 细部分。在这个例子中,粗略和精细相对于用于控制边缘发生器206的操作的时钟的周期来 定义。粗略部分可被计数为该时钟的多个周期。精细部分指定比该时钟的周期短的时间。 [0044]在接收到时间规格时,边缘发生器206内的电路将粗略部分加载到计数器208内的 计数器中,并且精细部分被加载到时序游标群组210或212的时序游标中。计数器208和游标 210和212可以任何合适的方式实施,包括使用如本领域已知的技术。计数器208例如可作为 计数器的合集来实施,其中每个边缘有单独的计数器。作为另外一种选择,可通过环形计数 器或能输出关于何时达到多个所编程时间中的任一个所编程时间的指示的其他合适的结 构来实现相同的结果。
[0045]作为非限制性例子,时序游标群组210和212可各自包括四个游标。在这个例子中, 每个群组内的游标具有相同的功能。在这个例子中,群组210内任一个游标输出的边缘均定 义驱动器222跃迀到驱动HI输出的时间。在这个例子中,群组212内的游标定义驱动器222跃 迀到驱动L0输出的时间。在图2的示例性电路中,通过在0R电路216内将群组210中游标的输 出按0R运算组合,来实现这个结果。同样,可将群组212中游标的输出在0R电路218内组合。 [0046] 0R电路216和0R电路218的输出通过设置/重置触发器220应用到驱动器222。如图2 所示,0R电路216的输出耦合到设置/重置触发器220的设置输入。0R电路218的输出耦合到 设置/重置触发器220的重置输入。
[0047]因此,响应于群组210内的任一个游标生成边缘信号,设置/重置触发器220的输出 将为HI。在此类边缘信号之后,设置/重置触发器220的输出将保持为HI,直至群组212内的 其中一个游标生成边缘信号。设置/重置触发器220的输出用作驱动器222的输入,使得驱动 器222的输出224由游标群组210和212内边缘启动的顺序和时序来定义。作为具体例子,输 出224在时间T!具有上升沿,指示来自群组210中的游标的边缘在时间!^启动。输出224在时 间!^具有下降沿,指示来自群组212中的游标的边缘在时间!^启动。
[0048]在所示的例子中,仅使用了两个边缘来生成输出224。然而,应当理解的是,可使用 更复杂的波形来测试半导体装置。为此,图2中所示的边缘发生器具有总共八个游标,从而 允许指定在每个测试器周期中具有多达八个信号跃迀的复杂波形。
[0049] 指定测试器周期内的多个边缘的能力有利于测试系统的编程。然而,本发明的发 明人已认识到并已理解,在任何测试器周期中,不是所有边缘都可使用。相反,可编写测试 程序以在不同的测试器周期中使用不同的边缘组合,从而指定不同的波形以供驱动器输 出。虽然此类灵活性对程序员而言是有用的,但使用常规设计实施支持这种灵活性的测试 器会导致在任何给定周期中具有比必需游标更多的游标。为了允许用η个游标生成通过对m 个边缘编程而共同指定的输出信号,可使用智能边缘导向电路。智能边缘导向电路可对于 各个测试器周期将每个时序规格引导至游标。以此方式,在所编程边缘与时序游标之间不 需要存在一对一关系。因此,游标总数η可小于m。在一些实施例中,η和m的比率可为2n〈m,或 者r^Pm可具有任何其他合适的比率。
[0050] 图3为根据一些实施例的图2所示测试器的通道电路的一部分的框图,该部分被修 改为包括智能边缘导向电路326。在所示的实施例中,时序发生器202将边缘的时序规格输 出到智能边缘导向(SES)电路326 JES电路326可使用本文所述的一种或多种技术来减少边 缘生成所涉及的时序规格的数量。这种减少可在逐个测试器周期的基础上动态地发生。因 此,较之于边缘发生器206,边缘发生器306可具有更少的电路来生成边缘。具体地讲,在这 个例子中,边缘发生器306包括游标群组310和312,所述游标群组中的每一者包含仅两个时 序游标。相比之下,游标群组210和212各自包括四个游标,使得边缘发生器206中的游标数 量是边缘发生器306中的两倍。同样,相比计数器208,计数器308可包括用于处理更少时间 规格的电路。
[0051] 所述游标群组310和312中的每一者的输出对驱动器222的操作的影响可与游标群 组210和212的输出一样。如图3的例子中所示,游标群组310内的游标的输出被提供给0R电 路316作为输入。与OR电路216-样,OR电路316也组合多个游标的输出以产生控制信号从而 控制设置/重置触发器220的设置输入。同样,OR电路318也组合多个游标的输出以控制设 置/重置触发器220的重置输入。因此,即使是在所生成的事件的数量减少的情况下,最终结 果也可能是相同的,如图3的电路所示,该电路产生与图2中的电路相同的输出224。
[0052] 为了减少测试器周期中生成的边缘的数量而不影响功能,SES电路326可包括启动 排序电路328和序列化电路330。
[0053]在一些实施例中,SES电路326的操作可以如下方式进行。首先,SES电路326内的启 动排序电路328可对被编程为在测试器周期内启动的所有边缘进行排序。在一些实施例中, 测试工程师可定义测试器周期内要启动边缘的时间,作为测试程序的一部分。然而,编程模 型可能不需要边缘以任何特定顺序编程,使得在一些测试器周期或一些测试程序中,一个 所编程的边缘可能具有先于另一个所编程的边缘的时间,但在其他程序或其他测试器周期 中,同样这两个边缘的情况可能相反。在启动排序电路328中,所有边缘的顺序均基于该测 试器周期中边缘的时序规格来确定。
[0054] 例如,顺序可被确定为"HI HI L0 L0 L0 HI HI ΗΓ,其中每个HI指示使驱动器驱 动HI的边缘已被编程为启动,并且L0指示使驱动器驱动L0的边缘已被编程为启动。在这个 例子中,在启动顺序序列中示出了八个边缘。选择数字八来进行举例说明以对应于图2中所 示的八个游标,从而代表测试工程师可能已编写了程序的边缘的数量。应理解的是,可用任 何合适数量的边缘(可多于或少于八个)来编写测试程序。此外,如上所述,不是所有边缘都 可以在每个测试器周期中启动。在一些实施例中,启动顺序电路328可仅处理在测试器周期 期间启用的边缘的时间规格。因此,在启动顺序电路328中进行排序的时序规格的数量可不 同于上述例子,并且这个数量可因具体的测试器周期而异,具体取决于每个测试器周期中 启用的边缘的数量。
[0055]启动顺序电路328可以任何合适的方式实施。例如,在一些实施例中,可组合比较 器、复用器和/或其他已知的数字逻辑组件以对表示时序规格的数字值排序。排序后的值可 存储在FIFO存储器中或以任何其他合适的方式表示。
[0056]无关于时序规格排序的方式,一旦排序后,SES电路326便可将边缘规格从顺序中 移除。可使用任何合适的标准来从顺序中移除边缘规格。在一些实施例中,当在指定时间生 成边缘不会影响驱动器222的输出时,可移除时序规格。作为具体例子,如果边缘时间规格 是冗余的,则可以将其移除。时序规格与相同类型的连续边缘相关联的顺序可包含冗余信 息,因为紧接第一驱动HI边缘之后将第二驱动HI边缘应用到设置/重置触发器220不会改变 设置/重置触发器220的状态。因此,SES 326可将时序规格集合减少为包括以所排序的HI-L0对来启动的集合。
[0057]在一些实施例中,可仅对要在单个测试器周期内启动的边缘的规格执行边缘规格 抑制。然而,如果为测试器周期指定的第一边缘未导致驱动器222的状态从为前一个周期指 定的最后一个边缘改变,则该第一边缘可能是冗余的。因此,在一些实施例中,SES电路326 可执行从前一个周期结束到当前周期开始的启动抑制。
[0058] 例如,下面示出了表1。在该例子中,编程模型中支持4个HI边缘和4个L0边缘。因 此,表1的中心列示出了包含多达4个HI边缘时间和多达4个L0边缘时间的示例性序列。这些 边缘序列可在单个测试器周期中生成。右列示出了可如何将这些序列减少为使用减少数量 的HI和L0跃迀的序列。在一些实施例中,任何测试器周期中的减少的边缘序列可取决于驱 动器在前一个测试器周期结束时的状态。在基于同一测试器周期中的相邻边缘以及来自前 一个测试器周期的相邻边缘识别到冗余边缘时,可实现边缘数量的进一步减少。因此,表1 包括最左侧的列,该列指示前一个测试器周期的序列中的最后一个边缘。如可见,当测试器 周期中的序列中的第一边缘基于来自前一个周期的序列中的最后一个边缘是冗余的时候, 可实现序列中跃迀数量的进一步减少。

[0062]虽然上文给出了基于边缘是冗余的情况来抑制边缘的例子,但可以使用其他标准 来消除边缘,所述其他标准包括例如在所编程时间的边缘可能是无效的。例如在一些实施 例中,可遇到无效的边缘,因为某些电路,诸如游标310和312或设置-重置触发器320,可具 有一稳定时间,该稳定时间限制电路能多快地响应三个或更多个边缘的序列。例如,L0、HI、 L0的序列只有在根据该序列生成信号的电路在发生命令返回到L0状态的边缘之前有时间 响应HI边缘的情况下才有效。如若不然,HI边缘以及随后的L0边缘可在不影响输出的情况 下省略。因此,SES电路326可应用其他标准来抑制一个或多个边缘。
[0063]无关于时序规格被抑制的方式,可使用上文针对计数器208和群组210和212所述 的技术,将时序规格的减少集合传送到计数器308和游标群组310和312以生成边缘信号。这 个动作,或者传送排序后的时序规格中的所选时序规格以用于边缘生成,可由序列化电路 330或任何其他合适的电路来执行。可用已知的数字逻辑组件或以任何其他合适的方式实 施序列化。
[0064] 在一些实施例中,可通过使用同一游标每个周期生成不止一个边缘,来进一步减 少测试器周期中所需的游标数量,并且因此进一步减少测试器通道中所包括的游标数量。 一旦时间规格被排序,便可以将这些时间规格分配到游标以在任何游标的边缘启动时间之 间提供最大的可能间隔一一或者以至少确保指定启动时间至少间隔开游标的再启动时间。 可通过以轮询顺序将规格分配到每个群组310和312内的游标来实现此类排序。如果测试器 周期中用于边缘类型(例如,驱动HI或驱动L0)的时间规格多于群组中用于该类型的游标, 则轮询分配可导致群组中的一个或多个游标被控制为在该测试器周期内启动一次以上。基 于排序的轮询分配确保每当在测试器周期内游标第二次启动或后续启动时,该游标在其群 组内的其他任何游标之前最久被启动。
[0065] 当测试器周期内游标的多次启动是可能的时候,将时序规格分配到游标的电路可 以比测试器中其他电路更高的时钟频率工作。在一些实施例中,当测试器中其他组件的系 统时钟为400MHz时,序列化电路330可以更高的时钟频率(诸如800MHz的频率)工作。此类更 高的时钟频率可促进每个测试器周期处理多个边缘时间规格。
[0066]无关于序列化电路330的时钟频率,序列化电路330可将边缘时间规格提供到计数 器308内的一个或多个计数器以及群组310和312内的游标。
[0067] 图4为根据一些实施例的边缘导向电路的框图,其示出了边缘规格数量的减少。在 这个实施例中,智能边缘导向电路包括启动排序电路402和序列化电路404。
[0068] 启动排序电路402具有输入d(n)_fire_hi、d(n)_fire_lo、d(n)_lsb_tim[2msbs] 和d(n)_lsb_tim_lo[2msbs],其中(η)由0到3的整数替代,这些输入是提供来自时序发生器 的用于边缘的时序规格的输入。提供了四个HI输入行和四个L0输入行,其中HI行允许时序 发生器指定HI边缘并且L0行允许时序发生器指定L0边缘,从而允许时序发生器指定要在给 定周期内启动的多达四个的HI边缘和多达四个的L0边缘。
[0069]启动排序电路402具有四个输出集合,每个集合包括三个值,即fire_quad(n)_〇CC 输出、f ire_quad(n)_state输出和f ire_quad(n)_sel[2:0]输出,其中(η)由0到3的整数替 代。来自启动排序电路402的每个输出集合将时间规格、状态和选择器提供到序列化电路 404。这些输出可共同定义边缘和时间,既指示边缘是驱动HI边缘还是驱动L0边缘,又指示 边缘要出现的时间,并且/或者指示该边缘是否已针对特定测试器周期启用。可以任何合适 的方式表示这种信息,所述方式包括使整个时间规格作为输出呈现,或者使用更少的位来 指示可用于访问边缘的数据的位置或选择器设置。
[0070] 无关于如何表示定义每个边缘的信息,可以对要提供信息的边缘进行排序。例如, 当相比参数η具有更高值的时序规格,参数η具有更低值时,与fire_quad(n)_occ相关联的 边缘的规格可排在第一。
[0071] 序列化电路404将启动排序电路402的输出作为输入。序列化电路404根据指定顺 序将启动排序电路402的输出以及用于生成HI或L0边缘的一个或多个信号接收到边缘发生 器。序列化电路404通过四个由两个输出组成的集合输出时间规格。所述四个由两个输出组 成的集合是:f ire_hiO/fire_hiO_sel [2:0]、fire_hi l/fire_hi l_sel [2 :0]、fire_lo0/ fire_loO_sel [2:0]和fire_loO/fire_loO_sel [2:0]。由于HI和L0由每个时序信号所使用 的特定输出行指示,因此不再需要状态输出。序列化电路404产生输出fire_hiO/fire_hiO_ 861[2:0]和:1^;^6_11;[1/;1^;^6_11;[1_861[2:0],所述输出用于使边缘发生器生成!11边缘,并且 所述输出包括从启动排序电路402接收的时间规格和选择器。序列化电路404还产生输出 ;1^;^6_1〇0/;1^;^6_1〇0_861[2:0]和;1^;^6_1〇1/;1^;^6_1〇1_861[2:0],所述输出用于使边缘发生 器生成L0边缘,并且所述输出还包括从启动排序电路402接收的时间规格和选择器。
[0072] 额外的方面
[0073] 以上描述本发明的至少一个实施例的多个方面,应当理解本领域的技术人员可易 于进行各种改变、修改和改进。
[0074] 例如,提供了一种示例性电路配置。根据这个配置,以特定方式存储对指定边缘的 数据的处理,并且以特定顺序进行处理。然而,应理解的是,可对处理功能重新排序,并且可 使用不同的数据存储格式。例如,描述了可以在启动顺序电路中应用引脚掩码以确定在测 试器周期中生成哪些边缘。然而,可在任何电路级以单独或与其他数据结合的方式应用引 脚掩码,包括在序列化电路中应用,从而避免无需边缘的规格被加载到游标中或者甚至从 而闸控游标的输出以抑制不需要的已生成输出。
[0075]此类改变、修改和改进旨在作为本公开的一部分,并且被视为落入本发明的精神 和范围内。此外,尽管指示出本发明的优点,但应当理解,并非本发明的每个实施例均将包 括每个所述优点。一些实施例可未执行在本文中和在一些情况下有利的任何所述特征。因 此,上述的说明和附图仅作为举例的方式。
[0076]如本文所用,术语HI和L0是指信号的状态。在一些实施例中,这些状态可对应于电 压电平,使得HI状态对应于高于L0状态的电压。然而,应理解的是,HI和L0可以是指可由任 何合适的参数和该参数的任何合适的值表示的逻辑状态。因此,如果HI和L0状态都对应于 电压,那么在其他实施例中,L0状态中的电压可高于HI状态中的电压。
[0077]在前述描述中,电路被描述为响应时序信号中的边缘。应理解的是,本文所述的边 缘是可用于控制电路组件操作时序的信号中的事件的例子,诸如过零或极性反转。电路可 被构造为响应信号中的任何合适的边缘。
[0078]可通过多个方式中的任一种实施本发明的上述实施例。例如,可使用硬件、软件或 它们的组合来实施这些实施例。当通过软件实施时,该软件编码可在任何合适的处理器或 处理器集合上执行,不论其是在单个计算机中提供还是分布在多个计算机中。此类处理器 可作为集成电路实施,并且在集成电路组件中具有一个或多个处理器。作为另外一种选择, 可使用任何合适形式的电路实施处理器。
[0079] 另外,应当理解计算机可实施为多种形式中的任一种,例如机架式计算机、台式计 算机、膝上型计算机或平板计算机。另外,计算机可嵌入通常未被视为计算机但具有合适的 处理功能的装置,包括个人数字助理(PDA)、智能电话、平板电脑或任何其他合适的便携式 或固定电子装置。
[0080] 另外,计算机可具有一个或多个输入和输出装置。除了其他功能之外,这些装置可 用于提供用户界面。可用于提供用户界面的输出装置的范例包括用于视觉呈现输出的打印 机或显示屏幕以及用于听觉呈现输出的扬声器或其他发声装置。可用于用户接口的输入装 置的例子包括键盘,以及指向装置诸如鼠标、触控板、触摸屏和数字面板。又如,计算机可通 过语音识别或以其他听觉形式接收输入信息。
[0081] 此类计算机可用任何合适的形式通过一个或多个网络互连,包括局域网或广域 网,诸如企业网络或互联网。此类网络可基于任何合适的技术且可根据任何合适的协议运 行,并且可包括无线网络、有线网络或光纤网络。
[0082] 另外,本文所概述的多种方法或过程可被编码为可在一个或多个处理器上执行的 软件,该处理器采用多种操作系统或平台中的任一种。另外,此类软件可使用多种合适的编 程语言和/或编程或脚本工具中任一者编写,也可编译为可执行的机器语言编码或在框架 或虚拟机上执行的中间编码。
[0083] 在这个方面,本发明可实施为编码有一个或多个程序的计算机可读存储介质(或 多个计算机可读介质)(如,计算机存储器、一个或多个软盘,光盘(CD)、光碟、数字视频光盘 (DVD)、磁带、快闪存储器、现场可编程门阵列或其他半导体装置中的电路配置、或其他有形 的计算机存储介质),所述一个或多个程序当在一个或多个计算机或其他处理器上执行时 来执行实施本发明上述多种实施例的方法。从上述例子显而易见的是,计算机可读存储介 质可将信息保持足够的时间,以提供非瞬时形式的计算机可执行指令。这种计算机可读存 储介质可为可转移的,使得存储在其上的一个或多个程序能够被加载到一个或多个不同计 算机或其他处理器上以实施本发明上述的多个方面。如本文所用,术语"计算机可读存储介 质"仅涵盖可被视为产品(即,制品)或机器的计算机可读介质。作为另外一种选择或除此之 外,本发明可实施为除计算机可读存储介质之外的计算机可读介质,例如,传播信号。
[0084] 本文在广义上使用术语"程序"或"软件"来指可用于对计算机或其他处理器进行 编程以实施本发明上述多个方面的任何类型的计算机编码或者计算机可执行指令集合。另 外,应当理解,根据本实施例的一个方面,当被执行时,实施本发明的方法的一个或多个计 算机程序不需驻留在单个计算机或处理器上,但是可以模块化形式分布在多个不同的计算 机或处理器中以实施本发明的多个方面。
[0085] 计算机可执行指令可以为由一个或多个计算机或其他装置执行的多种形式,例如 程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、 组件、数据结构等。通常,程序模块的功能在多个实施例中可按需要结合或分布。
[0086] 另外,数据结构可用任何合适的形式存储在计算机可读介质中。为了例示简明起 见,数据结构可示为具有通过数据结构中的位置而相关的字段。同样可通过将计算机可读 介质中表示字段之间关系的位置分配给字段作为存储来实现此类关系。然而,任何合适的 机制均可用于在数据结构的字段中的信息之间建立关联性,包括通过使用在数据元素之间 建立关系的指针、标签或其他机制。
[0087] 可单独地、结合地或以在上述实施例中未特别讨论的各种配置方式使用本发明的 多种方面,因此其应用不受限于上述说明所述或附图中所示的组件的细节和配置。例如,在 一个实施例中所述的方面可以任何方式与其他实施例中所述的方面结合。
[0088]另外,本发明可实施为一种方法,并且已提供其示例。作为该方法一部分的操作可 以任何合适的方式进行排序。因此,可构建以不同于所示的顺序执行操作的实施例,可包括 同时执行一些操作,即使在示例性实施例中示为顺序执行的操作。
[0089] 另外,所示出和描述的电路和模块可以任何顺序重新排序,并且相应地可提供信 号来启用重新排序。
[0090] 在权利要求中使用诸如"第一"、"第二"、"第三"等序数术语修饰权利要求要素,其 本身并不意味一个权利要求要素相对于另一个的任何优先权、优先序或顺序或者执行方法 操作的时间顺序,而是仅用作将具有某个名称的一个权利要求要素与另一个具有相同名称 (除了使用的序数术语)的要素加以区分的标签,以辨别权利要求要素。
[0091] 另外,本文所用的短语和术语均是用于说明的目的,并且不应视为限制。本文中所 使用的"包括"、"包含"或"具有"、"内含"、"涉及"和它们的变型形式均意味着包含其后所列 的项目及其等同物以及额外的项目。
【主权项】
1. 一种适用于自动测试系统中的时序电路,所述时序电路包括: 包括至少一个时序控制输入的边缘发生器; 适于为m个边缘输出时间规格集合的时序发生器; 输出耦合到所述边缘发生器的所述至少一个时序控制输入的控制信号的η个时序游 标;以及 将延迟值耦合到所述时序游标的电路,所述延迟值基于所述时序发生器输出的所述集 合中所述时间规格中的所选时间规格, 其中n〈m。2. 根据权利要求1所述的时序电路,其中: 所述电路选择所述时间规格中的所述所选时间规格以省略在通过对所述m个边缘中的 至少一部分进行时间排序来定义的序列中的冗余边缘。3. 根据权利要求1所述的时序电路,其中: 所述边缘发生器包括驱动器;以及 所述至少一个时序控制输入包括驱动HI输入和驱动L0输入。4. 根据权利要求3所述的时序电路,其中: 所述电路选择所述时间规格中的所述所选时间规格以省略在通过对所述m个边缘进行 时间排序来定义的序列中的连续驱动HI边缘和连续驱动L0边缘。5. 根据权利要求1所述的时序电路,其中: 所述自动测试系统包括定义多个相继测试器周期的测试系统时钟;以及 将延迟值耦合到所述时序游标的所述电路可被配置为处理所述多个相继测试器周期 的每一个测试器周期中的时间规格集合。6. 根据权利要求5所述的时序电路,其中: 所述时序电路可被配置为存储所述边缘发生器在第一测试器周期结束时的状态;以及 将延迟值耦合到所述时序游标的所述电路可被配置为进一步基于所述边缘发生器在 所述第一测试器周期结束时的所述状态确定继所述第一测试器周期之后的第二测试器周 期中所述时间规格中的所述所选时间规格。7. 根据权利要求6所述的时序电路,其中: 时间规格定义包括粗略延迟部分和精细延迟部分的延迟;以及 所述电路将所述精细延迟部分耦合到所述η个时序游标中的时序游标,作为在所述粗 略延迟部分确定的时间处的延迟值。8. 根据权利要求6所述的时序电路,其中所述时序发生器包括: 时间集存储器,所述时间集存储器适于存储包括m个时间规格的时间集; 为所述多个相继测试器周期中的每一个测试器周期存储数据值的引脚数据存储器;以 及 耦合到所述时间集存储器和所述引脚数据存储器的格式化电路, 所述格式化电路被配置为基于所述数据值和所述m个时间规格为m个边缘生成所述时 间规格。9. 根据权利要求1所述的时序电路,其中所述m个边缘的所述时间规格是可编程的。10. -种用于在自动化测试系统中生成边缘的方法,所述边缘至少部分地定义应用到 受测装置的信号,所述方法包括,在处理电路中: 接收多个时间规格; 确定所述多个时间规格的时间顺序;以及 输出时间规格的缩减集合,所述缩减集合省略所述多个时间规格中的至少一个所选时 间规格,所述所选时间规格至少部分地基于所述顺序中的相邻时间规格来选择。11. 根据权利要求10所述的方法,其中: 所述集合的所述时间规格与指定多个驱动状态中的一个驱动状态的边缘相关联;以及 省略至少一个所选时间规格包括省略与跟所述顺序中前一个时间规格的驱动状态相 同的驱动状态相关联的时间规格。12. 根据权利要求10所述的方法,所述方法还包括: 基于时间规格的所述缩减集合中的所述时间规格生成多个边缘信号。13. 根据权利要求12所述的方法,其中生成多个边缘信号包括基于所述缩减集合中的 所述时间规格对多个游标编程。14. 根据权利要求13所述的方法,其中: 所述自动化测试系统根据测试器周期来工作; 所述接收、确定和输出动作在多个测试器周期中的每一个测试器周期中重复。15. 根据权利要求14所述的方法,其中: 所述输出动作包括,在所述多个测试器周期中的每一个测试器周期中,基于所述缩减 集合中的所述时间规格的第一部分对所述多个游标编程并且随后基于所述缩减集合中的 所述时间规格的第二部分对所述多个游标编程。16. 根据权利要求10所述的方法,所述方法还包括通过将引脚数据掩码应用到时间集 来生成所述多个时间规格。17. 根据权利要求10所述的方法,其中所述方法还包括: 将时间规格的所述缩减集合加载到FIFO中;以及 输出所述缩减集合包括从所述FIFO输出所述缩减集合。18. -种自动测试系统,所述自动测试系统包括: 包括输出、第一时序输入和第二时序输入的驱动器,其中所述驱动器是能配置成以便 响应于所述第一时序输入处的边缘而在第一状态驱动所述输出并且响应于所述第二时序 输入处的边缘而在第二状态驱动所述输出; 适于接收第一多个时间规格和第二多个时间规格并且输出第三多个时间规格和第四 多个时间规格的电路,所述第三多个时间规格和所述第四多个时间规格共同定义与由所述 第一多个时间规格和所述第二多个时间规格共同定义的边缘序列相同的边缘序列,其中所 述第三多个时间规格和所述第四多个时间规格共同包含的时间规格的数量少于在所述第 一多个时间规格和所述第二多个时间规格中共同包含的时序边缘的数量; 边缘发生器的第一集合,其中所述第一集合中的所述边缘发生器中的每一者包括: 耦合到所述电路的边缘发生器输入,以及 耦合到所述驱动器的所述第一时序输入的边缘发生器输出; 以及适于: 在相应边缘发生器输入处接收所述第三多个时间规格的时间规格,以及 在所述边缘发生器输出处在由在所述相应边缘发生器输入处接收的所述时间规格确 定的时间生成边缘;以及 边缘发生器的第二集合,其中所述第二集合中的所述边缘发生器中的每一者包括: 耦合到所述导向电路的边缘发生器输入,以及 耦合到所述驱动器的所述第二时序输入的边缘发生器输出; 以及适于: 在相应边缘发生器输入处接收所述第四多个时间规格的时间规格,以及 在所述边缘发生器输出处在由在所述相应边缘发生器输入处接收的所述时间规格确 定的时间生成边缘。19. 根据权利要求18所述的自动测试系统,其中: 所述测试系统还包括时间集存储器,其中所述时间集存储器: 被配置为存储多个时间集,所述时间集中的每一者包括多个时间规格; 包括选择输入;以及 适于在基于所述选择输入处的值选择的时间集中输出多个时间规格,以及 所述自动测试系统还包括: 引脚数据存储器;以及 将所述时间集存储器耦合到所述电路的格式化电路,其中所述格式化电路可被配置为 将所述所选时间集中的所述时间规格与来自所述引脚数据存储器的值组合以生成所述第 一多个时间规格和所述第二多个时间规格。20. 根据权利要求18所述的自动测试系统,其中: 所述第一时序输入包括驱动HI输入,以及 所述第二时序输入包括驱动LO输入。21. 根据权利要求18所述的自动测试系统,其中: 所述第一多个时间规格和所述第二多个时间规格共同包括m个时间规格,以及 所述第三多个时间规格和所述第四多个时间规格共同包括η个时间规格, 其中2n〈m。
【文档编号】G01R31/26GK105874341SQ201480063240
【公开日】2016年8月17日
【申请日】2014年11月19日
【发明人】霍华德·林, 科宾·L·钱皮恩, 扬·保罗·安东尼·范德瓦特, 罗纳德·A·萨特斯奇夫
【申请人】泰拉丁公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1