CN106461724A - 用于测试时间减少的方法和设备 - Google Patents
用于测试时间减少的方法和设备 Download PDFInfo
- Publication number
- CN106461724A CN106461724A CN201580023719.XA CN201580023719A CN106461724A CN 106461724 A CN106461724 A CN 106461724A CN 201580023719 A CN201580023719 A CN 201580023719A CN 106461724 A CN106461724 A CN 106461724A
- Authority
- CN
- China
- Prior art keywords
- scanning
- input
- pseudo
- output
- scan
- 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.)
- Granted
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/3177—Testing of logic operation, e.g. by logic analysers
-
- 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/31723—Hardware for routing the test signal within the device under test to the circuits to be tested, e.g. multiplexer for multiple core testing, accessing internal nodes
-
- 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/31727—Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
-
- 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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- 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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318335—Test pattern compression or decompression
-
- 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
-
- 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
- G01R31/318563—Multiple simultaneous testing of subparts
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
在用于测试集成电路(IC)的一种电路(100)的所述示例中,电路(100)包括接收N个扫描输入(102)并生成M个伪扫描输入(106)的输入转换器(104),其中M和N是整数。扫描压缩架构(110)耦合到输入转换器(104)并响应于M个伪扫描输入(106)生成P个伪扫描输出(116)。输出转换器(118)耦合到扫描压缩架构(110)并响应于P个伪扫描输出(116)生成Q个扫描输出(120),其中P和Q是整数。输入转换器(104)以第一频率接收N个扫描输入(102)并以第二频率生成M个伪扫描输入(106)。输出转换器(118)以第二频率接收P个伪扫描输出(116)并以第一频率生成Q个扫描输出(120)。
Description
技术领域
本发明涉及诸如集成电路(IC)的半导体装置的扫描测试。
背景技术
与基于功能模式的测试相比,基于扫描的技术提供了实现高故障覆盖的有效替代方案。随着设计尺寸的增加和多核SoC(片上系统)对于驱动高速应用程序变得至关重要,测试数据量和测试应用时间难以控制地增加,即使在基于高效和平衡的扫描的设计中。到目前为止,扫描压缩技术是针对测试数据量和针对在扫描插入设计的模式执行期间测试时间减少的最佳技术。扫描压缩架构包括:解压缩器,用于在输入侧上解压缩数据;以及压缩器,用于在输出侧压缩数据。解压缩器获取扫描输入并在空间上将其扩展到内部的大量扫描链中。每个扫描链具有多个扫描单元。如果更多的扫描输入被提供给解压缩器,则扩展将被改进,并且扫描链的数量将是更大的。类似地,在扫描压缩架构的输出侧,扫描链被压缩为小量的扫描输出,这导致了混叠的现象。实际上,如果更多的扫描输出是可用的,则混叠将是更低的,并且扫描压缩架构将是更加鲁棒的。然而,在非常低成本测试器(VLCT)的情况下,支持最多8个扫描输入和8个扫描输出。根据一种已知的扫描技术来理解对扫描输出上的扫描链的观察,扫描链的最大数量将是1024(N*2(M~1),其中N是扫描输入的数量,并且M是扫描输出的数量)。每个扫描链具有128个扫描单元,因此扫描单元的总数量是131072(128*1024)。如果扫描输入和扫描输出的数量是9,则扫描链的数量将是2304,并且每个扫描链中的扫描单元的数量将是大约57(128×1024/256*9)。因此,当扫描输入和扫描输出的数量从8增加到9时,每个扫描链中的扫描单元的数量减少大约50%,这减少了大量裕度的测试时间。但是,VLCT不支持9个扫描输入和9个扫描输出。
在引脚受限装置中,诸如具有5个引脚的装置,所需的扫描链的数量将是80(5*2(5 ~1))。因此,每个扫描链中所需的扫描单元的数量将近似为1638(128*1024/80)。因此,测试时间将显著增加。而且,为了使VLCT与引脚有限的装置兼容,使用串行器方法。在该方法中,每个扫描输入使用至少两个移位寄存器。因此,为了支持5引脚装置的VLCT,在输入侧处使用总共10个移位寄存器。此外,当数据通过两个移位寄存器移位时,扫描单元中的数据移位的频率减少一半,这增加了测试时间。此外,由于仅需要8个输入,来自移位寄存器的这些扫描输入中的两个将被认为是“无关”输入。移位寄存器是扫描系统上的额外开销。在其中在9个引脚处实现最佳测试时间的示例情况下,串行器方法不允许针对5引脚装置支持9个引脚。因此,当A引脚提供最佳测试时间且装置具有B个引脚时,当A不是B的整数倍时,串行器方法不支持A/B。
发明内容
在所描述的示例中,为了测试集成电路,一种电路包括接收N个扫描输入并生成M个伪扫描输入的输入转换器,其中M和N是整数。扫描压缩架构耦合到输入转换器并响应于M个伪扫描输入而生成P个伪扫描输出。输出转换器耦合到扫描压缩架构并响应于P个伪扫描输出而生成Q个扫描输出,其中P和Q是整数。输入转换器以第一频率接收N个扫描输入并以第二频率生成M个伪扫描输入。输出转换器以第二频率接收P个伪扫描输出并以第一频率生成Q个扫描输出。
在一个测试集成电路的示例性方法中,以第一频率接收N个扫描输入,并且根据N个扫描输入以第二频率生成M个伪扫描输入。根据M个伪扫描输入以第二频率生成P个伪扫描输出,以及根据M个伪扫描输出以第一频率生成Q个扫描输出。第一频率和第二频率的比率等于M和N的比率以及P和Q的比率,其中N、M、P和Q是整数。
在另一个所述示例中,一种计算装置包括主装置和耦合到主装置的从装置。主装置在每个时钟周期以N位操作,并且从装置在每个时钟周期以M位操作。转换器耦合到主装置和从装置。在写入操作期间,转换器在每个时钟周期从主装置接收N位,并存储从主装置接收的位。当存储在转换器中的位的数量等于或大于M时,转换器向从装置提供M位。
附图说明
图1是一种用于测试集成电路(IC)的电路的示意图。
图2是一种用于测试集成电路(IC)的电路的参数表,作为扫描时钟的函数。
图3(a)和图3(b)示出一种用于测试集成电路(IC)的电路中的部分数据打包。
图4是一种用于测试集成电路(IC)的电路的时序图。
图5是一种用于测试集成电路(IC)的电路的示意图。
图6(a)和图6(b)示出了一种用于测试集成电路(IC)的电路中的部分数据打包。
图7是一种用于测试集成电路(IC)的电路的时序图。
图8示出了一种计算装置。
具体实施方式
图1是一种用于测试集成电路(IC)的电路100的示意图。电路100包括输入转换器104。输入转换器104从测试器(图1中未示出)接收N个扫描输入102,其中N是整数。一些测试器的示例可以包括非常低成本的测试器(VLCT)或高端测试器。输入转换器104生成M个伪扫描输入106,其中M是整数。在一个实施例中,输入转换器104是FIFO(先进先出)缓冲器。扫描压缩架构110耦合到输入转换器104。扫描压缩架构110接收M个伪扫描输入106并响应于M个伪扫描输入106生成P个伪扫描输出116。扫描压缩架构110包括解压缩器108、多个扫描链112和压缩器114。解压缩器108耦合到输入转换器104并接收M个伪扫描输入106。解压缩器108耦合到扫描链112。扫描链112中的每一个包括多个扫描单元,诸如扫描单元111。压缩器114耦合到扫描链112。压缩器114生成P个伪扫描输出116,其中P是整数。输出转换器118耦合到压缩器114。输出转换器118接收P个伪扫描输出116并生成Q个扫描输出120,其中Q是整数。在一个实施例中,输出转换器118是FIFO(先进先出)缓冲器。电路100包括监视器122。监视器122从输入转换器104接收状态信号124,并且还接收扫描时钟126。监视器122生成内部时钟128和使能信号130。内部时钟128被提供给扫描压缩架构110。输出转换器118从监视器122接收使能信号130。电路100可以包括一个或更多个附加部件,为了描述的简单起见,这里不再讨论。
在图1的电路100的操作中,输入转换器104接收N个扫描输入102并生成M个伪扫描输入106。扫描压缩架构110接收M个伪扫描输入106并生成P个伪扫描输出116。解压缩器108接收M个伪扫描输入106并响应于M个伪扫描输入106生成多个核心扫描输入。核心扫描输入被提供给扫描链112。扫描链112中的每一个包括诸如扫描单元111的扫描单元。每个扫描单元111以内部时钟128的频率移位多个核心扫描输入中的一个核心扫描输入。响应于由扫描链112接收的核心扫描输入,扫描链112生成多个核心扫描输出。压缩器114接收核心扫描输出并响应于核心扫描输出而生成P个伪扫描输出116。输出转换器118接收P个伪扫描输出116并生成Q个扫描输出120。输入转换器104以第一频率接收N个扫描输入102并以第二频率生成M个伪扫描输入106。输出转换器118以第二频率接收P个伪扫描输出116并以第一频率生成Q个扫描输出120。第一频率和第二频率的比率等于M和N的比率以及P和Q的比率。监视器122接收扫描时钟126并生成内部时钟128。内部时钟128的频率等于第二频率。扫描链112被内部时钟128驱动。
输入转换器104在每个扫描时钟126接收N个扫描输入102。输入转换器104被配置为存储N个扫描输入102并在扫描时钟开始时存储在输入转换器104中的扫描输入102的数量等于或大于M时生成M个伪扫描输入106。在一个实施例中,当N等于8并且M等于9时,输入转换器104在第一扫描时钟中接收8个扫描输入102。因为8小于M,所以输入转换器104在第一扫描时钟中不生成M个伪扫描输入106。这些8个扫描输入102存储在输入转换器104中。在下一个扫描时钟(其是第二扫描时钟):(a)输入转换器104接收另外8个扫描输入102;并且(b)在第二扫描时钟开始时存储在输入转换器104中的扫描输入102的总数大于M。因此,输入转换器104在第二扫描时钟中生成9个伪扫描输入106,存储在输入转换器104中的剩余扫描输入的数量为7(16-9=7)。这个过程被称为部分数据打包(fractional data packing),并且随后借助于图2和图3的描述进一步解释。监视器122从输入转换器104接收状态信号124。状态信号124关于每个扫描时钟开始时存储在输入转换器104中的扫描输入的数量更新监视器122。例如,在上述实施例中,状态信号124将更新监视器122:在第一扫描时钟开始时,8个扫描输入存储在输入转换器104中,并且16个扫描输入在第二扫描时钟开始时存储在输入转换器104中。监视器122被配置为当在扫描时钟开始时存储在输入转换器104中的扫描输入的数量小于M时,中断到扫描压缩架构110的内部时钟128。因此,当在扫描时钟开始时存储在输入转换器104中的扫描输入的数量小于M时,停止扫描单元中核心扫描输入的移位。
输出转换器118在除第一扫描时钟之外的每个扫描时钟126生成Q个扫描输出。在一个实施例中,当N等于8并且M等于9时,输入转换器104在第一扫描时钟接收8个扫描输入102。因为8小于M,所以输入转换器104在第一扫描时钟中不生成M个伪扫描输入106。这8个扫描输入102存储在输入转换器104中,并且输出转换器118在第一扫描时钟中不接收任何输入。在下一个扫描时钟(其是第二扫描时钟)中,输入转换器104接收另外8个扫描输入102,并且存储在输入转换器104中的扫描输入的总数量大于M。因此,输入转换器104在第二扫描时钟中生成9个伪扫描输入106。当P等于9并且Q等于8时,扫描压缩架构110接收9个伪扫描输入106并生成9个伪扫描输出116。输出转换器118接收9个伪扫描输出116并生成8个扫描输出120。一个(1)伪扫描输出存储在输出转换器118中。在第三扫描时钟中,输出转换器118接收9个伪扫描输出116并生成8个扫描输出120。然后总共2个伪扫描输出存储在输出转换器118中。类似地,在9个扫描时钟之后,输出转换器118中存储总共8个伪扫描输出。在第10个扫描时钟中,输出转换器118生成8个扫描输出120,并且存储在输出转换器118中的伪扫描输出的数量为零。输出转换器118从监视器122接收使能信号130。使能信号130被配置为当在扫描时钟开始时存储在输出转换器118中的伪扫描输出的数量小于Q时,禁用伪扫描输出在输出转换器118中的存储。在一个实施例中,使能信号130被配置为当输出转换器118没有接收到伪扫描输出时,禁用伪扫描输出在输出转换器118中的存储。在一个实施例中:(a)输入转换器104的存储深度是K位,其中K是整数,并且K大于或等于2N;和(b)输出转换器118的存储深度是L位,其中L是整数,并且L大于或等于2P。
电路100适用于所有装置且与引脚的数量无关。因此,当A引脚提供最佳测试时间,并且要测试的装置或集成电路是B引脚时,电路100不需要A是B的整数倍。此外,“无关”输入的问题不出现在电路100中。与常规技术相比,电路100中所需的测试时间显著减少。
图2是示出作为扫描时钟的函数的用于测试集成电路(IC)的电路的参数表200。当N为8,M为9,P为9,Q为8时,借助于图1的电路100解释表200。行1示出由电路100接收的扫描时钟126。例如,在表200中仅表示12个扫描时钟。行2表示在扫描时钟结束时存储在输入转换器104中的扫描输入(类似于扫描输入102)的数量。输入转换器104被配置为存储N个扫描输入102并在扫描时钟开始时存储在输入转换器104中的扫描输入的数量等于或大于M时,生成M个伪扫描输入106。当N等于8,并且M等于9时,输入转换器104在扫描时钟1接收8个扫描输入102。因为8小于M,所以输入转换器104在第一扫描时钟(扫描时钟1)中不生成M个伪扫描输入106。这8个扫描输入102存储在输入转换器104中。在下一个扫描时钟(其为扫描时钟2)中,输入转换器104接收另外8个扫描输入102,并且在扫描时钟2的开始时存储在输入转换器104中的扫描输入的总数大于M。因此,输入转换器104在扫描时钟2生成9个伪扫描输入106,并且在扫描时钟2结束时存储在输入转换器104中的剩余扫描输入的数量是7(16-9=7),如行2所示(扫描时钟2下方)。该过程称为部分数据打包,因为在扫描时钟2接收的扫描输入的部分作为伪扫描输入的部分被发送。类似地,在扫描时钟3,在输入转换器104处接收下一组8个扫描输入102。在扫描时钟3开始时存储在输入转换器104中的扫描输入的总数是(7+8=15),其大于M。因此,输入转换器104在第三扫描时钟中生成9个伪扫描输入106,并且在第三扫描时钟结束时存储在输入转换器104中的剩余扫描输入的数量是6(15-9=6),如行2所示(扫描时钟3下方)。类似地,在扫描时钟9,在输入转换器104处接收一组8个扫描输入102。存储在输入转换器104中的扫描输入的总数为(1+8=9),其等于M。因此,输入转换器104在第九扫描时钟(扫描时钟9)中生成9个伪扫描输入106,并且在第九扫描时钟结束时存储在输入转换器104中的剩余扫描输入的数量为0(9-9=0),如行2(扫描时钟9下方)所示。在扫描时钟10,输入转换器104接收另一组8个扫描输入102,其被存储在输入转换器104中。
在扫描时钟2,如行3(扫描时钟2下方)所示,从输入转换器104接收到9个伪扫描输入106时,使能到扫描压缩架构110的内部时钟128。监视器122继续向扫描压缩架构110提供内部时钟128,只要在扫描时钟开始时存储在输入转换器104中的扫描输入的数量等于或大于M。当存储在输入转换器104中的扫描输入的数量小于M时,如在行3中的扫描时钟10处的表200所示,监视器122中断到扫描压缩架构110的内部时钟128。在扫描时钟10,输入转换器104接收另一组8个扫描输入102,其被存储在输入转换器104中。因为8小于M(M=9),所以输入转换器104在第十扫描时钟(扫描时钟10)中不生成M个伪扫描输入106。相应地,监视器122在扫描时钟10时中断到扫描压缩架构110的内部时钟128(在扫描时钟10下面的行3中示出为0)。
当内部时钟128在扫描时钟2被提供给扫描压缩架构110时,扫描压缩架构110响应于从输入转换器104接收的9个伪扫描输入106而生成9个伪扫描输出116。当在扫描时钟开始时存储在输出转换器118中的伪扫描输出的数量大于或等于Q时,输出转换器118生成Q个扫描输出120。在扫描时钟2开始时,9个伪扫描输出116被接收并存储在输出转换器118中。当Q为8并且存储在输出转换器118中的伪扫描输出的数量为9时,输出转换器118生成8个扫描输出120,并且在扫描时钟2结束时输出转换器118中存储的剩余伪扫描输出的数量为1(9-8=1),如行4(扫描时钟2下方)所示。在扫描时钟3,在输出转换器118处接收下一组9个伪扫描输出116。存储在输出转换器118中的伪扫描输出的总数是(1+9=10),其大于Q。因此,输出转换器118在第三扫描时钟中生成8个扫描输出120,并且在第三扫描时钟结束时存储在输出转换器118中的剩余伪扫描输出的数量是2(10-8=2),如行4(扫描时钟3下方)所示。类似地,在扫描时钟9,在输出转换器118处接收一组9个伪扫描输出116。存储在输出转换器118中的伪扫描输出的总数是(7+9=16),其大于Q。因此,输出转换器118在第九扫描时钟(扫描时钟9)中生成8个扫描输出120,并且在第九扫描时钟结束时存储在输出转换器118中的剩余伪扫描输出的数量是8(16-8=8),如行4所示(扫描时钟9下方)。在扫描时钟10,输入转换器104不生成伪扫描输入106,并且到扫描压缩架构110的内部时钟128也被禁用。然而,输出转换器118具有存储的8个伪扫描输出,其等于Q,且因此在扫描时钟10生成8个扫描输出120,并且在扫描时钟10结束时存储在输出转换器118中的剩余伪扫描输出的数量为0(8-8=0),如行4(扫描时钟10下方)所示。行5示出了使能信号130,其由输出转换器118从监视器122接收。使能信号130被配置为当存储在输出转换器118中的伪扫描输出116的数量在扫描时钟开始时小于Q时禁用在输出转换器118中伪扫描输出的存储。使能信号130类似于内部时钟128。当监视器122中断内部时钟128时,到输出转换器118的使能信号130也被禁用。
图3(a)和图3(b)示出了一种用于测试集成电路(IC)的电路中的部分数据打包。例如,在图1中的电路100的帮助下示出了部分数据打包,当N等于8,并且M等于9时。图3(a)是示出扫描时钟308(扫描时钟1至扫描时钟11)内在输入转换器104处接收的扫描输入的表。8个扫描输入在列302中示出为S0到S7。列304示出在扫描时钟1接收的扫描输入的值。类似地,列306表示在扫描时钟2接收的扫描输入的值。图3(b)是示出响应于图3(a)的在扫描时钟308(扫描时钟1到扫描时钟11)内接收的扫描输入而由输入转换器104生成的伪扫描输入的表。列312将9个伪扫描输入表示为PS0到PS8。如列314中所示,在扫描时钟1不生成伪扫描输入。因为输入转换器104在扫描时钟1接收8个扫描输入并且8小于M(=9),所以输入转换器104在扫描时钟1中不生成伪扫描输入。在扫描时钟2,输入转换器104生成列316中所示的9个伪扫描输入。在扫描时钟2生成的9个伪扫描输入包括:(a)输入转换器104在扫描时钟1接收的8个扫描输入;以及(b)在输入转换器104在扫描时钟2接收的1个扫描输入。类似地,在扫描时钟3(在列318中示出)中生成的9个伪扫描输入包括:(a)输入转换器104在扫描时钟2接收的7个扫描输入;以及(b)在扫描时钟3接收的2个扫描输入。该过程称为部分数据打包,因为在扫描时钟2接收的扫描输入的一部分作为扫描时钟2的伪扫描输入的部分被发送。为了描述的简单,扫描输入和伪扫描输入的值在图3(a)和图3(b)中分别相同。然而,在一个实施例中,输入转换器104处理扫描输入并生成不同值的伪扫描输入。在扫描时钟8(在列320中示出)生成的9个伪扫描输入包括:(a)输入转换器104在扫描时钟7接收的2个扫描输入;以及(b)在扫描时钟8接收的7个扫描输入。此外,在扫描时钟9(在列322中示出)生成的9个伪扫描输入包括:(a)输入转换器104在扫描时钟8接收的1个扫描输入;以及(b)在扫描时钟9接收的8个扫描输入。在扫描时钟10,输入转换器104接收另一组8个扫描输入,其被存储在输入转换器104中(列309)。然而,在扫描时钟10时8个扫描输入小于M(=9),因此输入转换器104在扫描时钟10中不生成伪扫描输入(在列324中示出)。图3(a)和图3(b)的扫描输入和伪扫描输入的值是示例性目的。
图4是一种用于测试集成电路(IC)的电路的时序图。例如,当N等于8、M等于9、P等于9且Q等于8时,在图1中的电路100的帮助下示出了该时序图。时序图示出在每个扫描时钟126接收的扫描输入102。在图4中表示的每个框,诸如框102a和102b,表示多个扫描输入。每个框,诸如框102a和102b,是表示多个扫描输入的一组位。当N等于8时,每个框表示8个扫描输入。因此,在每个扫描时钟126接收8个扫描输入。在第一扫描时钟,不生成伪扫描输入106,因为存储在输入转换器104中的扫描输入的数量小于9。在第二扫描时钟,存储在输入转换器104中的扫描输入的数量大于9,使得在第二扫描时钟生成9个伪扫描输入106。当从输入转换器104接收到9个伪扫描输入106时,内部时钟128被使能。监视器122继续向扫描压缩架构110提供内部时钟128,只要在扫描时钟开始时存储在输入转换器104中的扫描输入的数量大于M。当存储在输入转换器104中的扫描输入的数量小于M时,监视器122中断到扫描压缩架构110的内部时钟128,如图4所示在扫描时钟10处被表示为XXX。在扫描时钟10,输入转换器104接收另一组8个扫描输入,其被存储在输入转换器104中。因为8小于M(M=9),所以输入转换器104在第十扫描时钟(扫描时钟10)不生成M个伪扫描输入106。因此,监视器122在扫描时钟10中断到扫描压缩架构110的内部时钟128。图4中表示的扫描输入102和伪扫描输入106的值是根据一个示例实施例。
当内部时钟128在扫描时钟2被提供给扫描压缩架构110,扫描压缩架构110响应于从输入转换器104接收的9个伪扫描输入106而生成9个伪扫描输出116。当在扫描时钟开始时存储在输出转换器118中的伪扫描输出的数量大于或等于Q时,输出转换器118生成Q个扫描输出120。在扫描时钟2的开始,9个伪扫描输出116被接收并被存储在输出转换器118中。当Q为8并且存储在输出转换器118中的伪扫描输出的数量为9时,输出转换器118生成8个扫描输出120。如上所述,在扫描时钟10不生成伪扫描输入106,因此在扫描时钟10不生成伪扫描输出116,表示为XXX。然而,输出转换器118在所有扫描时钟继续生成扫描输出120。输出转换器118在扫描时钟10时具有存储的8个伪扫描输出,其等于Q,且因此生成8个扫描输出120。图4中表示的扫描输入102、伪扫描输入106、伪扫描输出116和扫描输出120的值是根据一个示例实施例。在至少一个实施例中,扫描输出120将不同于扫描输入102。
图5是一种用于测试集成电路(IC)的电路500的示意图。电路500包括输入转换器504。输入转换器504从测试器(图5中未示出)接收N个扫描输入502,其中N是整数。在实施例中的一个实施例中,输入转换器504从测试器接收多个扫描输入。为了说明的目的,N是8,并且扫描输入502被示为S0到S7。一些测试器的示例可以包括非常低成本的测试器(VLCT)或高端测试器。输入转换器504生成M个伪扫描输入506,其中M是整数。为了说明的目的,M是9,并且伪扫描输入506被示为PS0到PS8。输入转换器504进一步包括逻辑单元505,该逻辑单元505被配置为处理N个扫描输入502的一组扫描输入,并且生成M个伪扫描输入506的一组伪扫描输入506。在一个实施例中,逻辑单元505被配置为处理扫描输入S0至S7并生成伪扫描输入PS0至PS7。输入转换器504包括耦合在一起并被配置为生成伪扫描输入PS8的多个复用器和多个触发器。在一个实施例中,输入转换器504包括7个多路复用器(M1-M7),并且7个多路复用器中的每个多路复用器接收扫描输入S1-S7中的扫描输入作为第一输入。输入转换器504包括串行布置的八个触发器,并且每个触发器耦合到多路复用器的第二输入。每个多路复用器从监视器522接收使能信号530。八个触发器中的第一触发器接收扫描输入S0,并且八个触发器中的最后一个触发器生成伪扫描输入PS8。在另一实施例中,时序装置的组合用于生成一个或更多个伪扫描输入。
扫描压缩架构510耦合到输入转换器504。扫描压缩架构510接收M个伪扫描输入506并响应于M个伪扫描输入506生成P个伪扫描输出516。在一个实施例中,扫描压缩架构510接收9个伪扫描输入506并响应于9个伪扫描输入506而生成9个伪扫描输出516。扫描压缩架构510包括解压缩器508、多个扫描链512和压缩器514。解压缩器508耦合到输入转换器504并接收M个伪扫描输入506。解压缩器508耦合到扫描链512。每个扫描链512包括多个扫描单元,诸如扫描单元511。压缩器514耦合到扫描链512。压缩器514生成P个伪扫描输出516,其中P是整数。输出转换器518耦合到压缩器514。输出转换器518接收P个伪扫描输出516并生成Q个扫描输出520,其中Q是整数。在所示实施例中,P为9,Q为8。因此,输出转换器518接收9个伪扫描输出516并生成8个扫描输出520。在一个实施例中,输出转换器518包括耦合在一起并被配置为生成Q个扫描输出的多个多路复用器和多个触发器。在一个实施例中,输出转换器518包括8个多路复用器,并且8个多路复用器中的每个多路复用器接收9个伪扫描输出的伪扫描输出作为第一输入。输出转换器518包括串行布置的八个触发器,并且每个触发器的输出耦合到多路复用器的第二输入。每个多路复用器从监视器522接收使能信号530。八个触发器的第一触发器接收一个伪扫描输出。在另一实施例中,在输出转换器518中使用顺序装置的组合以生成一个或更多个扫描输出。在一个实施例中:(a)输入转换器504的存储深度是K位,其中K是整数,并且K大于或等于2N;以及(b)输出转换器518的存储深度是L位,其中L是整数,并且L大于或等于2P。
电路500包括监视器522。监视器522从输入转换器504接收状态信号524,并且还接收扫描时钟526。监视器522生成内部时钟528和使能信号530。内部时钟528被提供给扫描压缩架构510。输出转换器518从监视器522接收使能信号530。电路500可以包括一个或更多个附加部件,为了描述的简单起见,这里不讨论这些附加部件。
为了便于理解,当N等于8,M等于9,P等于9,并且Q等于8时,解释图5的操作。输入转换器504接收8个扫描输入502并生成9个伪扫描输入506。扫描压缩架构510接收9个伪扫描输入506并生成9个伪扫描输出516。解压缩器508接收9个伪扫描输入506并响应于9个伪扫描输入506生成多个核心扫描输入。核心扫描输入被提供给扫描链512。每个扫描单元511以内部时钟528的频率移位核心扫描输入中的核心扫描输入。扫描链512响应于由扫描链512接收的核心扫描输入而生成多个核心扫描输出。压缩器514接收核心扫描输出并响应于核心扫描输出而生成9个伪扫描输出516。输出转换器518接收9个伪扫描输出516并生成8个扫描输出520。输入转换器504以第一频率接收8个扫描输入502并以第二频率生成9个伪扫描输入506,并且输出转换器518以第二频率接收9个伪扫描输出516并以第一频率生成8个扫描输出520。第一频率和第二频率的比率等于M和N的比率以及P和Q的比率。监视器522接收扫描时钟526并生成内部时钟528。内部时钟528的频率等于第二频率。扫描链512由内部时钟528以第二频率驱动。
输入转换器504在每个扫描时钟526接收N个扫描输入。输入转换器504被配置为存储8个扫描输入502,并且当在扫描时钟开始时存储在输入转换器504中的扫描输入的数量等于或大于9时生成9个伪扫描输入506。输入转换器504在第一扫描时钟中接收8个扫描输入502。因为8小于M,所以输入转换器504在第一扫描时钟中不生成M个伪扫描输入506。八个触发器的第一触发器接收扫描输入S0,并且其余的扫描输入被提供给七个多路复用器中的每个多路复用器的第一输入。例如,多路复用器M1接收扫描输入S1,并且多路复用器M7接收扫描输入S7。在下一个扫描时钟(其是第二扫描时钟)中,输入转换器504接收另外8个扫描输入502。这些扫描输入作为S0-S7被提供给输入转换器504。逻辑单元505处理这些扫描输入S0-S7并生成八个伪扫描输入PS0-PS7。在一个实施例中,逻辑单元505是缓冲器,因此伪扫描输入的值与扫描输入相同。监视器522向多路复用器提供使能信号,并且在第一扫描时钟中接收的扫描输入(S7)通过触发器移位以生成伪扫描输入PS8。因此,输入转换器504在第二扫描时钟中生成9个伪扫描输入。类似地,在第三扫描时钟,输入转换器504接收另外8个扫描输入。这些扫描输入作为S0-S7被提供给输入转换器504。逻辑单元505处理这些扫描输入(S0-S7)并生成八个伪扫描输入PS0-PS7。监视器522向多路复用器提供使能信号,并且在第一扫描时钟中接收的扫描输入(S6)通过触发器移位以生成伪扫描输入PS8。因此,输入转换器504在第三扫描时钟中生成9个伪扫描输入506。这个过程被称为部分数据打包,并且随后借助于图6(a)和图6(b)在描述中进一步解释。监视器522从输入转换器504接收状态信号524。状态信号524关于在每个扫描时钟开始时多路复用器的输入处存储在输入转换器504中的扫描输入的数量更新监视器522。例如,在上述实施例中,状态信号524将更新监视器522:在第一扫描时钟的开始时,8个扫描输入被存储在输入转换器504中,并且在第二扫描时钟的开始,16个扫描输入被存储在输入转换器504中。监视器522被配置为当在扫描时钟开始时存储在输入转换器504中的扫描输入的数量小于M时,中断到扫描压缩架构510的内部时钟528。因此,当在扫描时钟开始时存储在输入转换器504中的扫描输入的数量小于M时,停止扫描单元中的核心扫描输入的移位。在第九扫描时钟,八个扫描输入和第一扫描时钟中存储的扫描输入(S0)一起形成被提供给扫描压缩架构510的9个伪扫描输入。在第十扫描时钟处,在输入转换器504处接收新的一组8个扫描输入502。因为8小于M,输入转换器504在第十扫描时钟中不生成M个伪扫描输入506。八个触发器中的第一触发器接收扫描输入S0,其余扫描输入被提供给七个多路复用器中的每个多路复用器的第一输入。例如,多路复用器M1接收扫描输入S1,并且多路复用器M7接收扫描输入S7。
输出转换器518在除第一扫描时钟之外的每个扫描时钟526生成8个扫描输出520。输入转换器504在第一扫描时钟中接收8个扫描输入502。因为8小于M,所以输入转换器504在第一扫描时钟中不生成M个伪扫描输入506。这8个扫描输入被存储在输入转换器504中,并且输出转换器518在第一扫描时钟中不接收任何输入。在下一个扫描时钟(其是第二扫描时钟)中,输入转换器504接收另外8个扫描输入502。输入转换器504在第二扫描时钟中生成9个伪扫描输入506。扫描压缩架构510接收9个伪扫描输入506并生成9个伪扫描输出516。输出转换器518接收9个伪扫描输出516。9个伪扫描输出中的一个伪扫描输出被提供给串联布置的八个触发器中的触发器中。该伪扫描输出被存储在以串行方式布置的八个触发器中的第一触发器中。将9个伪扫描输出516的其它8个伪扫描输出提供给8个多路复用器。监视器522向八个多路复用器提供使能信号530,并且多路复用器生成八个扫描输出520。在第三时钟周期中,当在输出转换器518处接收到9个伪扫描输出516时,9个伪扫描输出中的一个伪扫描输出被提供给串行方式布置的8个触发器中的触发器。先前存储的伪扫描输出被移动到正在接收扫描时钟的下一个触发器(其是第二触发器)。将9个伪扫描输出的其它8个伪扫描输出提供给8个多路复用器。监视器522向八个多路复用器提供使能信号530,并且多路复用器生成八个扫描输出520。因此,对于每个扫描时钟,新的伪扫描输出存储在触发器链中,并且先前存储在触发器中的伪扫描输出被移位。因此,在9个扫描时钟之后,8个触发器将被伪扫描输出占用。因为在第十扫描时钟,伪扫描输入506不在输入转换器504处生成,所以八个触发器中的数据可用于八个多路复用器,并且多路复用器生成八个扫描输出520。
图6(a)和图6(b)示出了一种用于测试集成电路(IC)的电路中的部分数据打包。例如,当N等于8,并且M等于9时,在图5中的电路500的帮助下示出了部分数据打包。图6(a)是示出在输入转换器504处在扫描时钟608(扫描时钟1至扫描时钟18)内接收的扫描输入的表。8个扫描输入在列602中示出为S0到S7。列604示出在扫描时钟1接收的扫描输入的值。类似地,列606表示在扫描时钟2接收的扫描输入的值。图6(b)是示出响应于图6(a)的在扫描时钟608(扫描时钟1至扫描时钟18)内接收的扫描输入由输入转换器504生成的伪扫描输入的表。列612将9个伪扫描输入表示为PS0到PS8。如列614所示,在扫描时钟1不生成伪扫描输入。因为输入转换器504在扫描时钟1接收8个扫描输入,并且8小于M(=9),所以输入转换器504在扫描时钟1中不生成伪扫描输入。这些扫描输入存储在图5中讨论的触发器和多路复用器布置中,并且这些扫描输入中的每个利用扫描时钟被移出作为伪扫描输入。在扫描时钟2,输入转换器504生成列616中所示的9个伪扫描输入。在扫描时钟2生成的9个伪扫描输入包括:(a)输入转换器504在扫描时钟2接收的8个扫描输入;和(b)输入转换器504在扫描时钟1接收的1个扫描输入。类似地,在扫描时钟3(在列618中示出)中生成的9个伪扫描输入包括:(a)输入转换器504在扫描时钟2接收的8个扫描输入;和(b)在扫描时钟1接收的1个扫描输入。在9个扫描时钟的跨度上的伪扫描输入PS8表示在扫描时钟1(图示为615)时在输入转换器504处接收的扫描输入。该过程称为部分数据打包,因为在扫描时钟1接收的扫描输入的部分作为伪扫描输入的部分被发送。为了描述的简单,扫描输入和伪扫描输入的值在图6(a)和6(b)中相同。然而,在一个实施例中,输入转换器504处理扫描输入并且生成不同值的伪扫描输入。在扫描时钟8(在列620中示出)中生成的9个伪扫描输入包括:(a)输入转换器504在扫描时钟7接收的8个扫描输入;以及(b)在扫描时钟1接收的1个扫描输入。此外,在扫描时钟9(在列622中示出)中生成的9个伪扫描输入包括:(a)输入转换器504在扫描时钟8接收的8个扫描输入;以及(b)在扫描时钟1接收的1个扫描输入。在扫描时钟10,输入转换器504接收另一组8个扫描输入,其被存储在图5中讨论的触发器和多路复用器布置中的输入转换器504(列609)中。然而,在扫描时钟10,8个扫描输入小于M(=9),因此输入转换器504不在扫描时钟10(在列624中示出)中生成伪扫描输入。
图7是一种用于测试集成电路(IC)的电路的时序图。例如,当N等于8时,M等于9,P等于9,并且Q等于8时,在图5中的电路500的帮助下示出了时序图。该时序图示出了在每个扫描时钟526接收的扫描输入502。图4中表示的每个框,诸如框502a和502b,表示多个扫描输入。诸如框502a和502b的每个框是表示多个扫描输入的一组位。当N等于8时,每个块表示8个扫描输入。因此,在每个扫描时钟526接收8个扫描输入。在第一扫描时钟,不生成伪扫描输入506,因为存储在输入转换器504中的扫描输入的数量小于9。第一扫描时钟接收的这8个扫描输入被存储在图5中讨论的触发器和多路复用器布置中的输入转换器504中。在第二扫描时钟,输入转换器504接收下一组8个扫描输入,并且在扫描时钟2开始时存储在输入转换器504中的扫描输入的数量为16。因此,由输入转换器504生成9个伪扫描输入。当从输入转换器504接收到9个伪扫描输入时,内部时钟528被使能。监视器522继续向扫描压缩架构510提供内部时钟528,只要在扫描时钟开始时存储在输入转换器504中的扫描输入的数量等于或大于M。当存储在输入转换器504中的扫描输入的数量小于M时,监视器522中断到扫描压缩架构510的内部时钟528,如图7中所示,被表示为XXX的扫描时钟10处。在扫描时钟10,输入转换器504接收另一组8个扫描输入,其被存储在输入转换器504中。因为8小于M(M=9),所以输入转换器504在第十扫描时钟中(扫描时钟10)不生成M个伪扫描输入。因此,监视器522在扫描时钟10中断到扫描压缩架构510的内部时钟528。在图4中表示的扫描输入和伪扫描输入的值是根据一个示例实施例。
当内部时钟528在扫描时钟2被提供给扫描压缩架构510,扫描压缩架构510响应于从输入转换器504接收的9个伪扫描输入而生成9个伪扫描输出516。输出转换器518在扫描时钟开始时存储在输出转换器518中的伪扫描输出的数量大于或等于Q时生成Q个扫描输出。在扫描时钟2的开始,9个伪扫描输出516被接收并且存储在输出转换器518中。当Q为8并且存储在输出转换器518中的伪扫描输出的数量为9时,输出转换器518生成8个扫描输出520并存储1个伪扫描输出。如图所示,在第二扫描时钟生成的扫描输出520与在第二扫描时钟接收的扫描输入502相同。类似地,在扫描时钟3开始时,9个伪扫描输出516被接收并存储在输出转换器518中。输出转换器518生成8个扫描输出520并存储1个伪扫描输出。如图所示,在第三扫描时钟生成的扫描输出520与在第三扫描时钟接收的扫描输入502相同。因此,在第三扫描时钟结束时,输出转换器存储2个伪扫描输出。如图5中所讨论的,伪扫描输出存储在以串行方式布置的触发器中。对于每个扫描时钟,新的伪扫描输出存储在触发器链中,并且触发器中的先前存储的伪扫描输出在触发器链中被移位。如上所述,在扫描时钟10不生成伪扫描输入,因此在扫描时钟10不生成伪扫描输出516,被表示为XXX。然而,输出转换器518在扫描时钟10继续生成扫描输出520。存储在触发器链中的伪扫描输出可用于多路复用器,并且多路复用器在扫描时钟10生成八个扫描输出。如图所示,在第十扫描时钟生成的扫描输出520与在第一扫描时钟接收的扫描输入502相同。为了便于理解,扫描输入和扫描输出的值在图7中示出为相同。然而,在一个实施例中,电路500处理扫描输入并生成不同值的扫描输出。
图8示出根据一个实施例的计算装置800。计算装置800是集成电路或者是被并入到服务器群中的集成电路、具有硬盘驱动器的计算装置、视频记录器、蓝牙装置、遥控器、键盘、全球导航卫星系统、移动通信装置(诸如移动电话)、个人数字助理、个人计算机或任何其它类型的电子系统。
在一些实施例中,计算装置800能够是微控制器、微处理器或片上系统(SoC)中的一个,但不限于此。计算装置800包括主装置,诸如主装置802a、802b和802c。例如,主装置能够是处理单元,诸如CPU(中央处理单元)、CISC型(复杂指令集计算机)CPU、RISC型CPU(精简指令集计算机)或数字信号处理器(DSP)。转换器804耦合到主装置中的至少一个主装置。从装置812耦合到转换器804。在一个实施例中,多个从装置耦合到转换器804。例如,从装置812能够是存储器、预处理器、无源存储装置或逻辑单元。转换器804通过数据路径806双向耦合到从装置812。转换器804还向从装置812发送写使能信号808和读使能信号810。在操作上,转换器804类似于图1的输入转换器104或图5的输入转换器504。在一个实施例中,转换器804在操作上类似于输出转换器118或输出转换器518。
在图8的计算装置800的操作中,主装置在每个时钟周期以N位操作。例如,主装置802a在每个时钟周期以24位操作。因此,主装置802a以24位/时钟的速率读取数据,并且数据由主装置802a以24位/时钟的速率写入。从装置812在每个时钟周期以M位操作。写入操作被定义为主装置802a在从装置812中写入数据,并且读取操作被定义为主装置802a从从装置812读取数据。在写入操作期间,转换器804以每时钟周期N位的速率从主装置802a接收数据。然而,从装置812在每个时钟周期以M位操作。因此,转换器804临时存储从主装置802a接收的数据,并且当转换器804中存储的位数等于或大于M时,通过数据路径806向从装置812提供M位。当存储在转换器804中的位的数量等于或大于M时,转换器804在每个时钟周期还将写使能信号808发送到从装置812。写使能信号808向从装置812指示数据路径806是有效数据。为了便于理解,现在借助于主装置802a以每个时钟周期24位操作并且从装置812每时钟周期以32位操作的示例来解释写入操作。转换器804以每个时钟周期24位的速率从主装置802a接收数据。因为从装置812在每个时钟周期以32位操作,所以来自主装置802a的数据不能被直接写入从装置812。因此,转换器804临时存储从主装置802a接收的数据,并且当存储在转换器804中的位的数量等于或大于32时通过数据路径806提供32位给从装置812。在第一时钟周期中,转换器804将接收24位的数据。另外,因为它小于32,所以转换器804将存储这24位数据。在第二时钟周期中,转换器804将接收另一24位数据。因此,在第二时钟周期的开始,存储在转换器804中的48位数据大于M。因此,在第二时钟周期,转换器804将向从装置812提供32位数据。在第二时钟周期结束时存储在转换器804中的位的总数是16(48-32=16)。在第三时钟周期,转换器804将接收另一24位数据。因此,在第三时钟周期的开始,存储在转换器804中的40(16+24=40)位数据大于M。因此,在第三时钟周期,转换器804将提供32位数据给从装置812。在第三时钟周期结束时存储在转换器804中的位总数是8(40-32=8)。另外,当在时钟周期开始时存储在转换器804中的位数等于或大于M时,转换器804在每个时钟周期向从装置812发送写使能信号808。
这确保了存储器不被浪费。另外,主装置802a和从装置812的操作速度(M和N)的比率不需要为整数。转换器804提供从主装置802a接收的数据的部分打包并且传送到从装置812。类似地,在读取操作期间,转换器支持数据从从装置812到主装置802a的传送。当转换器804正从从装置读取数据时,转换器804在每个时钟周期向从装置812发送读使能信号810。当主装置802a以每个时钟周期24位操作时,从装置812以每个时钟周期32位操作。在读取操作期间,转换器804以每个时钟周期32位的速率从从装置812接收数据。因为主装置802a在每个时钟周期以24位操作,所以来自从装置812的数据不能被直接写入主装置802a。在第一时钟周期中,转换器804将从从装置812接收32位的数据,并且这些位被存储在转换器804中。转换器804将向主装置802a提供24位的数据并存储剩余的8位(32-24=8位)数据。在第二时钟周期中,转换器804将从从装置812接收另一32位数据。因此,第二时钟周期开始时,存储在转换器804中的42位数据大于N。在第二时钟周期,转换器804将向主装置802a提供24位数据。在第二时钟周期结束时存储在转换器804中的位的总数是18(42-24=18)。
术语“电路”是指至少单个部件或多个无源或有源部件,它们连接在一起以提供期望的功能。术语“信号”是指至少一个电流、电压、电荷、数据或其它信号。
所描述的实施例的修改是可能的,并且在本发明所要求保护的范围内的其它实施例是可能的。
Claims (22)
1.一种电路,所述电路包括:
输入转换器,其被配置为接收N个扫描输入并且被配置为生成M个伪扫描输入,其中M和N是整数;
扫描压缩架构,其耦合到所述输入转换器且被配置为响应于所述M个伪扫描输入而生成P个伪扫描输出;和
输出转换器,其耦合到所述扫描压缩架构且被配置为响应于所述P个伪扫描输出而生成Q个扫描输出,其中P和Q为整数,并且所述输入转换器以第一频率接收所述N个扫描输入且以第二频率生成所述M个伪扫描输入,以及所述输出转换器以所述第二频率接收所述P个伪扫描输出且以所述第一频率生成所述Q个扫描输出。
2.根据权利要求1所述的电路,其中所述第一频率和所述第二频率的比率等于M和N的比率以及P和Q的比率。
3.根据权利要求1所述的电路,进一步包括被配置为接收扫描时钟并生成内部时钟的监视器,其中所述扫描压缩架构被配置为由所述内部时钟以所述第二频率驱动。
4.根据权利要求1所述的电路,其中所述输入转换器被配置为在每个扫描时钟接收所述N个扫描输入,并且被配置为以所述第二频率生成所述M个伪扫描输入。
5.根据权利要求1所述的电路,其中所述输入转换器和所述输出转换器被配置为分别存储所述N个扫描输入和所述P个伪扫描输出。
6.根据权利要求1所述的电路,其中所述监视器被配置为从所述输入转换器接收状态信号,所述状态信号被配置为关于在每个扫描时钟开始时存储在所述输入转换器中的扫描输入的数量更新所述监视器。
7.根据权利要求1所述的电路,其中所述监视器被配置为当所述扫描时钟开始时存储在所述输入转换器中的扫描输入的数量小于M时中断到所述扫描压缩架构的所述内部时钟。
8.根据权利要求1所述的电路,其中所述输出转换器被配置为从所述监视器接收使能信号,所述使能信号被配置为当所述输出转换器中没有接收到所述伪扫描输出时,禁用伪扫描输出在所述输出转换器中存储。
9.根据权利要求1所述的电路,其中所述扫描压缩架构进一步包括:
解压缩器,其耦合到所述输入转换器且被配置为接收所述M个伪扫描输入;
压缩器,其耦合到所述解压缩器且被配置为生成所述P个伪扫描输出;和
多个扫描链,其耦合在所述解压缩器和所述压缩器之间,其中所述多个扫描链中的每个扫描链包括多个扫描单元。
10.根据权利要求1所述的电路,其中所述多个扫描链由所述内部时钟驱动。
11.根据权利要求1所述的电路,其中所述解压缩器被配置为响应于所述M个伪扫描输入而生成多个核心扫描输入。
12.根据权利要求1所述的电路,其中所述多个扫描链被配置为接收所述多个核心扫描输入,并且其中所述多个扫描单元中的每个扫描单元被配置为以所述第二频率移位所述多个核心扫描输入中的核心扫描输入。
13.根据权利要求1所述的电路,其中所述多个扫描链被配置为响应于所述多个核心扫描输入而生成多个核心扫描输出。
14.根据权利要求1所述的电路,其中所述压缩器被配置为响应于所述多个核心扫描输出而生成所述P个伪扫描输出。
15.根据权利要求1所述的电路,其中:所述输入转换器的存储深度是K位,其中K是整数,并且K大于或等于2N;并且所述输出转换器的存储深度是L位,其中L是整数,并且L大于或等于2P。
16.一种测试方法,所述方法包括:
以第一频率接收N个扫描输入;
以第二频率根据N个扫描输入生成M个伪扫描输入;
以所述第二频率根据M个伪扫描输入生成P个伪扫描输出;以及
以第一频率根据M个伪扫描输出生成Q个扫描输出,其中所述第一频率和第二频率的比率等于M和N的比率以及P和Q的比率,其中N、M、P和Q是整数。
17.根据权利要求16所述的方法,进一步包括在每个扫描时钟接收N个扫描输入,以所述第二频率生成M个伪扫描输入,存储所述N个扫描输入,以及当存储在所述输入转换器中的扫描输入的数量等于或大于M时,生成M个伪扫描输入。
18.根据权利要求16所述的方法,进一步包括以所述第二频率接收P个伪扫描输出,在每个扫描时钟处生成Q个扫描输出,存储所述P个伪扫描输出,以及当存储在所述输出转换器中的伪扫描输出的数量等于或大于Q时生成所述Q个扫描输出。
19.一种计算装置,所述装置包括:
主装置,其被配置为每时钟周期以N位操作;
从装置,其耦合到所述主装置并且被配置为每时钟周期以M位操作;和
转换器,其耦合到所述主装置和所述从装置,其中所述转换器在写入操作期间被配置为:在每个时钟周期从所述主装置接收N位;存储从所述主装置接收的位;以及当存储在所述转换器中的位的数量等于或大于M时,向从装置提供M位。
20.根据权利要求19所述的计算装置,其中所述转换器被配置为在所述写入操作期间,在每个时钟周期将写入使能信号提供给所述从装置。
21.根据权利要求19所述的计算装置,其中所述转换器在读取操作期间被配置为:在每个时钟周期从所述从装置接收M位;存储从所述从装置接收的位;并且当转换器中存储的位的数量等于或大于N时,向主装置提供N位。
22.根据权利要求19所述的计算装置,其中所述转换器被配置为在所述读取操作期间,在每个时钟周期向所述从装置提供读取使能信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/272,760 US9448284B2 (en) | 2014-05-08 | 2014-05-08 | Method and apparatus for test time reduction using fractional data packing |
US14/272,760 | 2014-05-08 | ||
PCT/US2015/029996 WO2015172086A1 (en) | 2014-05-08 | 2015-05-08 | Method and apparatus for test time reduction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106461724A true CN106461724A (zh) | 2017-02-22 |
CN106461724B CN106461724B (zh) | 2019-12-10 |
Family
ID=54367660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580023719.XA Active CN106461724B (zh) | 2014-05-08 | 2015-05-08 | 用于测试时间减少的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9448284B2 (zh) |
JP (1) | JP6575970B2 (zh) |
CN (1) | CN106461724B (zh) |
WO (1) | WO2015172086A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117517938A (zh) * | 2023-11-07 | 2024-02-06 | 海光集成电路设计(北京)有限公司 | 一种芯片扫描链测试方法及装置、电子设备、存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112305404B (zh) * | 2020-09-29 | 2022-11-08 | 上海兆芯集成电路有限公司 | 核分区电路与测试装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141782A (en) * | 1998-03-31 | 2000-10-31 | Vlsi Technology, Inc. | Pseudo-scan testing using hardware-accessible IC structures |
US20050055617A1 (en) * | 2003-08-01 | 2005-03-10 | Laung-Terng Wang | Method and apparatus for shifting at-speed scan patterns in a scan-based integrated circuit |
CN1615443A (zh) * | 2002-01-16 | 2005-05-11 | 美国华腾科技股份有限公司 | 用于在基于扫描的集成电路中传输扫描图案的方法和装置 |
US20050268194A1 (en) * | 2004-05-26 | 2005-12-01 | Laung-Terng Wang | Method and apparatus for multi-level scan compression |
US20060026473A1 (en) * | 2004-07-29 | 2006-02-02 | Teck Wee Patrick Tan | Inversion of scan clock for scan cells |
CN1808159A (zh) * | 2004-11-18 | 2006-07-26 | 三洋电机株式会社 | 扫描测试电路 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150364A (en) * | 1990-08-24 | 1992-09-22 | Hewlett-Packard Company | Interleaved time-division demultiplexor |
US5111455A (en) * | 1990-08-24 | 1992-05-05 | Avantek, Inc. | Interleaved time-division multiplexor with phase-compensated frequency doublers |
US6684358B1 (en) * | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US7032148B2 (en) * | 2003-07-07 | 2006-04-18 | Syntest Technologies, Inc. | Mask network design for scan-based integrated circuits |
US7945833B1 (en) * | 2004-05-24 | 2011-05-17 | Syntest Technologies, Inc. | Method and apparatus for pipelined scan compression |
US7143324B2 (en) * | 2004-11-04 | 2006-11-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for automatic masking of compressed scan chains with unbalanced lengths |
JP5181499B2 (ja) | 2007-03-07 | 2013-04-10 | 株式会社リコー | Scanテスト回路及び半導体集積回路 |
US8065651B2 (en) * | 2009-01-29 | 2011-11-22 | Synopsys, Inc. | Implementing hierarchical design-for-test logic for modular circuit design |
US8856601B2 (en) | 2009-08-25 | 2014-10-07 | Texas Instruments Incorporated | Scan compression architecture with bypassable scan chains for low test mode power |
KR101709071B1 (ko) | 2010-05-19 | 2017-02-22 | 삼성전자주식회사 | 컴프레션 모드 스캔 테스트를 위한 집적 회로 |
US8799713B2 (en) * | 2011-03-01 | 2014-08-05 | Texas Instruments Incorporated | Interruptible non-destructive run-time built-in self-test for field testing |
US8650524B1 (en) * | 2012-11-09 | 2014-02-11 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
US8904256B1 (en) * | 2012-11-09 | 2014-12-02 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
US9329235B2 (en) * | 2013-03-13 | 2016-05-03 | Synopsys, Inc. | Localizing fault flop in circuit by using modified test pattern |
US9411014B2 (en) * | 2013-03-22 | 2016-08-09 | Synopsys, Inc. | Reordering or removal of test patterns for detecting faults in integrated circuit |
US9239897B2 (en) * | 2013-04-03 | 2016-01-19 | Synopsys, Inc. | Hierarchical testing architecture using core circuit with pseudo-interfaces |
US9417287B2 (en) * | 2013-04-17 | 2016-08-16 | Synopsys, Inc. | Scheme for masking output of scan chains in test circuit |
US9261560B2 (en) * | 2013-12-31 | 2016-02-16 | Texas Instruments Incorporated | Handling slower scan outputs at optimal frequency |
US9500706B2 (en) * | 2014-01-22 | 2016-11-22 | Nvidia Corporation | Hybrid on-chip clock controller techniques for facilitating at-speed scan testing and scan architecture support |
-
2014
- 2014-05-08 US US14/272,760 patent/US9448284B2/en active Active
-
2015
- 2015-05-08 WO PCT/US2015/029996 patent/WO2015172086A1/en active Application Filing
- 2015-05-08 JP JP2017511563A patent/JP6575970B2/ja active Active
- 2015-05-08 CN CN201580023719.XA patent/CN106461724B/zh active Active
-
2016
- 2016-08-17 US US15/239,279 patent/US9970987B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141782A (en) * | 1998-03-31 | 2000-10-31 | Vlsi Technology, Inc. | Pseudo-scan testing using hardware-accessible IC structures |
CN1615443A (zh) * | 2002-01-16 | 2005-05-11 | 美国华腾科技股份有限公司 | 用于在基于扫描的集成电路中传输扫描图案的方法和装置 |
US20050055617A1 (en) * | 2003-08-01 | 2005-03-10 | Laung-Terng Wang | Method and apparatus for shifting at-speed scan patterns in a scan-based integrated circuit |
US20050268194A1 (en) * | 2004-05-26 | 2005-12-01 | Laung-Terng Wang | Method and apparatus for multi-level scan compression |
US20060026473A1 (en) * | 2004-07-29 | 2006-02-02 | Teck Wee Patrick Tan | Inversion of scan clock for scan cells |
CN1808159A (zh) * | 2004-11-18 | 2006-07-26 | 三洋电机株式会社 | 扫描测试电路 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117517938A (zh) * | 2023-11-07 | 2024-02-06 | 海光集成电路设计(北京)有限公司 | 一种芯片扫描链测试方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150323596A1 (en) | 2015-11-12 |
JP6575970B2 (ja) | 2019-09-18 |
US20160356849A1 (en) | 2016-12-08 |
WO2015172086A1 (en) | 2015-11-12 |
CN106461724B (zh) | 2019-12-10 |
US9448284B2 (en) | 2016-09-20 |
JP2017520934A (ja) | 2017-07-27 |
US9970987B2 (en) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10281524B2 (en) | Test partition external input/output interface control for test partitions in a semiconductor | |
US10845416B2 (en) | Software-based self-test and diagnosis using on-chip memory | |
CN101793942B (zh) | 用于实现层级式测试设计解决方案的方法和装置 | |
JP3845016B2 (ja) | テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション | |
US9927491B2 (en) | IC and process shifting compressed data and loading scan paths | |
JP2013092517A (ja) | スキャン・チェーン用動的クロック領域バイパス | |
US9714981B2 (en) | Test-per-clock based on dynamically-partitioned reconfigurable scan chains | |
US20130305106A1 (en) | Integrated circuits capable of generating test mode control signals for scan tests | |
JPH0150874B2 (zh) | ||
US9003248B2 (en) | Fault-driven scan chain configuration for test-per-clock | |
US11747399B2 (en) | Scan test control decoder with storage elements for use within integrated circuit (IC) devices having limited test interface | |
WO2007105036A1 (en) | Device and method for testing a device | |
JPH11352188A (ja) | 半導体装置 | |
CN106461724A (zh) | 用于测试时间减少的方法和设备 | |
US11397841B2 (en) | Semiconductor integrated circuit, circuit designing apparatus, and circuit designing method | |
US10078114B2 (en) | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device | |
CN109919322B (zh) | 一种测试系统芯片上的人工智能模块的方法和系统芯片 | |
US9009553B2 (en) | Scan chain configuration for test-per-clock based on circuit topology | |
US9347993B2 (en) | Test generation for test-per-clock | |
JP6305823B2 (ja) | スキャンテスト回路 | |
US8996941B2 (en) | Test data volume reduction based on test cube properties | |
CN117573457A (zh) | 基于jtag验证数字电路的方法、fpga、设备及存储介质 | |
Deutsch et al. | Software-based test and diagnosis of SoCs using embedded and wide-I/O DRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |