用于动态分配扫描测试资源的电路和方法
【技术领域】
[0001]本发明大体涉及诸如多个集成电路即IC的半导体设备的扫描测试。
【背景技术】
[0002]在一个示例情况下,集成电路或其它半导体设备设计的测试可能是制造过程中的基本步骤,并且可能涉及各种挑战(诸如,例如使用穷举测试码(exhaustivetest pattern),以及同时减少设计的测试中涉及的整体测试时间和成本)。用于减少测试中涉及的测试时间和成本的一些示例技术可以包括利用适当的可测试性设计技术(design for testability, DFT)(其适合于自动测试图案产生(automatic test patterngenerat1n, ATPG)和ATPG工具)来设计要被测试的设备(称为被测试设备(devicesunder test,DUT)),以便支持使用不同测试仪的测试应用。一些测试仪的示例可以包括非常低成本测试仪(very low cost tester, VLCT)或高端测试仪。
[0003]在各种示例情况下,用于测试仪以及用于校正操作的多个DUT中的大多数硬件实施方式利用ATPG工具产生的图案联合执行扫描输入移位操作(scan-1n shift operat1n,扫描输入/扫入移位操作)和扫描输出移位操作(scan-out shift operat1n,扫描输出/扫出移位操作)。在各种情况下,期望的可控制性(基于扫描输入操作)以及期望的可观测性(基于扫描输出操作)可能不同,并且在这种情况下,一些测试周期和相关的资源可能不被完全利用。这种情况的示例包括多个相同内核或不相同内核的测试。例如,在某些设备中,基于每个测试图案,要被移入的数据量不必与要被移出的数据量相同。这种情况的另一个示例(其中期望的可控制性和期望的可观测性可能不同)是将被扫描输入或扫描输出的扫描通道的部分。另一个这种情况可以是在不止一个测试图案中,具体模块中的相同扫描输入值能够用于测试其它相邻模块中的故障。另一种情况是若干模块的初始化可能需要若干扫描输入操作,以便设置不同模块的各个扫描链的状态,而基于每种模式观测几个扫描链可能是足够的,以便获得目标收敛。
[0004]此外,当多个DUT的输入/输出(I/O)端口与对应的测试仪的端口耦合时,控制扫描输入或扫描输出移位操作的时钟频率受下列项约束:(I)测试仪扫描通道中的数据转换速度,以及⑵针对该时钟频率,匹配DUT I/O与在测试系统的板上看到的负载。在各种情况下,DUT的输出端口可能不具有充足的驱动强度以驱动DUT和VLCT之间的连接上的负载,并且低强度I/O可能损害移位速度以及还可能影响测试时间。
【发明内容】
[0005]公开用于设备(被测设备(DUT))的扫描测试的各种方法、设备的配置和测试系统。至少一个DUT包括与数量为M的输入/输出(I/O)端口关联的数量为N的扫描通道,其中N和M两者都为整数值。测试被测设备(DUT)的方法包括产生与测试图案结构关联的至少一个控制信号,其中从用于扫描测试至少一个DUT的测试系统接收测试图案结构。该方法进一步包括从数量为M的I/O端口中选择数量为Ml的端口,以基于至少一个控制信号接收对应于测试图案结构的扫描输入。该方法进一步包括从数量为M的I/O端口中选择数量为M2的端口,以基于至少一个控制信号提供对应于测试图案结构的扫描输出,其中Ml和M2的每个选自O到M的数值(例如,整数值),并且其中Ml和M2的总和小于或等于M。此后,该方法包括基于将扫描输入提供到数量为Ml的端口以及从数量为M2的端口接收扫描输出来执行至少一个DUT的扫描测试。
[0006]在一个实施例中,该方法进一步包括将来自数量为N的扫描通道中的数量为NI的扫描通道与数量为Ml的端口通信地耦合,以便基于至少一个控制信号执行对应于扫描输入的扫描输入移位操作。该方法进一步包括将来自数量为N的扫描通道中的数量为N2的扫描通道与数量为M2的端口通信地耦合,以便基于至少一个控制信号执行对应于扫描输出的扫描输出移位操作。因为Ml个端口用于移入扫描输入数据,且因为M2个端口用于移出扫描输出数据,M个端口连接到N个内部扫描通道,其中在各种实施例中提供两个实施方式(具有扫描压缩和不具有扫描压缩)。
[0007]附加地,在一个实施例中,公开一种能够由测试系统扫描测试的DUT。DUT包括数量为M的输入/输出(I/O)端口,其中每个I/O端口能够被操作为用于接收对应于测试图案结构的扫描输入和提供对应于测试图案结构的扫描输出的端口。DUT进一步包括与数量为M的I/O端口通信耦合的多个扫描通道,以便这些扫描通道被配置为接收扫描输入并提供扫描输出。DUT进一步包括与数量为M的I/O端口以及多个扫描通道的每个通信耦合的选择电路。选择电路被配置为从数量为M的I/O端口中选择数量为Ml的端口,以便基于至少一个控制信号接收扫描输入,以及从数量为M的I/O端口中选择数量为M2的端口,以便基于至少一个控制信号提供扫描输出,其中Ml和M2中的每个是选自O到M的数值,并且其中Ml和M2的总和小于或等于M。
[0008]另外,在一个实施例中,公开一种被配置为用于测试多个DUT的测试系统,其中至少一个DUT包括与数量M的输入/输出(I/O)端口关联的数量为N的扫描通道。测试系统包括控制电路,该控制电路被配置为基于测试图案结构产生至少一个控制信号,其中测试图案结构通过用于扫描测试至少一个DUT的测试系统提供到至少一个DUT。至少一个控制信号使得从数量为M个的I/O端口中选择数量为Ml的端口,以便基于至少一个控制信号接收对应于测试图案结构的扫描输入。至少一个DUT进一步执行从数量为M的I/O端口中选择数量为M2的端口,以基于至少一个控制信号提供对应于测试图案结构的扫描输出,其中Ml和M2中的每个选自O到M的数值(例如,整数值),并且其中Ml和M2的总和小于或等于M。至少一个DUT的扫描测试基于提供扫描输入到数量为Ml的端口以及从数量为M2的端口接收扫描输出来执行。
【附图说明】
[0009]图1示出根据一个示例情况的晶片上的多个被测设备(DUT)和测试系统的示例示意性表不。
[0010]图2示出根据本技术的一个示例实施例的示例DUT ;
[0011]图3示出根据本技术的一个示例实施例的示例DUT ;
[0012]图4示出根据本技术的一个示例实施例的DUT的示例测试;
[0013]图5A、图5B和图5C示出根据本技术的一个实施例的若干示例比较器配置;
[0014]图6是根据本技术的一个实施例的多站点扫描测试范例中的测试系统和若干DUT的示例连接的示意性表示;以及
[0015]图7示出根据本技术的一个实施例的测试DUT的示例方法的流程图。
【具体实施方式】
[0016]本技术的各种实施例提供动态选择输入/输出端口作为被测设备(DUT)的输入端口或输出端口。各种实施例还提供动态选择DUT中的扫描通道以在扫描测试期间执行扫描输入移位操作和/或扫描输出移位操作。因此,各种实施例提供测试资源的动态分配(诸如,DUT中的扫描通道和I/O端口),以便DUT的高效和低成本扫描测试。
[0017]图1示出在一个示例情况下包括多个管芯(die)的示例晶片100。晶片100可以与测试系统(诸如ATE(自动测试仪器))耦合,其中测试系统可以是用于执行晶片100处存在的一个或更多个管芯的测试的高端测试仪或非常低成本测试仪(VLCT)。在一个示例中,单个管芯可以包括一个或更多个设备,并且设备可以被单独地分割/封装。在一个示例中,一个设备可以具有可以耦合到用于执行设备的扫描测试的测试系统的多个电路或部件或模块。为了描述的目的,因此,每个管芯可以表示可以与用于设备的扫描测试的VLCT耦合的设备,并且此后,管芯还被称为单个DUT,虽然其可以包括不止一个DUT。
[0018]如图1中示出的,晶片100可以包括多个DUT(诸如晶片中的DUT110),该晶片可以与用于执行DUT 110的扫描测试的测试系统150耦合。在一个示例中,测试系统150可以具有多个端口,该多个端口能够与DUT的对应端口耦合,以执行多个DUT的扫描测试。例如,在一个示例中,测试系统150可以具有512个输入/输出(I/O)端口(参考,160),并且每个DUT可以具有32个I/O端口(参见,120),并因此,16个这种DUT的扫描测试可以被同时执行。
[0019]DUT 110的每个DUT可以包括被配置为提供DUT的扫描测试的多个扫描通道。例如,具有32个1/0(参见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)配置。
[0020]图2示出根据一个实施例的示例DUT 200。DUT 200可以具有与I/O端口关联的多个扫描通道(例如,扫描通道130)。I/O端口可以与参考图1示出的I/O端口 120相同。在一个示例中,不同数量的I/O端口可以用作接收扫描输入的输入端口或用作在每种测试图案结构(示为202)上提供扫描输出(示出为212)的输出端口。在本文,术语“测试图案结构”可以指代测试图案,或测试图案的多个测试周期的一个测试周期,或包括多个测试图案的测试模式。例如,如果在DUT中存在数量为M的I/O端口,