CN115443415B - 芯片测试电路及电路测试方法 - Google Patents
芯片测试电路及电路测试方法 Download PDFInfo
- Publication number
- CN115443415B CN115443415B CN202080100118.5A CN202080100118A CN115443415B CN 115443415 B CN115443415 B CN 115443415B CN 202080100118 A CN202080100118 A CN 202080100118A CN 115443415 B CN115443415 B CN 115443415B
- Authority
- CN
- China
- Prior art keywords
- circuit
- test
- tested
- input
- bus
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3172—Optimisation aspects, e.g. using functional pin as test pin, pin multiplexing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318558—Addressing or selecting of subparts of the device under test
- G01R31/318563—Multiple simultaneous testing of subparts
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31722—Addressing or selecting of test units, e.g. transmission protocols for selecting test units
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318558—Addressing or selecting of subparts of the device under test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318572—Input/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
一种芯片中的测试电路(03)及电路的测试方法,涉及电子技术领域,可适用于EDA软件,用于解决目前的测试方案中的绕线拥塞和测试配置复杂的问题。该测试电路(03)将测试向量的输入数据通过测试总线(02)的输入传输至数据分发电路(301)中,通过数据分发电路(301)传输至被测电路(01)的扫描输入通道,被测电路(01)扫描结束后,被测电路(01)的扫描输出通道的测试向量的输出数据通过数据分发电路(301)传输至测试总线(02)的输出完成被测电路(01)的测试,可根据具体的测试方案配置数据分发电路(301)与测试总线(02)的动态对应关系,使得测试资源能够得以动态分配,极大程度地优化了绕线拥塞的问题,以便降低测试成本,并且可以简化配置过程,而提高测试效率。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种芯片的测试电路及电路测试方法。
背景技术
随着半导体技术的发展,系统级芯片(system on chip,SoC)的规模越来越大,其内部的电路模块越来越多,在对系统级芯片中的电路模块进行测试时,由于可用于测试的资源有限,例如芯片管脚有限,因此需要对有限的资源进行合理规划复用,以满足大规模测试需求。为解决上述问题,目前所采用的方案有扫描路由结构(scan routing fabric,SRF)和扫描流水网络结构(scan streaming network,SSN)。
在SRF方案中,可以利用多路选择器(multiplexers,MUX)复用少量的芯片管脚,可以实现具有更大数量的测试扫描通道的电路的测试,如果待测电路的扫描通道数量持续增加,就会出现较严重的绕线拥塞问题,测试成本高。在SSN方案中,测试扫描数据通过总线进行传输,在传输过程中通过较复杂的硬件电路使测试数据在总线与待测电路的测试压缩逻辑之间进行数据交换,在被测电路增加的情况下,作为数据交换的硬件电路也会增加,导致硬件电路规模较大。另外,在SSN方案中,还需要对复杂的硬件电路进行各项配置,配置过程比较复杂,测试效率低下。
发明内容
本申请实施例提供一种芯片测试电路及电路测试方法,能够优化目前的测试方案中绕线拥塞和测试配置复杂的问题,以降低测试成本,提高测试效率。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种测试电路。该测试电路包括:与多个被测电路分别对应的多个子测试电路,多个子测试电路中第j个子测试电路包括Nj个数据分发电路,Nj个数据分发电路用于将对应的被测电路连接在测试总线上。每一个被测电路对应一个子测试电路,每个子测试电路可以将测试扫描所需的数据通过测试总线传输至对应的被测电路的扫描输入通道中,并将对应的被测电路的测试结果数据传输至测试总线输出。数据分发电路用于接收测试总线的扫描测试数据并传输至被测电路的扫描输入通道中,并接收被测电路的扫描输出通道的测试结果数据,传输至测试总线输出。第j个子测试电路中,第j个子测试电路可以为多个子测试电路中的任意一个子测试电路,第j个子测试电路中的数据分发电路的数量Nj为对应的被测电路的扫描通道的数量,即为对应的被测电路的扫描输入通道的数量CIj和扫描输出通道COj的数量中的最大值,即Nj=max(CIj,COj)。Nj个数据分发电路的第一输入端分别连接测试总线的Nj个输入,即数据分发电路的第一输入端用于接收测试总线的测试扫描数据;Nj个数据分发电路中的CIj个数据分发电路的输出端分别连接与子测试电路对应的被测电路的CIj个扫描输入通道,即数据分发电路的第一输出端用于将从测试总线接收的测试扫描数据传输至对应的被测电路的扫描输入通道中。Nj个数据分发电路中的COj个数据分发电路的第二输入端分别连接与子测试电路对应的被测电路的COj个扫描输出通道,Nj个数据分发电路的输出端还连接测试总线的Nj个输出;即数据分发电路的第二输入端用于接收对应的被测电路的扫描输出通道输出的测试结果数据,测试结果数据通过数据分发电路的第二输出端输出至测试总线。
基于第一方面提供的测试电路,该测试电路可以通过数据分发电路,将测试总线的输入上的测试向量,即测试激励数据传输至被测电路的扫描输入通道,并在扫描结束后,通过数据分发电路,将被测电路的扫描输出通道的测试结果数据传输至测试总线的输出,以完成被测电路的测试。在对电路测试时,可通过测试电路的数据分发电路将不同的被测电路分配至不同的测试总线测试,使测试总线能够根据具体的测试方案,通过数据分发电路来动态分配。通过该第一方面提供的测试电路能够极大程度地优化线路拥塞问题,以便降低测试成本,且可以简化配置过程,而提高测试效率。
在第一方面的一种可能的实现方式中,数据分发电路可以包括第一选择器和第一寄存器。其中第一选择器用于实现数据分发电路选择从测试总线接收数据,还是从对应的被测电路的扫描输出通道接收数据。即第一选择器的第一输入端作为数据分发电路的第一输入端,第一选择器的第二输入端作为数据分发电路的第二输入端。寄存器用于将数据分发电路接收的数据暂存,因此第一寄存器的输入端连接第一选择器的输出端,第一寄存器的输出端作为数据分发电路的输出端。在上述可能的实现方式中,数据分发电路具有两路输入,分别为从测试总线接收测试扫描数据,从相对应的被测电路的扫描输出通道接收测试输出数据;数据分发电路通过对第一选择器的配置实现输入的选择,以便使测试扫描数据和测试输出数据分别于不同的时间周期在测试总线传输,电路结构简单,且可以避免数据的传输冲突,从而提高电路测试效率。
进一步地,数据分发电路还可以包括数据分配器和第二选择器。数据分配器和第二选择器用于控制数据分发电路的输出是否经过第一寄存器。即数据分配器的输入端连接第一选择器的输出端,数据分配器的第一输出端连接第一寄存器的输入端;第二选择器的第一输入端连接第一寄存器的输出端,第二选择器的第二输入端连接数据分配器的第二输出端,第二选择器的输出端作为数据分发电路输出端。在上述可能的实现方式中,数据分发电路通过数据分配器和第二选择器的配置,控制数据分发电路的输出是否经过数据分发电路内部的第一寄存器,使得该数据分发电路所在的子测试电路对应的被测电路在不参与测试时,该数据分发电路的第一输入端和输出端不经过其内部的第一寄存器,以便降低测试时间,从而提高测试效率。
可选地,每个子测试电路还可以包括状态机,该状态机可以包括:第一状态控制端,连接与子测试电路对应的被测电路的扫描结构的扫描使能端,用于生成扫描使能信号,控制被测电路扫描结构是否开启测试扫描。第二状态控制端,连接第一选择器的控制端,用于生成扫描捕获使能信号,控制子测试电路中的每个数据分发电路是否接收被测电路的扫描输出数据。通过状态机来对测试电路进行配置,生成如上两种信号,可以简化配置过程。
可选地,每个子测试电路还包括配置电路,配置电路的输入端连接测试总线,即通过测试总线的输入来对配置电路进行相应配置。配置电路的第一输出端连接与子测试电路对应的被测电路的睡眠控制端,以及连接所述子测试电路中的数据分配器和第二选择器的控制端。在上述可能的实现方式中,配置电路的第一输出端连接被测电路的睡眠控制端,可通过配置电路对被测电路是否处于测试状态进行配置,即将不参与测试的被测电路通过其睡眠控制端配置为睡眠模式,从而降低测试功耗。此外,还可以通过配置电路配置数据分发电路是否处于旁路,即配置电路的第一输入端还连接数据数据分发电路中的数据分配器和第二选择器的控制端。当被测电路不参与测试时,将该被测电路对应的数据分发电路置于旁路,可以使数据在传输时不经过数据分发电路内部的第一寄存器,从而降低测试时间。
进一步地,第一个子测试电路中的配置电路的输入端连接测试总线的输入,第x个子测试电路中的配置电路的输入端连接第x-1个子测试电路中的配置电路的第二输出端,其中,x为大于或等于2的正整数。在上述可能的实现方式中,通过如上的连接方式,在测试总线位宽有限的情况下,只需要依次向配置电路中传输数据即可完成对被测电路的睡眠控制端的配置,可以简化配置过程。
可选地,测试电路还包括第二寄存器,第二寄存器的输入连接测试总线的输入,第二寄存器的输出连接第一个子测试电路中的配置电路的输入端。在上述可能的实现方式中,通过第二寄存器能够对配置电路进行数据传输配置,同时第二寄存器还兼具控制功能,控制配置电路是否锁存数据,可以简化电路结构。
进一步地,每个子测试电路中的配置电路可以包括第三寄存器和锁存器,第三寄存器的输入端作为配置电路的输入端;第三寄存器的输出端连接锁存器的输入端,锁存器的输出端作为配置电路的第一输出端,第三寄存器的输出端还作为配置电路的第二输出端。在上述可能的实现方式中,通过第三寄存器和锁存器的组合使用,可以单独对每个被测电路是否处于睡眠模式进行配置,并通过锁存器的控制端控制是否使锁存器中的值得以保持,避免测试总线的数据变化时,被测电路的睡眠控制端的值发生变化,影响被测电路的测试,并简化配置过程和线路。
在第一方面的一种可能的实现方式中,配置电路中还可以包括与门,与门的第一输入端连接第二寄存器的输出端,与门的第二输入连接状态机的第二状态控制端,与门的输出端连接每个配置电路中锁存器的控制端。其中,状态机的第二状态控制端生成扫描捕获使能信号,用于控制数据的捕获,如将每个子测试电路中配置电路的锁存器中的数据捕获至被测电路的睡眠控制端,或者将数据分发电路中的测试激励数据加载至被测电路的扫描输入通道中,或者将被测电路的扫描输出通道中的数据采集至数据分发电路中。在上述可能的实现方式中,通过第二寄存器和状态机的第二状态控制端的与操作,能够配置锁存器是否锁存数据,进一步简化配置过程。
在第一方面的一种可能的实现方式中,每个子测试电路还包括分频电路,分频电路分别连接总线时钟和与子测试电路对应的被测电路的扫描结构的扫描时钟。在上述可能的实现方式中,将测试总线的高速扫描时钟分频为被测电路中的低速扫描时钟,便于对被测电路进行扫描测试。
第二方面,提供一种集成电路。该集成电路包括:多个被测电路、测试总线以及如上第一方面的任一种可能的测试电路。多个被测电路通过测试电路中与被测电路对应的多个子测试电路连接在测试总线上。
第三方面,提供一种电子设备。该电子设备包括印刷电路板以及如上第二方面中的集成电路。该集成电路设置于印刷电路板上。
第四方面,提供一种电路测试方法。该电路测试方法可用于EDA软件中,并适用于使用测试电路测试被测电路,其中该测试电路为如上第一方面中任一种可能的测试电路。该电路测试方法包括:生成配置信息和测试向量;其中,配置信息用于配置所述测试电路;测试向量为被测电路的测试激励数据,并由被测电路的电路结构确定。
在第四方面的一种可能的实现方式中,该电路测试方法还可以包括:根据配置信息,配置测试电路。将测试向量传输至测试总线,并通过测试电路传输至被测电路的扫描输入通道中。将被测电路的测试结果数据,通过被测电路传输至测试总线的输出。
进一步地,根据配置信息配置测试电路,可以包括:按照分组规则对所有的被测电路分组。根据分组结果,配置每个被测电路对应的子测试电路。
进一步地,按照分组规划对所有的被测电路分组,可以包括:获取每个被测电路的扫描通道数量和测试总线的位宽。其中,每个被测电路的扫描通道数量为:每个被测电路的扫描输入通道数量和扫描输出通道数量中的最大值。所有的被测电路的扫描通道数量之和超过测试总线的位宽时,将待测的被测电路分为多个测试组。其中,每个测试组包含的被测电路的扫描通道数量小于或等于测试总线的位宽。
可选地,根据分组结果,配置每个被测电路对应的子测试电路,包括:根据分组结果,将所有的被测电路通过数据分发电路连接到测试总线上,并确定被测电路的扫描输入通道与测试总线的输入的对应关系,以及确定被测电路的扫描输出通道与测试总线的输出的对应关系。其中,在同一个测试小组中,被测电路不同的扫描输入通道所对应的测试总线的输入不同,被测电路不同的扫描输出通道所对应的测试总线的输出不同。将非待测的被测电路,通过非待测的被测电路对应的子测试电路中的配置模块配置为睡眠模式;和/或,将非待测的被测电路所对应子测试电路中的数据分发电路,通过子测试电路中的配置模块配置为旁路模式。
应当理解,在同一个测试组中,所有被测电路的扫描通道的总数量是不超过测试总线位宽的,因此在同一个测试组中所有的被测电路可以并行测试。在被测电路并行测试时,测试总线的输入和输出,数据分发电路属于一一对应关系。
可选地,在同一个测试小组中,两个被测电路的结构相同时,两个被测电路中相同位置的扫描输入通道连接同一个数据分发电路。由于结构完全相同的被测电路在测试时,其需要的测试激励数据也相同,因此在对结构相同的被测电路测试时,可通过同一个数据分发电路向被测电路的相同位置的扫描输入通道,传输测试激励数据。在输出时则采用不同的数据分发电路进行传输,以便区分并确定被测电路是否存在故障。
进一步地,将测试向量通过测试电路传输至被测电路的扫描输入通道中,包括:根据被测电路的扫描输入通道与测试总线的输入的对应关系,通过与被测电路的扫描输入通道对应的测试总线的输入,将测试向量传输至被测电路的扫描输入通道中。
可选地,将被测电路的测试结果数据,通过被测电路传输至测试总线输出,包括:根据被测电路的扫描输出通道与测试总线的输出的对应关系,将被测电路的扫描输出通道输出的测试结果数据,传输至与被测电路的扫描输出通道对应的测试总线的输出。
进一步地,根据被测电路的扫描输入通道与测试总线的输入的对应关系,将测试向量通过与被测电路的扫描输入通道对应的测试总线的输入,传输至被测电路的扫描输入通道中,包括:测试总线在多个总线时钟周期,依次将测试向量传输至待测的被测电路的扫描输入通道中;其中,测试总线的其中一个输入对应的被测电路的扫描输入通道的数量超过一个。
应当说明的是,在对被测电路进行测试时,可能会有多个被测电路同时测试。然而测试总线的位宽有限,因此测试总线会被复用,即测试总线会通过时分复用的方式对多个被测电路的扫描输入通道传输数据。在一个总线时钟周期内,测试总线只能给一个扫描输入通道传输数据,因此如果测试总线的其中一个输入需要给多个扫描输入通道传输数据,则拆分在多个总线时钟周期内依次传输。
可选地,根据被测电路的扫描输出通道与测试总线的输出的对应关系,将被测电路的扫描输出通道输出的测试结果数据,传输至与被测电路的扫描输出通道对应的测试总线的输出,包括:测试总线在多个时钟周期,依次将被测电路的扫描输出通道中的测试结果数据,传输至测试总线的输出,其中,测试总线的其中一个输出对应的被测电路的扫描输出通道的数量超过一个。测试结果数据传输至测试总线,同理扫描测试数据即测试向量传输至被测电路的扫描输入通道,此处不再赘述。
第五方面,提供一种测试电路的设计方法,该测试电路的设计方法包括:获取每个被测电路的扫描输入通道数量、扫描输出通道数量,以及测试总线的总线位宽。根据测试总线的总线位宽、以及每个被测电路的扫描输入通道数量、扫描输出通道数量,在测试总线上配置每个被测电路所对应的子测试电路中的数据分发电路,生成如上第一方面任一种可能的测试电路。其中,每个被测电路所对应的子测试电路中的数据分发电路的数量,由每个被测电路的扫描输入通道和扫描输出通道数量确定。
可以理解地,上述提供的任一种集成电路、电子设备以及测试电路的设计方法、电路测试方法等,均可以由上文所提供的对应的测试电路来实现或与上文提供的对应的测试电路相关联,因此,其所能达到的有益效果可参考上文所提供的测试电路中的有益效果,此处不再赘述。
附图说明
图1为本申请的实施例提供的一种集成电路的结构示意图;
图2为本申请的实施例提供的一种电路在测试时,被测电路与测试总线的连接关系示意图;
图3为图1中被测电路、测试总线和测试电路的结构示意图一;
图4为图1中被测电路、测试总线和测试电路的结构示意图二;
图5为本申请的实施例提供的一种被测电路的扫描结构示意图;
图6为本申请的实施例提供的一种电路测试方法的流程图;
图7为本申请的实施例提供的一种被测电路的资源需求示意图;
图8为本申请的实施例提供的一种电路测试规划分组方案的示意图;
图9为本申请的实施例提供的另一种被测电路的资源需求示意图;
图10为本申请的实施例提供的另一种电路测试规划分组方案的示意图;
图11为本申请的实施例提供的一种测试分组后,被测电路与测试总线的关系示意图;
图12为本申请的实施例提供的一种同构的被测电路在测试时,被测电路与测试总线的关系示意图;
图13为图4所示的示例中被测电路A和被测电路B串行测试时的测试方案的波形示意图;
图14为本申请的实施例提供的一种测试电路设计方法的流程图。
附图标记:
01-被测电路;02-测试总线;03-测试电路;30-子测试电路;301-数据分发电路;3011-第一选择器;3012-第一寄存器;3013-数据分配器;3014-第二选择器;302-配置电路;303-第二寄存器;3021-第三寄存器;3022-锁存器;304-状态机;305-分频电路;306-与门。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
以下,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请中,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,“连接”可以指物理上的直接连接,也可以指通过中间媒介实现电学上的连接,例如通过电阻、电感、电容,或其他电子器件实现的连接。
本申请一些实施例提供一种测试电路03(如图1所示)。该测试电路03用于对集成电路的多个功能模块进行测试,以便使集成电路能够完成既定的功能。不同的集成电路可实现的功能不一样,因此其功能模块也不一样。例如手机芯片中包括处理器模块、触摸屏控制模块、存储模块、电源管理模块等。
本申请一些实施例提供一种集成电路。该集成电路包括多个被测电路01、测试总线02以及测试电路03。其中,每个集成电路中的不同的被测电路01可以实现相同的功能,也可以实现不同的功能。在该测试电路03中包括有与多个被测电路01相对应的多个子测试电路30,即每个被测电路01即对应一个子测试电路30。多个被测电路01通过多个子测试电路30连接在测试总线02上,使得该集成电路能够根据规划好的测试规则对多个被测电路01进行功能测试。
本申请实施例还提供一种的电子设备。在该电子设备中包括印刷电路板和如图1所示的集成电路,其中如上实施例提供的集成电路设置于印刷电路板上。该电子设备包括手机(mobile phone)、平板电脑(pad)、电脑、智能穿戴产品(例如,智能手表、智能手环)、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备等电子产品。本申请实施例对上述电子设备的具体形式不做特殊限制。
下面结合附图,对本申请实施例提供的一种测试电路03进行详细说明。
图2示出了本申请的实施例提供的一种电路在测试时,被测电路01与测试总线02的连接关系示意图。在一个集成电路中可以包括实现不同功能或相同功能的多个功能模块,对于所有的功能模块均需要通过测试电路03对其测试,以便知晓该功能模块的功能是否可以正常执行,此时的功能模块可以在测试的过程中称之为被测电路01。因此,本申请实施例中的一种测试电路03可以包括:与多个被测电路01分别对应的多个子测试电路30,多个子测试电路30用于分别将对应的被测电路01连接在测试总线02上。其中测试总线02对应于图3和图4中的scanbus,其中scanbus_in为测试总线02的输入通道,scanbus_out为测试总线02的输出通道。
需要说明的是,上述子测试电路30用于分别将对应的被测电路01连接在测试总线上,其中,每个子测试电路30中可以包括多个数据分发电路301,每个子测试电路30中的数据分发电路301的数量,与该子测试电路30对应的被测电路01中的扫描通道数量有关。例如图2所示的示例中,每个子测试电路30中的数据分发电路301的数量与对应的被测电路01中的扫描通道数量相等,被测电路01的扫描通道数量为该被测电路01的扫描输入通道channel_in数量和扫描输出通道channel_out数量之中的最大值。因此如图2所示,每个子测试电路30可以通过多个数据分发电路301将被测电路01连接在测试总线02上。
图3和图4分别示出了被测电路01、测试总线02和测试电路03的结构示意图一和示意图二。请参考图3和图4,在整个测试电路03中,数据分发电路301,也可以称为动态扫描路由单元(dynamic routing unit,DRU)。DRU承担的角色是将测试激励数据进行分发和传递。数据分发电路301在数据分发和传递的过程中,用于接收测试总线02的输入通道scanbus_in的输入数据并传递至被测电路01的扫描输入通道channel_in中。被测电路01测试扫描结束后,数据分发电路301接收被测电路01的扫描输出通道channe_out的测试结果数据,并传输至测试总线02的输出通道scanbus_out输出完成测试。在测试时,可以根据具体的测试方案,通过每个被测电路01对应的子测试电路30中的数据分发电路301,将被测电路01连接在测试总线02上实现对被测电路01的测试。通过具体的测试规划通过数据分发电路301对测试总线02进行合理分配,以便满足对较大数量的被测电路01的测试需求,从而优化线路连接,减少线路拥塞,以便降低测试成本,且可以简化配置过程,而提高测试效率。
下面根据图3和图4给出的示例对测试电路、被测电路以及总线之间的关系进行说明。
示例性地,请参考图3和图4提供的示意图,在该示意图中,图1所示的测试电路03包括如图1中的与多个被测电路01,分别对应的如图1所示的多个子测试电路30,多个子测试电路30中第j个子测试电路30包括如图3或图3所示的Nj个数据分发电路301,Nj个数据分发电路301用于将对应的被测电路01连接在测试总线02上。每个子测试电路30中的数据分发电路301的数量,与该子测试电路30对应的被测电路01中的扫描通道数量相等。被测电路01的扫描通道数量为该被测电路01的扫描输入通道channel_in数量CIj和扫描输出通道channel_out数量COj之中的最大值,即Nj=max(CIj,COj)。
在第j个子测试电路30中,Nj个数据分发电路301的第一输入端分别连接测试总线02的Nj个输入通道scanbus_in,Nj个数据分发电路301中的CIj个数据分发电路301的第一输出端分别连接与子测试电路30对应的被测电路01的CIj个扫描输入通道channel_in,Nj个数据分发电路301中的COj个数据分发电路301的第二输入端分别连接与子测试电路30对应的被测电路01的COj个扫描输出通道channel_out,Nj个数据分发电路301的第二输出端连接测试总线02的Nj个输出通道scanbus_out。需注意,数据分发电路301的第一输出端和第二输出端可以集成为一个输出端,也可以分两个端口设置。
对于数据分发电路301的结构,数据分发电路301可以包括第一选择器3011和第一寄存器3012。
其中,第一选择器3011用于实现数据分发电路301的输入选择。数据分发电路301可选的输入为从测试总线02接收测试激励数据,或从对应的被测电路01的扫描输出通道channel_out接收测试结果数据,因此第一选择器3011的第一输入端作为数据分发电路301的第一输入端,第一选择器3011的第二输入端作为数据分发电路301的第二输入端。
第一寄存器3012用于将数据分发电路301接收的数据暂存,因此第一寄存器3012的输入端连接第一选择器3011的输出端,第一寄存器3012的输出端作为数据分发电路301的输出端。
值得说明的是,由于在测试的过程中,会存在一些被测电路01不参与测试,因此对于不参与测试的被测电路01可以置于睡眠模式。
图5示出了一种被测电路的扫描结构的示意图。请参考该图5,在每个被测电路01的扫描结构内部有用于自身的片上时钟(on chip clock,OCC)。在该被测电路01的扫描结构内部具有高速时钟控制模块fast_clock_cgc、低速时钟控制模块slow_clock_cgc和片上时钟控制模块OCC_control。其中,高速时钟控制模块fast_clock_cgc用于实现高速时钟的门控,低速时钟控制模块slow_clock_cgc用于实现移位低速时钟的门控,片上时钟控制模块OCC_control,用于为高速时钟控制模块fast_clock_cgc和低速时钟控制模块slow_clock_cgc提供时钟门控信号,以及高速时钟和低速时钟的切换。在该被测电路01的扫描结构中,可设置一个睡眠控制端sleep_mode,使该被测电路01不参与测试时,将该被测电路01内部的时钟关闭,并且将该被测电路01的扫描输入通道channel_in和扫描输出通道channel_out保持隔断的状态,即处于睡眠模式,从而使得被测电路01在非测试状态下能够节省功耗。
为了使被测电路01在非测试状态下能够被配置为睡眠模式,在图3和图4的示意图中,每个子测试电路30还包括配置电路302,配置电路302的输入端连接测试总线02,配置电路302的第一输出端连接与子测试电路30对应的被测电路01的睡眠控制端sleep_mode。即通过与每个被测电路01对应的子测试电路30中的配置电路302对被测电路01的睡眠控制端sleep_mode进行配置,从而使该被测电路01在非测试模式下保持睡眠模式。
在对被测电路01的睡眠控制端sleep_mode进行配置时,可通过测试总线02的多个输入对多个子测试电路30中的配置电路302进行配置,也可以通过测试总线02的一个输入通道scanbus_in分不同的总线时钟周期,依次对不同的子测试电路30的配置模块传输数据,从而完成对每个不同的被测电路01的睡眠模式配置。
对于通过测试总线02的一个输入通道scanbus_in,可以在不同的总线时钟周期,依次对不同的子测试电路30的配置模块传输数据,多个子测试电路30中配置模块可以采用如下连接方式:第一个子测试电路30中的配置电路302的输入端连接测试总线02的输入,第x个子测试电路30中的配置电路302的输入端连接第x-1个子测试电路30中的配置电路302的第二输出端,其中,x为大于或等于2的正整数。
为方便依次对配置电路302传输数据,在测试电路中还设置有第二寄存器303,第二寄存器303的输入连接测试总线02的输入,第二寄存器303的输出连接第一个子测试电路30中的配置电路302的输入端。
每个子测试电路30中的配置电路302均可以包括第三寄存器3021和锁存器3022,第三寄存器3021的输入端作为配置电路302的输入端;第三寄存器3021的输出端连接锁存器3022的输入端,锁存器3022的输出端作为配置电路302的第一输出端,第三寄存器3021的输出端还作为配置电路302的第二输出端。
配置电路302中还包括与门306,与门306的第一输入端连接第二寄存器303的输出端,与门306的第二输入连接状态机304的第二状态控制端,与门306的输出端连接每个配置电路302中锁存器3022的控制端。其中,状态机304的第二状态控制端生成扫描捕获使能信号so_cap_en,用于控制数据的捕获,如将每个子测试电路30中配置电路302的锁存器3022中的数据捕获至被测电路01的睡眠控制端sleep_mode,或者将数据分发电路301中的测试激励数据加载至被测电路01的扫描输入通道channel_in中,或者将被测电路01的扫描输出通道channel_out中的数据采集至数据分发电路301中。
例如,针对图3中的示意图,假设被测电路A处于非测试状态,被测电路B处于测试状态。被测电路01的睡眠控制端sleep_mode接收的信号为“0”时,被测电路01处于睡眠模式。因此,在对被测电路01进行配置时,被测电路A需要给予信号“0”,被测电路B的睡眠控制端sleep_mode需要给予信号“1”。因此第二寄存器303依次将数据“1”、“0”,传输至被测电路B对应的第三寄存器3021中和被测电路A对应的第三寄存器3021中。然后,将第二寄存器303设置为“1”以及通过状态机304将扫描捕获使能信号so_cap_in置为“1”,此时各子测试电路30中的锁存器3022可以将对应的第三寄存器3021中的值采集过来,并将采集过来的值传输给对应的被测电路01的睡眠控制端sleep_mode,从而完成是否睡眠模式的配置。
还需要说明的是,在被测电路01的睡眠模式配置完成后即可以进入测试扫描阶段,由扫描使能信号scan_enable触发,该扫描使能信号scan_enable由状态机304的第一状态端配置,状态机304可以由IEEE 1687标准(Internal JTAG,IJTAG)协议管脚进行配置。
请参考图4,数据分发电路301增加了旁路设计,增加旁路设计后,当子测试电路30所对应的被测电路01处于非测试状态时,可以使数据分发电路301的第一输入端和输出端之间不经过第一寄存器3012,可以减少不必要的移位拍数,从而降低测试时间。
具体而言,数据分发电路301还包括数据分配器3013和第二选择器3014,数据分配器3013的输入端连接第一选择器3011的输出端,数据分配器3013的第一输出端连接第一寄存器3012的输入端;第二选择器3014的第一输入端连接第一寄存器3012的输出端,第二选择器3014的第二输入端连接数据分配器3013的第二输出端,第二选择器3014的输出端作为数据分发电路301输出端;第二选择器3014的控制端连接配置电路302的输出端。也就是说,当配置电路302将对应的被测电路01配置为睡眠模式时,可以将对应的数据分发电路301配置为旁路模式,使得从测试总线02输入的数据不经过数据分发电路301内部的第一寄存器3012而直接输出。
在图3和图4中,可选地,每个子测试电路30还可以包括分频电路305,分频电路305可采用分频器(dividers,DIV)实现。分频电路305分别连接总线时钟接口和被测电路01的扫描时钟接口,用于将测试总线02的时钟scanbus_clk分频为被测电路01的扫描时钟scan_clock。
需要说明的是,在利用分频器进行分频时,分频器的分频比由待测的被测电路01的扫描通道数量和测试总线02决定。将测试总线02的高速扫描时钟分频为被测电路01中的低速扫描时钟,便于对被测电路01进行扫描测试。
示例性地,图6给出了本申请实施例提供的一种电路测试方法的流程图。该电路测试方法可用于电子设计自动化(electronic design automation,EDA)软件,并适用于使用图3、4所示出的任一种测试电路03,来测试被测电路01。
请参考图6,该电路测试方法包括:
S601,生成配置信息和测试向量。应理解,配置信息和测试向量可以由EDA软件生成,在测试过程中,E软件可以根据测试人员给定的一些测试参数,生成配置信息和测试激励数据。配置信息可用于配置测试电路03;测试向量为被测电路01的测试激励数据,并由被测电路01的电路结构确定。
S602,根据配置信息,配置测试电路03。具体来说,配置测试电路03可以有如下步骤:
第一步,按照分组规则对所有的被测电路01分组。在实际的测试过程中,由于测试总线02的位宽有限,因此在测试过程中需要按照分组规则对所有的被测电路01进行分组。
其中,分组的规则可以是,每个组中所需要的数据分发电路301的数量小于或等于测试总线02的位宽,数据分发电路301的数量对应的是被测电路01的扫描通道channels的数量。即每个被测电路01所需的数据分发电路301的数量为被测电路01的扫描输入通道数量和扫描输出通道数量中的最大值。
因此,在进行分组前,需要获取每个被测电路01的扫描通道数量和测试总线02的位宽,根据每个被测电路01的扫描通道数量计算出所有的被测电路01的扫描通道之和。如果所有的被测电路01的扫描通道数量之和超过测试总线02的位宽时,将待测的被测电路01分为多个测试组,并且每个测试组中包含的被测电路01的扫描通道数量之和应当小于或等于测试总线02的位宽。
图7示出了本申请的实施例提供的一种被测电路01的资源需求示意图。图7中示出了C1-C8的8个被测电路01的资源需求示意图。在该资源需求示意图中,以矩形块代表被测电路的测试资源需求,其中高度表示该被测电路01的扫描通道数量,宽度表示被测电路01在测试时所需的测试时间cycle数。若各测试组之间不能串行测试时,按照上述分组规划的原则,可以采用矩形块堆叠的方式,将8个被测电路01对应的资源块进行堆叠,在堆叠时以资源块堆叠后的总高度不超过测试总线02的位宽,例如,图8中所示的针对图7中的8个被测电路01所做的测试规划分组方案示意图。
可以理解地,如果需要达到总测试时间最短的目的,则可以将被测电路01在测试时所需的测试时间cycle数接近的放在同一个组中进行堆叠。
图9示出了本申请的实施例提供的另一种被测电路01的资源需求示意图。在该资源示意图中示出了某测试组可以与其他测试组进行串行测试时的资源需求图。由于测试总线02的位宽有限,因此各测试组或各个被测电路01串行测试时,测试激励数据在串行传输时针对同一根总线需要经过多个数据分发电路301,因此在串行时,每个测试电路03的测试时间会增加,即被测电路01与其他被测电路01串行测试时,该被测电路01的测试时间需要乘以系数Fk,Fk的计算公式为:
Fk=((Freqcore/Freqbus)*#active groups)+1,
其中,Freqcore为被测电路01的扫描时钟频率,Freqbus为测试总线02的时钟频率,#active groups为处于测试状态的被测电路01的数量。
假设某被测电路01的扫描通道数量为Wj,单独测试时的测试时间为Tj。因此,当该被测电路01在与其他被测电路01串行测试时,该被测电路01的测试时间则为Tj*Fk。可以用矩形来表示,其中矩形的高度为被测电路01的扫描通道数量,矩形的宽度为被测电路01所需要的测试时间,因此,随着串行测试的被测电路01的数量增加,该被测电路01的实际测试时间也会增加,请参考图9,单个被测电路测试时,即对应图9中的1 Core serial,其表示测试时不与其他被测电路串行测试;两个被测电路串行测试时,即对应图9中的2 Coreserial,其表示测试时与一个被测电路串行测试;三个被测电路串行测试时,即对应图9中的3 Core serial,其表示测试时与两个被测电路串行测试。
在此种情况下,若对被测电路01进行分组,同样可以采用对矩形进行堆叠的方式,当被测电路01需要与几个其他被测电路01串行测试,矩形堆叠时选取对应乘了系数FK的矩形即可;并且还需要满足在矩形的总高度不超过测试总线02的位宽的情况下,尽可能将矩形向上堆叠,从而实现总测试时间最小的目的。图10所示为图9中的资源需求示意图所对应的可能的测试规划分组方案,其中被测电路C1、被测电路C2和被测电路C3为一组;被测电路C4为一组。
第二步,根据分组结果,配置每个被测电路01对应的子测试电路30。
根据分组结果,将所有的被测电路01通过数据分发电路301连接到测试总线02上,并确定被测电路01的扫描输入通道与测试总线02的输入的对应关系,以及确定被测电路01的扫描输出通道与测试总线02的输出的对应关系。
例如,图11为本申请的实施例提供的一种测试分组后,被测电路01与测试总线02的连接关系示意图。在图11中示出了四个被测电路01与测试总线02之间的连接关系,其中被测电路A具有4个扫描输入通道和3个扫描输出通道,被测电路B具有2个扫描输入通道和2个扫描输出通道,被测电路C具有2个扫描输入通道和1个扫描输出通道,被测电路D具有5个扫描输出通道。根据上述的分组方法,被测电路A、被测电路B、被测电路C、被测电路D可以被分为两个测试组,第一个测试组(Group1)包括被测电路A、被测电路B和被测电路C,并使用8个数据分发电路301;第二个测试组(Group2)包括被测电路D,并使用5个数据分发电路301。
在同一个测试组中,所有被测电路01的扫描通道的总数量是小于或等于测试总线02位宽的,因此在同一个测试组中所有的被测电路01可以并行测试。在被测电路01并行测试时,测试总线02的输入和输出,数据分发电路301属于一一对应关系。因此,在同一个测试组中,被测电路01不同的扫描输入通道所对应的测试总线02的输入不同,被测电路01不同的扫描输出通道所对应的测试总线02的输出不同。
此外,为了降低测试功耗以及测试时间,针对不参与测试的被测电路01可以将其配置为睡眠模式,并且将被测电路01所使用的数据分发电路301通过配置模块配置为旁路模式。
例如,在如图11的示例中,在测试功耗允许的情况下,可以将第一个测试组和第二个测试组进行串行测试。如果将第一个测试组测试完成后,再对第二个测试组测试,则可以将不参与测试的测试组中的被测电路01配置为睡眠模式,并且将该测试组所使用的数据分发电路301置于旁路模式。
图12为本申请的实施例提供的一种同构的被测电路01在测试时,被测电路01与测试总线02的连接关系示意图。在同一个测试小组中,两个被测电路01的结构相同时,两个被测电路01中相同位置的扫描输入通道连接同一个数据分发电路301。由于结构完全相同的被测电路01在测试时,其需要的测试激励数据也相同,因此在对结构相同的被测电路01测试时,可通过同一个数据分发电路301向被测电路01的相同位置的扫描输入通道,传输测试激励数据。在输出时则采用不同的数据分发电路301进行传输,以便区分并确定被测电路01是否存在故障。
另外,配置过程中还需要配置分频电路305的分频比,其中分频电路305的分频比是由分组后待测的被测电路01的扫描输入通道channel_in的数量、扫描输出通道channel_out的数量以及测试总线02的位宽来确定的,分频电路305的分频比Rdiv的计算式为:
其中,CIi为第i个待测的被测电路的扫描输入通道的数量,COi为第i个待测得被测电路的扫描输出通道的数量,B为总线位宽。
S603,将测试向量传输至测试总线02,并通过测试电路03传输至被测电路01的扫描输入通道中。在该步骤中,可以根据被测电路01的扫描输入通道与测试总线02的输入的对应关系,通过与被测电路01的扫描输入通道对应的测试总线02的输入,将测试向量传输至被测电路01的扫描输入通道中。
对于并行测试的被测电路01,测试激励数据只需要传输一次即可进行扫描测试。然而针对串行测试的被测电路01,测试总线02会被复用,针对不同的被测电路01或不同的被测电路01的扫描输入通道,则需要按照数据传输顺序,通过时分复用的方式依次对测试激励数据进行传输。即测试总线02在多个总线时钟周期,依次将测试向量传输至待测的被测电路01的扫描输入通道中;其中,测试总线02的其中一个输入对应的被测电路01的扫描输入通道的数量超过一个。
S604,将被测电路01的测试结果数据,通过被测电路01传输至测试总线02的输出。例如,根据被测电路01的扫描输出通道与测试总线02的输出的对应关系,将被测电路01的扫描输出通道输出的测试结果数据,传输至与被测电路01的扫描输出通道对应的测试总线02的输出。
同样的,对于并行测试的被测电路01,测试结果数据只需要传输一次即可进行扫描测试。然而针对串行测试的被测电路01,针对不同的被测电路01或不同的被测电路01的扫描输入通道,则需要按照数据传输顺序,通过时分复用的方式依次对测试结果数据进行传输。即测试总线02在多个时钟周期,依次将被测电路01的扫描输出通道中的测试结果数据,传输至测试总线02的输出,其中,测试总线02的其中一个输出对应的被测电路01的扫描输出通道的数量超过一个。
针对上述步骤S603和S604,可参考图13的测试方案波形示意图。图13是针对图4所示的示例中被测电路A和被测电路B串行测试时的测试方案波形示意图。
请参考图4,被测电路A具有2个扫描输入通道和1个扫描输出通道,被测电路B具有2个扫描输入通道和2个扫描输出通道。假设测试总线02的位宽为2,因此被测电路A和被测电路B需要进行串行测试,被测电路A和被测电路B均对应两个数据分发电路301。
请参考图13的波形示意图,在测试前,需要通过被测电路01对应的子测试电路30中的配置电路302对测试电路03进行配置,依次通过第二寄存器303依次配置每个配置电路302中的第三寄存器3021中的值。对于被测电路A和被测电路B,该两个被测电路均处于测试状态,因此可以通过配置电路302将每个被测电路的睡眠控制端sleep_mode置为“1”,假设置“1”时,被测电路处于测试状态。当被测电路A和被测电路B中第三寄存器3021的值通过第二寄存器303移位配置时,将扫描捕获使能信号so_cap_en置“1”。配置完后,再第二寄存器303置“1”,同时通过状态机304配置扫描捕获使能信号so_cap_en为“1”,使得锁存器3022将第三寄存器3021中的值采集并传输给被测电路01的睡眠控制端,完成被测电路01处于测试状态的配置。
配置完成后,将第二寄存器303置“0”,锁存器3022中的值一直保持。然后按照时分复用的方式分两个时钟周期,在数据移位时,将扫描捕获使能信号so_cap_en置“0”,并通过测试总线02依次为被测电路B和被测电路A所对应的数据分发电路301传输数据,传输完成后再通过状态机304将扫描捕获使能信号置“1”;将数据分发电路301中的测试激励数据传输至被测电路A和被测电路B中的扫描输入通道中,并将被测电路A和被测电路B的扫描输出通道中的测试结果数据传输至对应的数据分发电路301中,完成数据的传输与测试。
值得说明的是,测试总线02每传输一个周期的扫描数据,会增加一个总线时钟周期,以便将数据分发电路301中的测试向量数据传输至被测电路01的扫描输入通道channel_in中,并且将被测电路01的扫描输出通道channel_out的测试结果数据传输至数据分发电路301中,如上述图13的示例中扫描捕获使能信号置“1”的时候。其中一个周期的扫描数据是指所有待测的被测电路01扫描一次的测试扫描数据。
示例性地,图14为本申请实施例提供一种测试电路的设计方法的流程图。
请参考图14,该测试电路的设计方法包括:
S1401,获取每个被测电路01的扫描输入通道数量、扫描输出通道数量,以及测试总线02的总线位宽。
S1402,根据测试总线02的总线位宽、以及每个被测电路01的扫描输入通道数量、扫描输出通道数量,在测试总线02上配置每个被测电路01所对应的子测试电路30中的数据分发电路301,生成如上图3或图4所示出的任一种测试电路。
其中,每个被测电路01所对应的子测试电路30中的数据分发电路301的数量,由每个被测电路01的扫描输入通道和扫描输出通道数量确定。
在图3和图4的示例中,每个被测电路01所对应的子测试电路30中的数据分发电路301的数量,与该被测电路01中的扫描输入通道channel_in和扫描输出通道channel_out的数量关联,即等于相对应的被测电路01中的扫描输入通道channel_in数量和扫描输出通道channel_out数量中的最大值。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种测试电路,其特征在于,包括:
与多个被测电路分别对应的多个子测试电路,所述多个子测试电路中第j个所述子测试电路包括Nj个数据分发电路,所述Nj个数据分发电路用于将对应的所述被测电路连接在测试总线上;
在第j个所述子测试电路中,所述Nj个数据分发电路的第一输入端分别连接所述测试总线的Nj个输入,所述Nj个数据分发电路中的CIj个数据分发电路的输出端分别连接与所述子测试电路对应的所述被测电路的CIj个扫描输入通道,所述Nj个数据分发电路中的COj个数据分发电路的第二输入端分别连接与所述子测试电路对应的所述被测电路的COj个扫描输出通道,所述Nj个数据分发电路的输出端还连接所述测试总线的Nj个输出;其中Nj=max(CIj,COj);
所述数据分发电路包括第一选择器和第一寄存器,所述第一选择器的第一输入端作为所述数据分发电路的第一输入端,所述第一选择器的第二输入端作为所述数据分发电路的第二输入端;所述第一选择器的输出端连接所述第一寄存器的输入端,所述第一寄存器的输出端作为所述数据分发电路的输出端;
所述数据分发电路还包括数据分配器和第二选择器,所述数据分配器的输入端连接所述第一选择器的输出端,所述数据分配器的第一输出端连接所述第一寄存器的输入端;所述第二选择器的第一输入端连接所述第一寄存器的输出端,所述第二选择器的第二输入端连接所述数据分配器的第二输出端,所述第二选择器的输出端作为所述数据分发电路输出端。
2.根据权利要求1所述的测试电路,其特征在于,每个所述子测试电路还包括状态机,所述状态机包括:
第一状态控制端,连接与所述子测试电路对应的被测电路的扫描结构的扫描使能端;
第二状态控制端,连接所述第一选择器的控制端。
3.根据权利要求2所述的测试电路,其特征在于,每个所述子测试电路还包括配置电路,所述配置电路的输入端连接所述测试总线,所述配置电路的第一输出端连接与所述子测试电路对应的所述被测电路的睡眠控制端,以及连接所述数据分配器和第二选择器的控制端。
4.根据权利要求3所述的测试电路,其特征在于,第一个所述子测试电路中的所述配置电路的输入端连接所述测试总线的输入,第x个所述子测试电路中的所述配置电路的输入端连接所述第x-1个所述子测试电路中的所述配置电路的第二输出端,其中,x为大于或等于2的正整数。
5.根据权利要求4所述的测试电路,其特征在于,
所述测试电路还包括第二寄存器,所述第二寄存器的输入连接所述测试总线的输入,所述第二寄存器的输出连接第一个所述子测试电路中的所述配置电路的输入端。
6.根据权利要求5所述的测试电路,其特征在于,每个所述子测试电路中的所述配置电路均包括第三寄存器和锁存器,所述第三寄存器的输入端作为所述配置电路的输入端;所述第三寄存器的输出端连接所述锁存器的输入端,所述锁存器的输出端作为所述配置电路的第一输出端,所述第三寄存器的输出端还作为所述配置电路的第二输出端。
7.根据权利要求6所述的测试电路,其特征在于,所述配置电路中还包括与门,所述与门的第一输入端连接所述第二寄存器的输出端,所述与门的第二输入连接所述状态机的第二状态控制端,所述与门的输出端连接每个所述配置电路中所述锁存器的控制端。
8.根据权利要求1至7任一项所述的测试电路,其特征在于,每个所述子测试电路还包括分频电路,所述分频电路分别连接总线时钟和与所述子测试电路对应的被测电路的扫描结构的扫描时钟。
9.一种集成电路,其特征在于,多个被测电路、测试总线以及如权利要求1至8任一项所述的测试电路;
所述多个被测电路通过所述测试电路中与所述被测电路对应的多个子测试电路连接在测试总线上。
10.一种电子设备,其特征在于,包括印刷电路板以及如权利要求9所述的集成电路;所述集成电路设置于所述印刷电路板上。
11.一种电路测试方法,其特征在于,所述方法适用于使用测试电路测试所述被测电路,所述测试电路为如权利要求1至8任一项所述的测试电路;
所述方法包括:
生成配置信息和测试向量;
其中,所述配置信息用于配置所述测试电路,所述测试向量为所述被测电路的测试激励数据,并由所述被测电路的电路结构确定;
获取每个所述被测电路的扫描通道数量和测试总线的位宽;其中,每个所述被测电路的扫描通道数量为:每个所述被测电路的扫描输入通道数量和扫描输出通道数量中的最大值;
所有的所述被测电路的扫描通道数量之和超过所述测试总线的位宽时,将所有的所述被测电路分为多个测试组;其中,每个测试组包含的所述被测电路的扫描通道数量小于或等于所述测试总线的位宽;
根据分组结果,配置每个所述被测电路对应的所述子测试电路。
12.根据权利要求11所述的电路测试方法,其特征在于,所述方法还包括:
将测试向量传输至测试总线,并通过所述测试电路传输至所述被测电路的扫描输入通道中;
将所述被测电路的测试结果数据,通过所述被测电路传输至所述测试总线的输出。
13.根据权利要求11所述的电路测试方法,其特征在于,所述根据分组结果,配置每个所述被测电路对应的所述子测试电路,包括:
根据分组结果,将所有的所述被测电路通过数据分发电路连接到所述测试总线上,并确定所述被测电路的扫描输入通道与所述测试总线的输入的对应关系,以及确定所述被测电路的扫描输出通道与所述测试总线的输出的对应关系;
其中,在同一个测试小组中,所述被测电路不同的扫描输入通道所对应的测试总线的输入不同,所述被测电路不同的扫描输出通道所对应的测试总线的输出不同;
将非待测的所述被测电路,通过所述非待测的被测电路对应的子测试电路中的配置模块配置为睡眠模式;和/或,
将非待测的所述被测电路所对应所述子测试电路中的所述数据分发电路,通过所述子测试电路中的配置模块配置为旁路模式。
14.根据权利要求13所述的电路测试方法,其特征在于,在同一个测试小组中,两个所述被测电路的结构相同时,两个所述被测电路中相同位置的扫描输入通道连接同一个所述数据分发电路。
15.根据权利要求13所述的电路测试方法,其特征在于,所述将测试向量通过所述测试电路传输至所述被测电路的扫描输入通道中,包括:
根据所述被测电路的扫描输入通道与所述测试总线的输入的对应关系,通过与所述被测电路的扫描输入通道对应的测试总线的输入,将所述测试向量传输至所述被测电路的扫描输入通道中。
16.根据权利要求13所述的电路测试方法,其特征在于,所述将所述被测电路的测试结果数据,通过所述被测电路传输至所述测试总线输出,包括:
根据所述被测电路的扫描输出通道与所述测试总线的输出的对应关系,将所述被测电路的扫描输出通道输出的测试结果数据,传输至与所述被测电路的扫描输出通道对应的所述测试总线的输出。
17.根据权利要求15所述的电路测试方法,其特征在于,所述根据所述被测电路的扫描输入通道与所述测试总线的输入的对应关系,将所述测试向量通过与所述被测电路的扫描输入通道对应的测试总线的输入,传输至所述被测电路的扫描输入通道中,包括:
所述测试总线在多个总线时钟周期,依次将所述测试向量传输至待测的所述被测电路的扫描输入通道中;其中,所述测试总线的其中一个输入对应的所述被测电路的扫描输入通道的数量超过一个。
18.根据权利要求16所述的电路测试方法,其特征在于,所述根据所述被测电路的扫描输出通道与所述测试总线的输出的对应关系,将所述被测电路的扫描输出通道输出的测试结果数据,传输至与所述被测电路的扫描输出通道对应的所述测试总线的输出,包括:
所述测试总线在多个时钟周期,依次将所述被测电路的扫描输出通道中的测试结果数据,传输至所述测试总线的输出,其中,所述测试总线的其中一个输出对应的所述被测电路的扫描输出通道的数量超过一个。
19.一种测试电路的设计方法,其特征在于,包括:
获取每个被测电路的扫描输入通道数量、扫描输出通道数量,以及测试总线的总线位宽;
根据所述测试总线的总线位宽、以及每个所述被测电路的扫描输入通道数量、扫描输出通道数量,在所述测试总线上配置每个所述被测电路所对应的子测试电路中的数据分发电路,生成如权利要求1至8任一项所述的测试电路;
其中,每个所述被测电路所对应的子测试电路中的数据分发电路的数量,由每个所述被测电路的扫描输入通道和扫描输出通道数量确定。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/112609 WO2022041223A1 (zh) | 2020-08-31 | 2020-08-31 | 芯片测试电路及电路测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115443415A CN115443415A (zh) | 2022-12-06 |
CN115443415B true CN115443415B (zh) | 2023-09-22 |
Family
ID=80354327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100118.5A Active CN115443415B (zh) | 2020-08-31 | 2020-08-31 | 芯片测试电路及电路测试方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230204661A1 (zh) |
EP (1) | EP4198529A4 (zh) |
CN (1) | CN115443415B (zh) |
WO (1) | WO2022041223A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117007950A (zh) * | 2022-04-29 | 2023-11-07 | 华为技术有限公司 | 用于配置ijtag电路的方法、装置、设备、介质以及程序产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6093362A (ja) * | 1983-10-27 | 1985-05-25 | Fujitsu Ltd | 集積回路素子搭載ユニツトの試験方式 |
JPH01237474A (ja) * | 1988-03-18 | 1989-09-21 | Toshiba Corp | 半導体集積回路装置のスキャンテスト回路 |
JPH04289472A (ja) * | 1991-03-18 | 1992-10-14 | Advantest Corp | 論理ic試験機用テストベクタ発生器 |
US5173904A (en) * | 1987-06-02 | 1992-12-22 | Texas Instruments Incorporated | Logic circuits systems, and methods having individually testable logic modules |
US5608736A (en) * | 1991-06-06 | 1997-03-04 | Texas Instruments Incorporated | Method and apparatus for a universal programmable boundary scan driver/sensor circuit |
CN1270671A (zh) * | 1997-09-16 | 2000-10-18 | 泰拉丁公司 | 使用单个存储器用于并行和扫描方式测试的集成电路测试系统 |
CN1610834A (zh) * | 2001-07-05 | 2005-04-27 | 英特泰克公司 | 用于电子电路的优化并行测试和访问的方法及设备 |
CN101176071A (zh) * | 2005-06-10 | 2008-05-07 | 国际商业机器公司 | 微型计算机及其测试方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328387B2 (en) * | 2004-12-10 | 2008-02-05 | Texas Instruments Incorporated | Addressable tap domain selection circuit with selectable ⅗ pin interface |
EP2372379B1 (en) * | 2010-03-26 | 2013-01-23 | Imec | Test access architecture for TSV-based 3D stacked ICS |
WO2020063414A1 (en) * | 2018-09-28 | 2020-04-02 | Changxin Memory Technologies, Inc. | Test method and test system |
US10866283B2 (en) * | 2018-11-29 | 2020-12-15 | Nxp B.V. | Test system with embedded tester |
-
2020
- 2020-08-31 CN CN202080100118.5A patent/CN115443415B/zh active Active
- 2020-08-31 WO PCT/CN2020/112609 patent/WO2022041223A1/zh unknown
- 2020-08-31 EP EP20950892.8A patent/EP4198529A4/en active Pending
-
2023
- 2023-02-28 US US18/176,025 patent/US20230204661A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6093362A (ja) * | 1983-10-27 | 1985-05-25 | Fujitsu Ltd | 集積回路素子搭載ユニツトの試験方式 |
US5173904A (en) * | 1987-06-02 | 1992-12-22 | Texas Instruments Incorporated | Logic circuits systems, and methods having individually testable logic modules |
JPH01237474A (ja) * | 1988-03-18 | 1989-09-21 | Toshiba Corp | 半導体集積回路装置のスキャンテスト回路 |
JPH04289472A (ja) * | 1991-03-18 | 1992-10-14 | Advantest Corp | 論理ic試験機用テストベクタ発生器 |
US5608736A (en) * | 1991-06-06 | 1997-03-04 | Texas Instruments Incorporated | Method and apparatus for a universal programmable boundary scan driver/sensor circuit |
CN1270671A (zh) * | 1997-09-16 | 2000-10-18 | 泰拉丁公司 | 使用单个存储器用于并行和扫描方式测试的集成电路测试系统 |
CN1610834A (zh) * | 2001-07-05 | 2005-04-27 | 英特泰克公司 | 用于电子电路的优化并行测试和访问的方法及设备 |
CN101176071A (zh) * | 2005-06-10 | 2008-05-07 | 国际商业机器公司 | 微型计算机及其测试方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4198529A4 (en) | 2023-10-25 |
EP4198529A1 (en) | 2023-06-21 |
CN115443415A (zh) | 2022-12-06 |
WO2022041223A1 (zh) | 2022-03-03 |
US20230204661A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6625784B1 (en) | Semiconductor integrated circuit device, method of testing the same, database for design of the same and method of designing the same | |
CN101147077A (zh) | 于多核心集成电路中的同步核心测试 | |
CN1519573B (zh) | 包括扫描测试电路的集成电路器件及其测试方法 | |
US8584074B1 (en) | Testing to prescribe state capture by, and state retrieval from scan registers | |
KR20030014216A (ko) | 테스트 가능한 전자 장치를 테스팅하기 위한 방법 | |
CN114002577A (zh) | 一种芯片测试方法、装置、设备及可读存储介质 | |
Petersén et al. | Toward a scalable test methodology for 2D-mesh network-on-chips | |
CN115443415B (zh) | 芯片测试电路及电路测试方法 | |
Côté et al. | Streaming scan network (SSN): An efficient packetized data network for testing of complex SoCs | |
CN110007217A (zh) | 一种低功耗边界扫描测试方法 | |
CN116559637A (zh) | 一种三维堆叠封装芯片的可配置并行测试电路及方法 | |
JPH10134011A (ja) | ネットワークのスキャンパスを階層的に構成するスキャン装置および方法 | |
Amory et al. | Wrapper design for the reuse of networks-on-chip as test access mechanism | |
CN116774018B (zh) | 一种芯片测试方法、装置及电子设备 | |
CN107300666B (zh) | 一种soc片上嵌入式ip硬核的测试访问隔离结构 | |
US6990621B2 (en) | Enabling at speed application of test patterns associated with a wide tester interface on a low pin count tester | |
CN100442072C (zh) | 用以测试数字逻辑电路的测试电路 | |
Li et al. | An efficient wrapper scan chain configuration method for network-on-chip testing | |
Agrawal et al. | A distributed, reconfigurable, and reusable BIST infrastructure for test and diagnosis of 3-D-Stacked ICs | |
CN109765480A (zh) | 一种测试装置和测试设备 | |
Zhang et al. | On-chip scan-based test strategy for a dependable many-core processor using a NoC as a test access mechanism | |
CN106685588A (zh) | 一种适配器、数据传输系统及方法 | |
US20230204660A1 (en) | Chip test circuit and circuit test method | |
CN100487470C (zh) | 半导体器件及其测试方法 | |
CN117980753A (zh) | 测试电路、集成电路、电子设备、测试电路的生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |