CN104903736B - 用于动态分配扫描测试资源的电路和方法 - Google Patents

用于动态分配扫描测试资源的电路和方法 Download PDF

Info

Publication number
CN104903736B
CN104903736B CN201480003921.1A CN201480003921A CN104903736B CN 104903736 B CN104903736 B CN 104903736B CN 201480003921 A CN201480003921 A CN 201480003921A CN 104903736 B CN104903736 B CN 104903736B
Authority
CN
China
Prior art keywords
scanning
output
dut
input
port
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
CN201480003921.1A
Other languages
English (en)
Other versions
CN104903736A (zh
Inventor
R·A·帕瑞克基
S·拉维
P·纳拉亚南
M·谢蒂
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN104903736A publication Critical patent/CN104903736A/zh
Application granted granted Critical
Publication of CN104903736B publication Critical patent/CN104903736B/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/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • 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/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

公开一种测试被测设备(DUT)的方法和测试系统。生成与从测试系统接收到的测试图案结构关联的至少一个控制信号(705)。从DUT中数量为M的I/O端口选择M1个端口,以基于控制信号接收对应于测试图案结构的扫描输入(710),以及从数量为M的I/O端口选择M2个端口,以基于控制信号提供扫描输出(715)。M1和M2中的每个是选自0到M的数值,其中M1和M2的总和小于或等于M。DUT的扫描测试基于提供扫描输入到M1个端口以及从M2个端口接收扫描输出来执行(730)。

Description

用于动态分配扫描测试资源的电路和方法
技术领域
本发明大体涉及诸如多个集成电路即IC的半导体设备的扫描测试。
背景技术
在一个示例情况下,集成电路或其它半导体设备设计的测试可能是制造过程中的基本步骤,并且可能涉及各种挑战(诸如,例如使用穷举测试码(exhaustive testpattern),以及同时减少设计的测试中涉及的整体测试时间和成本)。用于减少测试中涉及的测试时间和成本的一些示例技术可以包括利用适当的可测试性设计技术(design fortestability,DFT)(其适合于自动测试图案产生(automatic test pattern generation,ATPG)和ATPG工具)来设计要被测试的设备(称为被测试设备(devices under test,DUT)),以便支持使用不同测试仪的测试应用。一些测试仪的示例可以包括非常低成本测试仪(very low cost tester,VLCT)或高端测试仪。
在各种示例情况下,用于测试仪以及用于校正操作的多个DUT中的大多数硬件实施方式利用ATPG工具产生的图案联合执行扫描输入移位操作(scan-in shift operation,扫描输入/扫入移位操作)和扫描输出移位操作(scan-out shift operation,扫描输出/扫出移位操作)。在各种情况下,期望的可控制性(基于扫描输入操作)以及期望的可观测性(基于扫描输出操作)可能不同,并且在这种情况下,一些测试周期和相关的资源可能不被完全利用。这种情况的示例包括多个相同内核或不相同内核的测试。例如,在某些设备中,基于每个测试图案,要被移入的数据量不必与要被移出的数据量相同。这种情况的另一个示例(其中期望的可控制性和期望的可观测性可能不同)是将被扫描输入或扫描输出的扫描通道的部分。另一个这种情况可以是在不止一个测试图案中,具体模块中的相同扫描输入值能够用于测试其它相邻模块中的故障。另一种情况是若干模块的初始化可能需要若干扫描输入操作,以便设置不同模块的各个扫描链的状态,而基于每种模式观测几个扫描链可能是足够的,以便获得目标收敛。
此外,当多个DUT的输入/输出(I/O)端口与对应的测试仪的端口耦合时,控制扫描输入或扫描输出移位操作的时钟频率受下列项约束:(1)测试仪扫描通道中的数据转换速度,以及(2)针对该时钟频率,匹配DUT I/O与在测试系统的板上看到的负载。在各种情况下,DUT的输出端口可能不具有充足的驱动强度以驱动DUT和VLCT之间的连接上的负载,并且低强度I/O可能损害移位速度以及还可能影响测试时间。
发明内容
公开用于设备(被测设备(DUT))的扫描测试的各种方法、设备的配置和测试系统。至少一个DUT包括与数量为M的输入/输出(I/O)端口关联的数量为N的扫描通道,其中N和M两者都为整数值。测试被测设备(DUT)的方法包括产生与测试图案结构关联的至少一个控制信号,其中从用于扫描测试至少一个DUT的测试系统接收测试图案结构。该方法进一步包括从数量为M的I/O端口中选择数量为M1的端口,以基于至少一个控制信号接收对应于测试图案结构的扫描输入。该方法进一步包括从数量为M的I/O端口中选择数量为M2的端口,以基于至少一个控制信号提供对应于测试图案结构的扫描输出,其中M1和M2的每个选自0到M的数值(例如,整数值),并且其中M1和M2的总和小于或等于M。此后,该方法包括基于将扫描输入提供到数量为M1的端口以及从数量为M2的端口接收扫描输出来执行至少一个DUT的扫描测试。
在一个实施例中,该方法进一步包括将来自数量为N的扫描通道中的数量为N1的扫描通道与数量为M1的端口通信地耦合,以便基于至少一个控制信号执行对应于扫描输入的扫描输入移位操作。该方法进一步包括将来自数量为N的扫描通道中的数量为N2的扫描通道与数量为M2的端口通信地耦合,以便基于至少一个控制信号执行对应于扫描输出的扫描输出移位操作。因为M1个端口用于移入扫描输入数据,且因为M2个端口用于移出扫描输出数据,M个端口连接到N个内部扫描通道,其中在各种实施例中提供两个实施方式(具有扫描压缩和不具有扫描压缩)。
附加地,在一个实施例中,公开一种能够由测试系统扫描测试的DUT。DUT包括数量为M的输入/输出(I/O)端口,其中每个I/O端口能够被操作为用于接收对应于测试图案结构的扫描输入和提供对应于测试图案结构的扫描输出的端口。DUT进一步包括与数量为M的I/O端口通信耦合的多个扫描通道,以便这些扫描通道被配置为接收扫描输入并提供扫描输出。DUT进一步包括与数量为M的I/O端口以及多个扫描通道的每个通信耦合的选择电路。选择电路被配置为从数量为M的I/O端口中选择数量为M1的端口,以便基于至少一个控制信号接收扫描输入,以及从数量为M的I/O端口中选择数量为M2的端口,以便基于至少一个控制信号提供扫描输出,其中M1和M2中的每个是选自0到M的数值,并且其中M1和M2的总和小于或等于M。
另外,在一个实施例中,公开一种被配置为用于测试多个DUT的测试系统,其中至少一个DUT包括与数量M的输入/输出(I/O)端口关联的数量为N的扫描通道。测试系统包括控制电路,该控制电路被配置为基于测试图案结构产生至少一个控制信号,其中测试图案结构通过用于扫描测试至少一个DUT的测试系统提供到至少一个DUT。至少一个控制信号使得从数量为M个的I/O端口中选择数量为M1的端口,以便基于至少一个控制信号接收对应于测试图案结构的扫描输入。至少一个DUT进一步执行从数量为M的I/O端口中选择数量为M2的端口,以基于至少一个控制信号提供对应于测试图案结构的扫描输出,其中M1和M2中的每个选自0到M的数值(例如,整数值),并且其中M1和M2的总和小于或等于M。至少一个DUT的扫描测试基于提供扫描输入到数量为M1的端口以及从数量为M2的端口接收扫描输出来执行。
附图说明
图1示出根据一个示例情况的晶片上的多个被测设备(DUT)和测试系统的示例示意性表示。
图2示出根据本技术的一个示例实施例的示例DUT;
图3示出根据本技术的一个示例实施例的示例DUT;
图4示出根据本技术的一个示例实施例的DUT的示例测试;
图5A、图5B和图5C示出根据本技术的一个实施例的若干示例比较器配置;
图6是根据本技术的一个实施例的多站点扫描测试范例中的测试系统和若干DUT的示例连接的示意性表示;以及
图7示出根据本技术的一个实施例的测试DUT的示例方法的流程图。
具体实施方式
本技术的各种实施例提供动态选择输入/输出端口作为被测设备(DUT)的输入端口或输出端口。各种实施例还提供动态选择DUT中的扫描通道以在扫描测试期间执行扫描输入移位操作和/或扫描输出移位操作。因此,各种实施例提供测试资源的动态分配(诸如,DUT中的扫描通道和I/O端口),以便DUT的高效和低成本扫描测试。
图1示出在一个示例情况下包括多个管芯(die)的示例晶片100。晶片100可以与测试系统(诸如ATE(自动测试仪器))耦合,其中测试系统可以是用于执行晶片100处存在的一个或更多个管芯的测试的高端测试仪或非常低成本测试仪(VLCT)。在一个示例中,单个管芯可以包括一个或更多个设备,并且设备可以被单独地分割/封装。在一个示例中,一个设备可以具有可以耦合到用于执行设备的扫描测试的测试系统的多个电路或部件或模块。为了描述的目的,因此,每个管芯可以表示可以与用于设备的扫描测试的VLCT耦合的设备,并且此后,管芯还被称为单个DUT,虽然其可以包括不止一个DUT。
如图1中示出的,晶片100可以包括多个DUT(诸如晶片中的DUT110),该晶片可以与用于执行DUT 110的扫描测试的测试系统150耦合。在一个示例中,测试系统150可以具有多个端口,该多个端口能够与DUT的对应端口耦合,以执行多个DUT的扫描测试。例如,在一个示例中,测试系统150可以具有512个输入/输出(I/O)端口(参考,160),并且每个DUT可以具有32个I/O端口(参见,120),并因此,16个这种DUT的扫描测试可以被同时执行。
DUT 110的每个DUT可以包括被配置为提供DUT的扫描测试的多个扫描通道。例如,具有32个I/O(参见120)端口的每个DUT可以具有多个通道,例如,16个扫描通道(例如,扫描通道130)。图1中示出的扫描通道130仅是为了示例的目的,并且将扫描通道130与I/O端口120耦合可以以各种方式使用诸如具有或不具有扫描压缩的技术来完成。应该注意,每个扫描通道130可以包括多个时序元件(诸如,可扫描触发器140),其能够在扫描模式或正常功能模式中接收输入。应该注意,这种扫描通道的数量可以根据DUT的配置和测试系统而变化,例如,DUT的32个I/O端口可以以各种方式通信地耦合到扫描通道130。在本技术的各种实施例中,与32个I/O端口中的一些I/O端口关联的(或通信地耦合)扫描通道可以用作接收由测试系统150提供的扫描输入的扫描通道,而与32个I/O端口中的一些I/O端口关联的扫描通道可以用作提供用于确定DUT中的任何故障的扫描输出的扫描通道。在一些实施例中,相同的扫描通道可以被用于接收扫描输入以及提供对应的扫描输出。参考图2到图7描述这种实施例。因此,应该理解,本技术的各种实施例提供动态分配扫描输入通道和扫描输出通道,同时测试DUT,因为输入端口和输出端口的数量不固定并且能够基于每种测试模式、每种测试图案以及每个测试周期动态变化。在本文,术语“扫描输入通道”可以指代接收扫描输入并且在其上可以执行扫描输入移位操作的扫描通道。在本文,术语“扫描输出通道”可以指代提供与扫描输出移位操作关联的扫描输出的扫描通道,并且它们的输出(例如,扫描输出)可以与期望的扫描输出比较,以确定DUT的任何故障或诊断。应该注意,在一些实施方式中,例如,在存在扫描压缩中,与I/O端口通信耦合的扫描通道可以与内部扫描链不同,这取决于到DUT的I/O端口的内部扫描链的电路耦合(hook-up)配置。
图2示出根据一个实施例的示例DUT 200。DUT 200可以具有与I/O端口关联的多个扫描通道(例如,扫描通道130)。I/O端口可以与参考图1示出的I/O端口120相同。在一个示例中,不同数量的I/O端口可以用作接收扫描输入的输入端口或用作在每种测试图案结构(示为202)上提供扫描输出(示出为212)的输出端口。在本文,术语“测试图案结构”可以指代测试图案,或测试图案的多个测试周期的一个测试周期,或包括多个测试图案的测试模式。例如,如果在DUT中存在数量为M的I/O端口,则来自数量为M的I/O端口中的数量为M1的I/O端口可以被选择为输入端口,以及来自数量为M的I/O端口的数量为M2的I/O端口可以被选择为输出端口。在一个示例中,M1可以在从0到M范围中变化,以及M2可以在从0到M范围中变化,以及针对具体测试图案结构,M1和M2的总数等于M。例如,如果存在32个扫描I/O端口,则20个端口可以被选择为输入端口,而剩余12个端口可以被选择为输出端口。在该示例中,可以在20个输入端口处提供对应于测试图案结构(包括测试图案的具体测试周期、测试图案或包括测试图案的测试模式)的扫描输入,并且可以在与20个输入端口通信耦合的扫描通道处执行扫描输入移位操作。在该示例中,可以从被选择为输出端口的12个端口接收对应于测试图案结构(示出为202)的扫描输出(示出为212)。例如,可以在一些扫描通道处执行对应于测试图案结构的扫描输出移位操作,并且来自这些扫描通道的扫描输出可以被提供到12个输出端口。可以注意到,除了驱动扫描输入和接收扫描输出之外,I/O端口还必须提供诸如时钟、复位、扫描使能、测试模式值等的测试控制信号。因此,同样地,在一些实施方式中,实际上少于32个I/O端口的一些端口可以用于扫描I/O端口。
基于至少一个控制信号执行输入端口或输出端口的每个I/O端口的可变选择。可以从控制电路或利用计算机程序指令的任何处理系统产生至少一个控制信号。在一个示例中,在DUT 200中可以配置控制电路250。可替换地或附加地,控制电路250可以是测试系统的一部分。控制信号可以基于具体测试图案结构来产生。在一个实施例中,控制电路250可以体现在专用集成电路(ASIC)或现场可编程门阵列(FPGA)内,其被具体配置为诸如以本文描述的方式执行控制电路250的若干操作或它们的组合。在一个实施例中,控制电路250还可以包括存储器设备(例如,高速缓冲存储器)、时序设备(例如,实时时钟(real-timeclock,RTC))、可配置逻辑块(configurable logic block,CLB)阵列、可编程输入/输出块(IOB)阵列和/或附加电路系统或数据传输通道。
在一个实施例中,扫描通道还可以被选择为用于基于至少一个控制信号执行扫描输入移位操作的扫描通道和/或用于基于至少一个控制信号执行扫描输出移位操作的扫描通道。在一个实施例中,控制电路250被配置为产生用于选择执行扫描输入移位操作和/或扫描输出移位操作的扫描通道的控制信号。例如,基于每种测试图案结构,N个扫描通道(DUT中的总扫描通道)的数量为N1的扫描通道可以与数量为M1的端口通信地耦合以执行扫描输入移位操作;并且N个扫描通道的数量为N2的扫描通道可以与数量为M2的端口通信地耦合以执行扫描输出移位操作。例如,如果存在耦合到DUT中的I/O端口的总数为16的扫描通道,则10个扫描通道可以被选择用于接收输入测试图案(作为执行扫描输入移位操作的扫描输入通道),而扫描输出可以取自6个扫描通道。在该示例中,10个扫描通道可以通信地耦合到那些I/O端口,所述那些I/O端口被选择用于接收对应于测试图案结构的扫描输入,而6个扫描通道可以通信地耦合到那些I/O端口,所述那些I/O端口可以被选择用于提供对应于测试图案结构的扫描输出。
在一个实施例中,DUT中的扫描通道可以被分组成多个分区(partition)。例如,如果存在(与数量为M的I/O端口关联的)数量为N的扫描通道,则这些扫描通道可以被分组成扫描通道的多个分区(参见210)。例如,如果存在耦合到DUT 200中的32个I/O端口的16个扫描通道,扫描通道可以被分组成4个分区,其中每个分区包括4个扫描通道。在各种实施例中,扫描输入通道和扫描输出通道可以动态地选自16个扫描通道。在本技术的该实施例中,提供基于控制信号可变地选择来自可用扫描通道的扫描输入通道和扫描输出通道。应该注意,N(扫描通道的数量)可以大于或等于或小于M/2。例如,在一些情况下,N可以等于M/2,基中每个扫描通道被耦合到一对I/O端口。在一些形式中,例如,在扫描压缩中,N可以大于M/2。在扫描压缩实施方式中,数量为M的I/O端口可以重新映射到大数量(N)的内部扫描链(所谓的STUMPS通道)中。不失一般性,本技术的各种实施例可以应用到在模式上可变选择的扫描通道(用于执行扫描输入移位操作和/或扫描输出移位操作),而不论是否在DUT中使用扫描压缩。
DUT 200包括耦合到数量为N的扫描通道的每个的选择电路260,用于将每个扫描通道配置为扫描输入通道和扫描输出通道中的一个。在一个实施例中,选择电路260还被配置为从数量为M的I/O端口中选择数量为M1的端口和数量为M2的端口。选择电路260与用于接收产生的对应于测试结构(诸如,测试周期、测试图案和/或测试模式)的控制信号的控制电路250耦合。在一个示例中,选择电路260可以与DUT 200中的扫描通道的分区中的每个耦合,并且被配置为一次选择一个或更多个分区,和/或所选择的分区内的一个或更多个扫描通道。
在图2示出的实施例中,控制信号可以包括输入分区选择信号、输出分区选择信号和通道选择信号。
在接收到输入分区选择信号(示出为“信号1”)后,选择电路260被配置为从扫描通道的多个分区选择第一组分区用于执行扫描输入移位操作(即,所选择的分区的扫描通道用作扫描输入通道)。例如,如果DUT 200中存在4个分区(总共16个扫描通道),第一组分区可以包括基于输入分区选择信号选择的总分区的一个、两个、三个或所有四个分区。在一个示例中,四个分区(包括16个扫描通道)中的每个可以被选择用于扫描输入移位操作。在另一个示例中,第一组分区可以包括分别具有4个、8个或12个扫描通道的1个、2个或3个分区。因此,期望数量的分区以及期望数量的扫描通道可以被选择用于执行对应于测试图案结构的扫描输入移位操作。
在接收到通道选择信号(示为“信号2”)后,选择电路260被配置为从第一组分区(基于输入分区选择信号已经选择的DUT分区)选择扫描通道。例如,如果扫描通道的3个分区(即,总共12个扫描通道)被选择为第一组分区,则可以基于通道选择信号选择一些扫描通道(例如,9个扫描通道),以针对当前测试图案结构执行扫描输入移位操作。类似地,来自第一组分区的期望数量的分区可以被选择用于扫描输出移位操作。附加地,在一个实施例中,还可以基于通道选择信号从第一组分区选择一些分区(需要是有效的)。在一个示例中,针对每种测试结构(例如,针对移位操作周期或针对测试图案),每次可以要求第一组分区中选择的分区或分区内选择的扫描通道是有效的。例如,在一种情况下,DUT200中的两个分区可以被选择为第一组分区,并且仅一个分区被要求用于执行扫描输入移位操作,而其它分区仅用于初始化。在这种情况下,不是用于扫描输入移位和扫描输出移位(采集)操作的两个分区,而是仅一个分区被选择为有效的分区。此外,在一些情况下,扫描输入移位操作可以在分区中被部分地执行,例如,n/2扫描输入移位操作可以在一个分区的扫描通道中执行,而剩余的n/2扫描输入操作可以在另一个分区的扫描通道中执行(其中n为扫描输入移位操作的长度)。
在接收到输出分区选择信号后,选择电路260被配置为选择一个或更多个分区用于执行扫描输出移位操作。应该注意,基于输入分区选择信号,选择电路260被配置为选择DUT的一些或所有分区用于扫描输入移位操作,而基于输出分区选择信号,一些分区可以被选择用于扫描输出移位操作。应该注意,基于输出分区选择信号和输入分区选择信号的分区选择可以不相同。例如,虽然可以基于输入分区选择信号为所有分区启用扫描输入移位操作,然而,可以基于输出分区选择信号仅为一个分区启用扫描输出移位。这种启用可以用于实现较大的可观测性或用于诊断目的。而且,可以基于控制信号选择分区内的一些或所有扫描通道用于移入和/或移出。
图3示出根据一个实施例的一个示例DUT 300。DUT 300可以具有多个与I/O关联的多个扫描通道。I/O端口可以与参考图1示出的I/O端口120相同。
在该实施例中,除了参考图2描述的输入分区选择信号、输出分区选择信号和通道选择信号之外,(由控制电路350产生的)控制信号可以进一步包括输入选择信号和输出选择信号。在一个示例中,控制电路350在配置上可以是控制电路250的一个示例。
在图3的该实施例中,测试图案结构(诸如,测试图案结构202)可以包括至少一个共享的扫描输入(参见302)以及专用的扫描输入(参见304)。在一个示例中,共享的扫描输入可以被提供到DUT 300的每个分区(参见310)。专用扫描输入可以被提供到专用分区,并且每个分区可以接收其专用扫描输入。在一个示例中,选择电路360可以包括诸如多路复用器的设备,以选择对应于分区的专用扫描输入和共享扫描输入的一个。例如,在一种形式中,专用扫描输入的4个单独的输入流可以被提供到扫描通道的4个分区中的每个,进而驱动DUT 300的16个内部扫描通道。在另一个实施方式中,共享的输入测试图案的共同输入流可以被提供到4个分区中的每个,驱动DUT 300的16个内部扫描通道。应该注意,在一些其它形式中,共享的输入测试图案和专用输入测试图案可以重叠,并且测试图案的重叠输入流可以同时提供到DUT 300的4个分区。
选择电路360被配置为基于输入选择信号(参见信号4)选择共享的扫描输入和每个分区的专用的扫描输入中的至少一个。如参考图2(相对于选择电路260)已经描述的,选择电路360被配置为接收输入分区选择信号、通道选择信号和输出分区选择信号。在一个示例中,在接收到输入分区选择信号后,选择电路360被配置为选择扫描通道的一个或更多个分区用于执行对应于当前测试图案结构的扫描输入移位操作。此外,基于接收到通道选择信号,选择电路360被配置为基于输入分区选择信号选择DUT 300的分区或来自已经选择的分区(第一组分区)的分区内的选择扫描通道。此外,在接收到输出分区选择信号后,选择电路360被配置为选择用于一个或更多个分区执行对应于测试图案结构的扫描输出移位操作。此外,选择电路360被配置为基于输出选择信号(参见,信号5)选择每个分区的专用扫描输出(参见,362)和共享的扫描输出(参见,364)中的至少一个。在一个实施方式中,多个内部扫描输出能够被整体比较或被紧凑(compact)(例如,多个扫描输出的异或门(图3中示出的XOR门352)可以被执行以产生共享的扫描输出)以在DUT 300处驱动单个扫描输出(例如,共享的扫描输出364)。可替换地,多个内部扫描输出可以单独地被驱动到DUT 300的专用扫描输出端口。
基于参考图2和图3描述的各种实施例,应该注意,针对具体测试图案结构,可以从总数量为M的I/O端口选择数量为M1的端口作为输入端口,而数量为M2的端口可以被选择为输出端口,其中M1和M2从0到M变化;并且在扫描测试时的任何时刻,M1和M2的总和等于或小于M。类似地,可以将可变数量的扫描通道通信地耦合到输入端口和输出端口以分别执行扫描输入移位操作和扫描输出移位操作。例如,数量为N1的扫描通道可以被选择用于执行扫描输入移位操作,以及数量为N2的扫描通道可以被选择用于执行扫描输出移位操作。在一个实施例中,数量为N1的扫描通道可以通信地耦合到数量为M1的输入端口,而数量为N2的扫描通道可以通信地耦合到数量为M2的输出端口。在一些示例中,N1和N2可以大于、等于或小于M/2。例如,在一些实施方式中,N1和N2可以等于或小于M/2。在一些实施方式中,例如,在内部扫描通道的扫描压缩实施方式中,N1或N2可以大于M/2。
在一些示例情况下,可以要求DUT(诸如,DUT 200或300)的输出端口不具有驱动与DUT的输出端口和测试系统之间的连接关联的负载的驱动强度。例如,输出端口耦合到输出缓冲器,其驱动输出端口和测试系统的对应端口之间的连接。在一些情况下,可以期望所需要的输出缓冲器的数量应该被减少或完全消除。在这种情况下,扫描输出不从DUT的输出端口提供到测试系统,相反,输出端口用于从测试系统接收期望扫描输出,并且在DUT中,内在地执行期望扫描输出和(从扫描输出移位操作接收到的)实际扫描输出之间的比较。这种DUT的扫描测试进一步参考图4和图5A-5C解释。
图4示出根据本技术的一个示例实施例的DUT 400的示例测试。除了其它应用,该实施例可以用于这种情况,即其中在DUT 400的输出端口处不存在充足的驱动强度用于驱动输出端口和测试系统410中的对应端口之间的连接。在图4的实施例中,DUT 400的输出端口(例如,120,图4中未示出)可以用作输入端口,以从测试系统410接收测试图案结构或对应于测试图案结构的期望扫描输出。例如,测试系统410可以提供测试图案结构到与DUT400的扫描输入通道关联的输入端口。与扫描输出通道关联的输出端口可以从测试系统410接收对应于测试图案结构的期望扫描输出,而不从输出端口接收扫描输出。因此,可以消除对驱动输出端口和测试系统中的对应端口之间的连接的负载的需要(以及可以消除对输出缓冲器的需要)。
在该实施例中,当在DUT 400处从测试系统410接收对应于期望扫描输出(示为424)的输入(示为422)时,在DUT 400中内在地执行期望扫描输出(424)和实际扫描输出(示为412)的比较。在本文,如图4中所示的,从DUT 400的内部扫描通道420接收实际扫描输出412。应该注意,该实施例提供来自测试系统410的增加数量的扫描输入通道,而不牺牲扫描输出端口的数量或ATPG效率。此外,该实施例允许设计简化,因为扫描输出必须另外地由高强度(以及高电压)驱动器驱动(以考虑测试系统410及相关的板的负载)。在该实施例中,DUT 400包括在内部连接配置中耦合到DUT 400的扫描通道420(用于接收实际扫描输出)以及扫描输出端口(用于接收期望扫描输出)的比较器450。应该理解,DUT 400的扫描输出端口用作输入端口,因为这些端口从测试系统410接收对应于期望扫描输出的输入422。在一些实施例中,输入422可以与期望扫描输出424相同。在一些实施例中,可能需要禁用期望扫描输出424和实际扫描输出412的比较,并且因此,输入422可以包括期望扫描输出424和用于控制(启用/禁用)比较的一个或更多个比较使能信号。各种比较器配置参考图5进一步描述。
在一个实施例中,比较器450可以具有第一组M2个输入端(示为从1到M2)以及第二组M2个输入端(示为从1’到M2’),其中第一组M2个输入端能够与扫描通道耦合,第二组M2个输入端能够与数量为M2的端口(其初始被选择为输出端口)耦合。在一个实施例中,数量为M2的端口能够从测试系统接收期望扫描输出,并且这些端口用作输入端口。测试系统410在DUT 400的数量为M1的端口(选择为输入端口)处提供测试结构(诸如,测试图案或测试图案的测试周期)。与(在DUT400的N个输入端口处提供的)测试图案结构关联的扫描输出被提供到比较器450。例如,可以在数量为N1的扫描通道处执行对应于测试图案结构的扫描输入移位操作,并且可以在数量为N2的扫描通道处执行对应的扫描输出移位操作。在一个实施例中,可以在第一组M2个输入端接收来自数量为N2的扫描通道的扫描输出。比较器450还具有第二组M2个输入端,所述第二组M2个输入端耦合到DUT 400的数量为M2的端口,用于从测试系统410接收期望扫描输出。例如,比较器450被配置为从测试系统410接收与测试图案结构关联的期望扫描输出。比较器450进一步被配置为比较从数量为N2的扫描通道接收到的(在第一组M2个输入端接收到的)扫描输出与(在第二组M2个输入端接收到的)期望扫描输出,以产生测试结果(一个或更多个)。
DUT 400还包括存储寄存器460,其用于基于实际扫描输出和期望扫描输出的比较存储测试结果。存储寄存器460可以是能够以一个或更多个位的形式存储测试结果的缓冲器或存储器。存储寄存器460的示例可以包括一个或更多个触发器,诸如D触发器或锁存器。在该实施例中,其中DUT具有比较器450,控制信号可以是恒定信号,并且N1、N2、M1和M2的值可以基于恒定信号在DUT中被配置一次。例如,基于电熔丝(e-fuse)技术,N1、N2、M1和M2可以基于恒定信号被硬编码。
比较器450可以以各种配置设计,并且能够处理其中DUT输出可以不被指定用于测试图案结构的一些或所有周期的情况。这种情况的示例包括其中响应是由于DUT内的未初始化逻辑引起的“X”或未指定的值(“0”或“1”,但不可预测),或未解决的逻辑功能(例如,相对值处的两个信号网之间的连接)或由于馈送包括“不关心”值的扫描输入通道的输入数据流引起的上述中的任一种。在这些情况下,由于输出不是确定的“0”或“1”值,所以不需要比较对应的扫描通道输出。这种输出可以被称为“M”(指示“要被掩码的”)。在一个实施例中,如果扫描输出数据值包括“M”,则其从通过比较器450与期望扫描输出比较中排除,除了确定DUT 400的故障/无故障性质的比较所需要的正规逻辑“1”位和逻辑“0”之外。还可以存在其中应该忽略扫描输出以及需要避免其与期望扫描输出的比较的情况(例如,未知状态)。DUT中未知状态的示例可以包括新图案组的第一扫描图案何时被移入的情况,并且在这种情况下,必须阻止比较非初始化扫描触发器的扫描输出。此外,在一些情况下,在输入测试图案中可以提供强制的多个“M”,以确保图案鲁棒性,并且在这种情况下,不期望比较。
比较器450的各种配置能够确定扫描输出和期望扫描输出的比较何时必须被阻止的情况,以及参考图5A-5C描述的这些实施例。
图5A、图5B和图5C示出根据本技术的各种实施例的比较器的配置的示例。比较器450(诸如,比较器510、530和550)的一些示例分别在图5A、图5B和图5C中示出。
在图5A的实施例中,比较器510从DUT(诸如,DUT 400)的扫描通道接收扫描输出(参见512),并且从测试系统(诸如,测试系统410)接收期望扫描输出(参见514)。在该实施例中,从测试系统提供比较使能输入(参见516)到比较器510。在一个实施例中,基于比较使能输入516启用或禁用扫描输出和期望扫描输出514的比较。
可以通过为DUT中的每个输出端口提供两个扫描输入端口,配置图5A的实施例。例如,DUT的每个扫描输出端口被测试系统驱动的两个输入端口替代,并且两个输入端口与测试系统耦合。第一扫描输入端口(被配置用于每个输出端口)被配置为从测试系统接收期望扫描输出514,并且第二扫描输入端口(被配置用于每个输出端口)被配置为接收比较使能信号516。在一个实例中,如果断言比较使能信号(例如,逻辑“1”),启用比较并且通过比较器510比较扫描输出和期望扫描输出。此外,如果去断言比较使能信号(例如,逻辑“0”),禁用比较,并且在比较器510中阻止扫描输出和期望扫描输出的比较。
在图5B的实施例中,比较器520从DUT(诸如,DUT 400)的扫描通道接收扫描输出(参见512),并且从测试系统接收包括期望扫描输出和比较使能信号的输入(参见522)。在该实施例中,以具有来自DUT的扫描输出的时钟的频率的两倍的时钟提供包括比较使能信号和期望扫描输出的输入522。
在该实施例中,针对扫描输出512的每个周期,两个周期的输入522被提供到DUT的端口,其中在第一周期,输入522对应于比较使能输入,并且在第二周期,输入522对应于期望扫描输出。在一个实施例中,如果第一周期处的输入522(即,比较使能输入)指示比较是有效的(例如,在第一周期中测试系统提供的输入是逻辑“1”),在连续周期(第二周期)处的输入522用于与扫描输出数据的比较。此外,在一个实例中,如果第一周期中的输入522的值指示比较是无效的(例如,在第一周期中测试系统提供的输入522是逻辑“0”),在连续周期(第二周期)中的输入522不用于/阻止与扫描输出数据的比较。如图5B中示出的,输入522可以被提供到具有切换(toggling)选择线(参见,sel)的解多路复用器524,其在具体时钟周期中提供期望扫描输出(参见,516)和比较使能输入(参见,514)中的一个。因此,应该注意,在时钟周期中,基于先前时钟周期的比较使能输入执行期望扫描输出516和扫描输出512的比较。
在图5C的实施例中,比较器530从DUT(诸如,DUT 400)的扫描通道的输出端接收扫描输出512。在该实施例中,被提供到比较器530(来自测试系统)的输入532被认为比较使能信号。从测试系统接收到的输入532仅被解释为比较使能信号,并且进行比较的值是固定的,例如,1或0。在该实施例中,测试图案通过DUT的输入端口被两次应用到扫描输入通道,并且两遍执行扫描输出与固定的“1”或“0”的比较。在第一遍,仅比较有效的“1”;而在第二遍,仅比较有效的“0”。在该实施例中,对于两遍中的比较,都忽略不关心输入(X)或“M”值。在该实施例中,仅需要一个输入端口被配置用于DUT中的原始输出端口。可以通过测试模式寄存器控制设置两个模式(例如,两遍)(在一个应用中,到比较器的输入532被设置为1,而在第二个应用中,到比较器的输入532被设置为0)。测试系统在每个周期提供的输入532用于启用或禁用比较。
本技术的各种其它实施例提供比较器的实施方式的其它可能方式。例如,在一个实施方式中,DUT中能够内在地产生对应于具体扫描测试周期的具体信号,其中必须禁用扫描输出比较。这能够基于测试模式控制写序列(例如,测试仪描述语言(TesterDescription Language,TDL)内的具体实例)或通过内部产生的信号(即,在具体周期中,例如,扫描I/O流水线更新)启用,其中所述测试模式控制写序列用于描述有待由测试系统应用至DUT的测试图案。
在测试环境中可以利用图4的实施例和图5A、图5B和图5C提供的比较器的各种配置,其中晶片上的多个管芯(DUT)可以被同时测试。现参考图6,其根据一个示例实施例描述这种测试环境的示例描述(测试系统610和DUT 6201、6202,…,和620n的示意连接)。
在一个实例中,可以假设,测试系统610包括数量为P的端口,其被划分为I组。例如,测试系统610可以具有512个端口(示为P1,P2,…,P512),用于通过对应的扫描线提供测试图案结构。在该示例中,对应于512个端口的扫描线被划分为16组(示为组1,…,组16),其中每组包括32个扫描线,用于提供测试图案到DUT(示为6201,6202,…,620n)的一个或更多个DUT。例如,每组能够提供测试图案结构到具有32个I/O端口(包括用于接收扫描输入的端口和用于提供扫描输出的端口)的DUT。然而,如果DUT的每个具有N个(例如,8个)I/O端口,可以利用测试系统610的每组同时测试数量为J的这种DUT(例如,J等于4,其中4个DUT的每个可以具有小于或等于8的I/O端口)。例如,组1(用于提供测试图案结构)被耦合到4个DUT(诸如,DUT6201、DUT6202、DUT6203和DUT6204)。类似地,其它组(诸如,组16)耦合到4个DUT(诸如,DUT620n-3、DUT620n-2、DUT620n-1和DUT620n)。
在该实例中,对应于测试系统610的每组的4个DUT中的每个可以针对测试图案结构被测试,并且在每个DUT中提供的寄存器(例如,存储寄存器460)中存储对应的测试结果。例如,测试图案的扫描输入移位操作可以在每个DUT的4个扫描通道处执行。来自每个DUT的扫描通道的扫描输出(执行扫描输出移位操作)被提供到存在于每个DUT中的比较器。如参考图4所述的,比较器通过一些输出端口(用作接收期望扫描输出的输入端口)从测试系统接收期望扫描输出。比较器进一步被配置为比较扫描输出与期望扫描输出以确定每个DUT的任何故障或诊断每个DUT。
在该实施例中,通过测试系统的组来测试数量为J的DUT的每个,使得对于每种测试图案结构,防止扫描测试在扫描输入移位操作完成以及数量为J的DUT的每个的测试结果存储之前中止。例如,防止扫描测试在基于与数量为J的DUT的一个DUT关联的测试结果确定故障后中止,直到数量为J的DUT的每个的测试结果被存储。例如,如果利用测试系统610的组1来执行4个DUT(诸如,DUT 6201、DUT 6202、DUT6203和DUT 6204)的扫描测试,并且针对当前测试图案结构(例如,针对当前测试周期)在DUT 6202中检测到故障,则对应于当前测试图案结构的扫描测试被中止,直到完成DUT 6201、DUT 6202、DUT 6203和DUT6204中的每个的扫描测试。在一种形式中,对应于每个DUT 6201、DUT6202、DUT 6203和DUT 6204的测试结果被存储在存储寄存器中,并且仅在完成DUT 6201、DUT 6202、DUT 6203和DUT 6204中的每个的扫描测试之后,分析测试结果以确定DUT 6201、DUT 6202、DUT 6203和DUT 6204中的任何故障。因此,应该注意,在测试周期中完成(不中止)与组关联的(数量为J的DUT的)每个DUT的测试,不论数量为J的DUT的任何一个中的故障的确定。例如,测试所有DUT,并且存储对应于每个DUT的测试结果(无论故障或非故障),以及在没有任何中断的情况下,完成DUT的测试。
图7根据本技术的一个实施例示出用于测试被测设备(DUT)的方法700的流程图。在一个实例中,可以通过测试系统(诸如,测试系统150、410和610)和/或一个或更多个DUT(诸如,DUT 120、DUT 200、DUT 300、DUT 400和DUT 6201-620n)执行方法700。如在前述图1到图6中所述的,DUT可以包括与数量为M的输入/输出(I/O)端口关联的数量为N的扫描通道。
在705处,方法700包括产生与测试图案结构关联的至少一个控制信号。测试图案结构的示例可以包括,但不限于,测试图案、测试图案的测试周期或测试模式。从测试系统接收测试图案结构用于扫描测试至少一个DUT。在710处,方法700包括从数量为M的I/O端口中选择数量为M1的端口,用于基于至少一个控制信号接收扫描输入。在一个实例中,M1可从0到M变化。在715处,方法700包括从数量为M的I/O端口中选择数量为M2的端口,用于基于至少一个控制信号接收扫描输出,其中M2从M到0变化。在一个实例中,在对应于扫描图案结构的扫描测试的任何时刻,M1和M2的总和小于或等于M。
在一个实施例中,在720处,方法700可以可选地包括将数量为N1的扫描通道(选自数量为N的扫描通道)通信地耦合到数量为M1的端口,用于基于至少一个控制信号执行扫描输入移位操作。在一个实施例中,在725处,方法700可以可选地包括将数量为N2的扫描通道(选自数量为N的扫描通道)通信地耦合到数量为M2的端口,用于基于至少一个控制信号执行扫描输出移位操作。在一个实施例中,N1可以从0到N变化,N2可以从N到0变化,以及N1和N2的值可以小于、大于或等于M/2,这取决于到DUT的I/O端口的内部扫描链的各种实施方式和电路耦合配置。
在一个实施例中,将N1个扫描通道与(被选择用于接收扫描输入的)数量为M1的端口通信地耦合以基于控制信号执行扫描输入移位操作,以及将N2个扫描通道与(被选择用于提供扫描输出的)数量为M2的端口通信地耦合以基于控制信号执行针对扫描输出移位操作。在一个实施例中,控制信号可以由控制电路产生,或由任何处理系统利用计算机程序指令产生。在一个实例中,控制电路可以在DUT中被配置。可替换地或附加地,控制电路可以是测试系统的一部分。可以基于具体测试图案和/或测试模式产生控制信号。
在一个实施例中,控制信号可以包括输入分区选择信号、输出分区选择信号和通道选择信号。如参考图2和图3所描述的,DUT的扫描通道可以被分组成多个分区。在一个实施例中,方法700可以包括基于输入分区选择信号从多个分区中选择第一组分区,用于扫描输入移位操作。在一个实施例中,方法700还可以包括基于通道选择信号选择第一组分区中的一个或更多个分区。在该实施例中,方法700还可以包括选择第一组分区中的一个或更多个通道,用于扫描输入移位操作。因此,应该注意,方法700能够动态地选择用于执行扫描输入移位操作和/或扫描输出移位操作的扫描通道,并且可以基于每种测试模式以及每种测试周期来动态选择扫描通道。
在一些实施例中,测试图案结构可以包括共享扫描输入测试图案和对应于多个分区的专用扫描输入测试图案中的至少一个。如参考图3所描述的,共享扫描输入可以是被提供到每个分区的共同输入,而专用扫描输入可以是被提供到多个分区的对应分区。
在一个实施例中,除了输入分区选择信号、输出分区选择信号和通道选择信号之外,控制信号还可以包括输入选择信号和输出选择信号。方法700可以进一步包括基于输入选择信号选择共享扫描输入和每个分区的专用扫描输入中的至少一个。此外,方法700包括在接收到输出分区选择信号后选择一个或更多个分区以用于执行扫描输出移位操作。此外,方法700包括基于输出选择信号选择共享输出和每个分区的专用输出中的至少一个。
在730处,方法700包括基于将扫描输入提供到数量为M1的端口和从数量为M2的端口接收扫描输出来执行至少一个DUT的扫描测试。如上所解释的,至少一个DUT的扫描测试包括在数量为N1的扫描通道处执行的扫描输入移位操作以及在数量为N2的扫描通道处执行的扫描输出移位操作。在一些实施例中,方法700包括在数量为N1的扫描通道处提供对应于测试图案结构的扫描输入。此外,方法700包括将从数量为N2的扫描通道接收到的扫描输出提供到DUT中配置的比较器。方法700还包括通过至少一个DUT的数量为N2的输出端口将对应于测试图案结构的期望扫描输出从测试系统提供到比较器。此外,方法700包括比较与数量为N2的扫描通道关联的扫描输出与通过数量为N2的输出端口接收到的期望扫描输出,以产生对应于测试图案结构的测试结果。此后,方法700包括存储对应于测试图案结构的测试结果。
基于参考图2到图7描述的各种实施例,应该注意,根据I/O端口的总数量(例如,M),数量从0到M的I/O端口可以被选择为输入端口或输出端口。在DUT扫描测试期间的具体时刻,输入端口和输出端口的数量的总和可以小于或等于I/O端口的总数量(例如,M)。类似地,基于扫描图案结构,从数量为N的扫描通道(例如,N),0到N个扫描通道可以被选择为扫描输入通道,并且0到N个扫描通道可以被选择为扫描输出通道。
本文公开的示例实施例中的一个或更多个的技术效果是动态选择输入端口、输出端口和扫描通道,以用于执行扫描输入移位操作和扫描输出移位操作。该输入端口、输出端口和扫描通道可以基于每种测试图案、每种测试周期或每种测试模式被动态分配。各种实施例的实施方式能够在存在具有不同扫描输入/扫描输出需求的多个内核的情况下在可控制性、可观测性、可诊断性和测试并发性方面改善ATPG效率。此外,测试时间被大大减少,因为出于对称的理由,不需要基于扫描测试期间端口和扫描通道的动态选择执行过多的扫描输入/扫描输出操作。此外,各种实施例为扫描测试提供机制,其中DUT中存在驱动强度限制,用于通过在DUT中内部提供扫描输出和期望扫描输出的比较来驱动测试系统和DUT之间的输出负载。
可以使用硬件电路系统(例如,基于互补金属氧化物半导体(CMOS)的逻辑电路系统)、固件、软件和/或硬件、固件和/或(例如,体现在机器可读介质中)的任何组合启用并操作本文描述的各种系统、模块等。例如,可以使用晶体管、逻辑门和电气电路(例如,专用集成电路(ASIC)电路系统和/或数字信号处理器(DSP)电路系统)体现各种模块和方法。
具体地,可以使用软件和/或使用晶体管、逻辑门和电气电路(例如,集成电路电路系统,诸如,如ASIC电路系统)启用图2和图3中的控制电路250或350。本公开的实施例包括存储在或以其它方式体现在计算机可读介质上的一个或更多个计算机程序,其中计算机程序被配置为使处理器执行方法700的一个或更多个操作。存储、体现或编码有计算机程序或类似语言的计算机可读介质可以被体现为存储一个或更多个软件程序的有形数据存储设备,该一个或更多个软件程序被配置为使处理器执行一个或更多个操作。例如,这种操作可以是本文描述的任何步骤或操作。附加地,有形数据存储设备可以被体现为一个或更多个易失性存储器设备、一个或更多个非易失性存储器设备和/或一个或更多个易失性存储器设备和非易失性存储器设备的组合。
本领域技术人员将认识到,在所要求保护的发明的范围内,可以对所述实施例进行修改,并且许多其它实施例是可能的。

Claims (20)

1.一种测试被测设备即DUT的方法,至少一个DUT包括与数量为M的输入/输出端口即I/O端口关联的数量为N的扫描通道,所述方法包括:
产生与测试图案结构关联的至少一个控制信号,所述测试图案结构被配置为经实施以扫描测试所述至少一个DUT;
从所述数量为M的I/O端口中选择数量为M1的端口,以便基于所述至少一个控制信号接收对应于所述测试图案结构的扫描输入;
从所述数量为M的I/O端口中选择数量为M2的端口,以便基于所述至少一个控制信号提供对应于所述测试图案结构的扫描输出,M1和M2中的每个是选自0到M之间的数值范围的数值,并且M1和M2的总和小于或等于M;以及
基于将所述扫描输入提供到所述数量为M1的端口以及从所述数量为M2的端口接收所述扫描输出,执行所述至少一个DUT的扫描测试。
2.根据权利要求1所述的方法,还包括:
将来自所述数量为N的扫描通道的数量为N1的扫描通道与所述数量为M1的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输入的扫描输入移位操作;以及
将来自所述数量为N的扫描通道的数量为N2的扫描通道与所述数量为M2的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输出的扫描输出移位操作。
3.根据权利要求2所述的方法,其中所述至少一个控制信号包括输入分区选择信号、输出分区选择信号和通道选择信号,并且其中所述数量为N的扫描通道被分组为多个分区。
4.根据权利要求3所述的方法,还包括:
基于所述输入分区选择信号从所述多个分区选择第一组分区,用于执行所述扫描输入移位操作;
基于所述通道选择信号选择下列项中的至少一个:
用于所述扫描输入移位操作的所述第一组分区的一个或更多个扫描通道;以及
用于所述扫描输出移位操作的所述第一组分区的一个或更多个扫描通道;以及
基于所述输出分区选择信号从所述多个分区选择第二组分区,用于执行所述扫描输出移位操作。
5.根据权利要求4所述的方法,其中所述至少一个控制信号包括输入选择信号和输出选择信号,并且其中所述测试图案结构包括共享扫描输入和对应于所述多个分区的多个专用扫描输入中的至少一个,并且其中所述方法还包括:
基于所述输入选择信号,选择所述测试图案结构的共享扫描输入和每个分区的所述测试图案结构的专用扫描输入中的至少一个,所述共享扫描输入是被提供到每个分区的共同输入,而所述多个专用扫描输入能够提供到所述多个分区;以及
基于所述输出选择信号,选择对应于所述扫描输出的共享扫描输出和来自每个分区的对应于所述扫描输出的专用输出中的至少一个。
6.根据权利要求1所述的方法,其中所述至少一个DUT包括比较器,所述比较器具有能够与所述数量为N2的扫描通道通信地耦合的第一组M2个输入端,以及能够与所述数量为M2的端口通信地耦合的第二组M2个输入端,所述数量为M2的端口能够从测试系统接收期望扫描输出,并且其中测试所述至少一个DUT还包括:
将对应于所述测试图案结构的所述扫描输出提供到所述比较器的所述第一组M2个输入端,从所述数量为N2的扫描通道接收所述扫描输出;
将对应于所述测试图案结构的期望扫描输出提供到所述比较器的所述第二组M2个输入端;
比较提供到所述第一组M2个输入端的所述扫描输出和提供到所述第二组M2个输入端的所述期望扫描输出,以产生测试结果;以及
存储所述测试结果。
7.根据权利要求6所述的方法,还包括将比较使能输入提供到所述比较器,其中基于所述比较使能输入启用或禁用所述扫描输出和所述期望扫描输出的所述比较。
8.根据权利要求6所述的方法,还包括以具有与所述扫描输出移位操作关联的时钟的频率两倍的频率的时钟提供来自所述测试系统的输入,所述输入包括比较使能输入和所述期望扫描输出,其中基于先前时钟周期下的所述比较使能输入在时钟周期下执行所述期望扫描输出和所述扫描输出的所述比较。
9.根据权利要求6所述的方法,其中所述测试系统包括被划分成数量为I的组的数量为P的端口,每组与数量为P/I的端口关联,每组能够测试数量为J的DUT,所述数量为J的DUT的每个包括具有所述第一组M2个输入端和所述第二组M2个输入端的所述比较器,以及其中测试组中的所述数量为J的DUT包括:
比较提供到所述数量为J的DUT中的每个的所述比较器的所述第一组M2个输入端的所述扫描输出和提供到所述数量为J的DUT中的每个的所述比较器的所述第二组M2个输入端的所述期望扫描输出,以产生测试结果;以及
在比较所述扫描输出和所述期望扫描输出后,将与所述每个DUT关联的所述测试结果存储到与所述每个DUT关联的寄存器,其中针对所述数量为J的DUT执行所述扫描测试,以便防止所述扫描测试在基于与所述数量为J的DUT的一个DUT关联的测试结果确定故障后、在针对所述数量为J的DUT的每个存储所述测试结果之前中止。
10.根据权利要求1所述的方法,其中所述至少一个控制信号是下列信号中的至少一个:
恒定信号;以及从所述测试系统或所述至少一个DUT产生的信号。
11.一种被测设备即DUT,其能够由测试系统测试扫描,所述DUT包括:
数量为M的输入/输出端口即I/O端口,来自所述数量为M的I/O端口的每个I/O端口被配置为接收对应于测试图案结构的扫描输入并且提供对应于所述测试图案结构的扫描输出;
多个扫描通道,其与所述数量为M的I/O端口耦合并且被配置为接收所述扫描输入以及提供所述扫描输出;以及
选择电路,其与来自所述数量M的I/O端口的每个I/O端口和来自所述多个扫描通道的每个扫描通道耦合,所述选择电路被配置为:
从所述数量为M的I/O端口中选择数量为M1的I/O端口,以基于至少一个控制信号接收所述扫描输入,以及
从所述数量为M的I/O端口中选择数量为M2的I/O端口,以基于所述至少一个控制信号提供所述扫描输出,M1和M2中的每个是选自0到M之间的数值范围的数值,并且M1和M2的总和小于或等于M。
12.根据权利要求11所述的DUT,其中所述选择电路进一步被配置为:
将来自所述数量为N的扫描通道的数量为N1的扫描通道与所述数量为M1的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输入的扫描输入移位操作;以及
将来自所述数量为N的扫描通道的数量为N2的扫描通道与所述数量为M2的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输出的扫描输出移位操作。
13.根据权利要求12所述的DUT,其中所述至少一个控制信号包括输入分区选择信号、输出分区选择信号和通道选择信号,并且其中所述数量为N的扫描通道被分组为多个分区。
14.根据权利要求13所述的DUT,还包括:
基于所述输入分区选择信号从所述多个分区选择第一组分区,用于执行所述扫描输入移位操作;
基于所述通道选择信号选择下列项中的至少一个:
用于所述扫描输入移位操作的所述第一组分区的一个或更多个扫描通道;以及
用于所述扫描输出移位操作的所述第一组分区的一个或更多个扫描通道;以及
基于所述输出分区选择信号从所述多个分区选择第二组分区,用于执行所述扫描输出移位操作。
15.根据权利要求14所述的DUT,其中所述至少一个DUT还包括比较器,所述比较器具有能够与所述数量为N2的扫描通道通信地耦合的第一组M2个输入端,以及能够与所述数量为M2的端口通信地耦合的第二组M2个输入端,所述数量为M2的端口能够从测试系统接收期望扫描输出,并且其中测试所述至少一个DUT还包括:
将对应于所述测试图案结构的所述扫描输出提供到所述比较器的所述第一组M2个输入端,从所述数量为N2的扫描通道接收所述扫描输出;
将对应于所述测试图案结构的期望扫描输出提供到所述比较器的所述第二组M2个输入端;
比较提供到所述第一组M2个输入端的所述扫描输出和提供到所述第二组M2个输入端的所述期望扫描输出,以产生测试结果;以及
存储所述测试结果。
16.根据权利要求11所述的DUT,还包括用于基于所述测试图案结构产生所述至少一个控制信号的控制电路。
17.根据权利要求15所述的DUT,其中所述比较器被配置为接收比较使能输入,以用于启用或禁用所述扫描输出和所述期望扫描输出的所述比较。
18.一种用于被测设备即DUT的扫描测试的测试系统,至少一个DUT包括与数量为M的输入/输出端口即I/O端口关联的数量为N的扫描通道,所述测试系统包括:
控制电路,其被配置为基于测试图案结构产生至少一个控制信号,所述测试图案结构被配置为经实施以执行所述至少一个DUT的扫描测试,并且所述至少一个控制信号被配置为启用:
从所述数量为M的I/O端口中选择数量为M1的I/O端口,以基于所述至少一个控制信号接收对应于所述测试图案结构的扫描输入,以及
从所述数量为M的I/O端口中选择数量为M2的端口,以基于所述至少一个控制信号提供对应于所述测试图案结构的扫描输出,M1和M2中的每个是选自0到M之间的数值范围的数值,以及M1和M2的总和小于或等于M,使得所述扫描测试被配置为基于提供所述扫描输入到所述数量为M1的端口以及从所述数量为M2的端口接收所述扫描输出而被执行。
19.根据权利要求18所述的测试系统,其中所述至少一个控制信号使得所述至少一个DUT中的所述选择电路进一步执行:
将来自所述数量为N的扫描通道的数量为N1的扫描通道与所述数量为M1的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输入的扫描输入移位操作;以及
将来自所述数量为N的扫描通道的数量为N2的扫描通道与所述数量为M2的端口通信地耦合,以基于所述至少一个控制信号执行对应于所述扫描输出的扫描输出移位操作。
20.根据权利要求19所述的测试系统,其中所述至少一个控制信号包括输入分区选择信号、输出分区选择信号和通道选择信号,并且其中所述数量为N的扫描通道被分组为多个分区。
CN201480003921.1A 2013-01-24 2014-01-24 用于动态分配扫描测试资源的电路和方法 Active CN104903736B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/749,623 2013-01-24
US13/749,623 US8839063B2 (en) 2013-01-24 2013-01-24 Circuits and methods for dynamic allocation of scan test resources
PCT/US2014/012891 WO2014116914A1 (en) 2013-01-24 2014-01-24 Circuits and methods for dynamic allocation of scan test resources

Publications (2)

Publication Number Publication Date
CN104903736A CN104903736A (zh) 2015-09-09
CN104903736B true CN104903736B (zh) 2019-03-15

Family

ID=51208740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480003921.1A Active CN104903736B (zh) 2013-01-24 2014-01-24 用于动态分配扫描测试资源的电路和方法

Country Status (4)

Country Link
US (1) US8839063B2 (zh)
JP (1) JP6444317B2 (zh)
CN (1) CN104903736B (zh)
WO (1) WO2014116914A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9689922B2 (en) * 2013-12-20 2017-06-27 Advantest Corporation Online design validation for electronic devices
TWI629493B (zh) * 2014-10-29 2018-07-11 南韓商因諾帝歐股份有限公司 積體電路晶片測試裝置,方法及系統
US10217498B2 (en) * 2016-09-12 2019-02-26 Qualcomm Incorporated Techniques for preventing tampering with PROM settings
CN110687437A (zh) * 2019-09-03 2020-01-14 天津大学 一种扫描测试压缩的优化方法
US11105853B1 (en) 2020-02-28 2021-08-31 International Business Machines Corporation Empirical LBIST latch switching and state probability determination
US11733290B2 (en) * 2020-03-31 2023-08-22 Advantest Corporation Flexible sideband support systems and methods

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195050A (en) * 1990-08-20 1993-03-16 Eastman Kodak Company Single chip, mode switchable, matrix multiplier and convolver suitable for color image processing
FI100136B (fi) * 1993-10-01 1997-09-30 Nokia Telecommunications Oy Menetelmä integroidun piirin testaamiseksi sekä integroitu piiri
US5383143A (en) * 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
US5732246A (en) * 1995-06-07 1998-03-24 International Business Machines Corporation Programmable array interconnect latch
DE69502827T2 (de) * 1995-08-10 1998-10-15 Hewlett Packard Gmbh Elektronischer Schaltungs- oder Kartenprüfer und Verfahren zur Prüfung einer elektronischen Vorrichtung
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology
JP2000504830A (ja) * 1996-02-06 2000-04-18 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 集積回路デバイスを試験する組立体および方法
US5991909A (en) * 1996-10-15 1999-11-23 Mentor Graphics Corporation Parallel decompressor and related methods and apparatuses
US5991898A (en) * 1997-03-10 1999-11-23 Mentor Graphics Corporation Arithmetic built-in self test of multiple scan-based integrated circuits
JP2000353783A (ja) * 1999-04-05 2000-12-19 Matsushita Electric Ind Co Ltd 半導体装置
US6327687B1 (en) * 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
US7028239B2 (en) 2000-12-29 2006-04-11 Intel Corporation Microprocessor on-chip testing architecture and implementation
US6950974B1 (en) * 2001-09-07 2005-09-27 Synopsys Inc. Efficient compression and application of deterministic patterns in a logic BIST architecture
JP2004037254A (ja) * 2002-07-03 2004-02-05 Matsushita Electric Ind Co Ltd スキャンテスト装置
JP2004191149A (ja) * 2002-12-10 2004-07-08 Matsushita Electric Ind Co Ltd スキャンテスト回路およびテスト方法
JP2006329876A (ja) * 2005-05-27 2006-12-07 Nec Electronics Corp 半導体集積回路及びそのテスト方法
US7487419B2 (en) 2005-06-15 2009-02-03 Nilanjan Mukherjee Reduced-pin-count-testing architectures for applying test patterns
JP2007003423A (ja) * 2005-06-24 2007-01-11 Toshiba Corp 半導体集積回路およびその制御方法
US7945834B2 (en) * 2005-11-02 2011-05-17 Nxp B.V. IC testing methods and apparatus
CN1996035B (zh) * 2005-12-31 2012-01-25 旺玖科技股份有限公司 用于多芯片组件的具有可规划扫描链的装置
US8522096B2 (en) 2010-11-02 2013-08-27 Syntest Technologies, Inc. Method and apparatus for testing 3D integrated circuits
US8566658B2 (en) * 2011-03-25 2013-10-22 Lsi Corporation Low-power and area-efficient scan cell for integrated circuit testing

Also Published As

Publication number Publication date
US8839063B2 (en) 2014-09-16
US20140208177A1 (en) 2014-07-24
JP2016505859A (ja) 2016-02-25
CN104903736A (zh) 2015-09-09
JP6444317B2 (ja) 2018-12-26
WO2014116914A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
CN104903736B (zh) 用于动态分配扫描测试资源的电路和方法
US11125818B2 (en) Test access mechanism controller including instruction register, instruction decode circuitry
US8977920B2 (en) DDR circuitry data and control buses connected to test circuitry
US9678152B2 (en) Scan chain latch design that improves testability of integrated circuits
JP6544772B2 (ja) スキャンテスト用のテストモード制御信号を生成可能な集積回路
CN102944831B (zh) 自动化测试中扩展输入输出通道的方法
US8819508B2 (en) Scan test circuitry configured to prevent violation of multiplexer select signal constraints during scan testing
US20120331362A1 (en) Integrated circuit comprising scan test circuitry with controllable number of capture pulses
US8700962B2 (en) Scan test circuitry configured to prevent capture of potentially non-deterministic values
US7818643B2 (en) Method for blocking unknown values in output response of scan test patterns for testing circuits
CN107345997B (zh) 一种基于测试壳的ip核测试方法
US7702979B2 (en) Semiconductor integrated circuit incorporating test configuration and test method for the same
Zadegan et al. Robustness of TAP-based scan networks
CN105911461B (zh) 环形链分时复用测试端口的测试结构
US20090044064A1 (en) Scan path circuit and semiconductor integrated circuit

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant