集成电路中的动态扫描链重新配置

文档序号:1661636 发布日期:2019-12-27 浏览:12次 >En<

阅读说明:本技术 集成电路中的动态扫描链重新配置 (Dynamic scan chain reconfiguration in integrated circuits ) 是由 P·T·肖杜里 于 2018-05-07 设计创作,主要内容包括:一种用于具有多个扫描链(108)的集成电路(IC)(100)的示例测试电路(103)包括:第一电路(102)和第二电路(104);以及扫描链路由器(106),耦合在第一电路与多个扫描链之间,并且耦合在第二电路与多个扫描链之间,扫描链路由器响应于使能信号:(1)将第一电路耦合到多个扫描链中的每个扫描链;或者(2)将第二电路耦合到一个或多个级联扫描链(109),其中每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联。(An example test circuit (103) for an Integrated Circuit (IC) (100) having a plurality of scan chains (108) includes: a first circuit (102) and a second circuit (104); and a scan chain router (106) coupled between the first circuit and the plurality of scan chains and coupled between the second circuit and the plurality of scan chains, the scan chain router responsive to an enable signal to: (1) coupling a first circuit to each scan chain of a plurality of scan chains; or (2) coupling the second circuit to one or more cascaded scan chains (109), wherein each cascaded scan chain comprises a cascade of two or more scan chains of the plurality of scan chains.)

集成电路中的动态扫描链重新配置

技术领域

本公开的示例总体上涉及电子电路,并且特别地涉及集成电路(IC)中的动态扫描链重新配置。

背景技术

诸如专用集成电路(ASIC)等集成电路(IC)是使用用于可测试性(DFT)技术的设计来设计的。DFT技术为电路设计(诸如扫描链)增加了可测试性特征。扫描链由在链中顺序连接的多个触发器(“触发器”)形成。第一触发器的输入连接到输入引脚(“scan-in”),并且最后的触发器的输出连接到输出引脚(“scan-out”)。扫描链***设计中以移入测试输入数据和移出测试结果数据。

IC制造商出于各种原因执行扫描测试,包括测试卡住故障,测试路径延迟(例如,确定路径是否以功能频率运行),等等。通常在制造期间使用自动测试设备(ATE)执行这样的扫描测试。IC可以利用扫描压缩来减少测试IC所需要的数据量,从而释放ATE的资源并且降低测试成本。

还可以将IC设计为使用逻辑内置自测试(LBIST)特征执行自测试。LBIST可以在现场测试电路系统,也可以测试与外部引脚没有直接连接的内部电路。LBIST还可以向扫描链提供测试输入并且从扫描链接收测试输出。在上电之后,IC可以执行LBIST。

上电LBIST通常表现出运行时间限制,使得用户设备的上电时间符合规范。为了满足运行时限制,LBIST可以使用较小的扫描链(例如,具有较少触发器的扫描链)。相反,制造扫描测试则使用较大的扫描链(例如,具有更多触发器的扫描链)。对于制造扫描测试,减少扫描链长度会增加压缩率。将压缩率提高到一定点以上会影响测试覆盖率。因此,在包括LBIST和制造扫描压缩/解压缩特征两者的IC中,扫描链长度存在冲突。

发明内容

描述了用于在集成电路(IC)中提供动态扫描链重新配置的技术。在一个示例中,一种用于具有多个扫描链的集成电路(IC)的测试电路包括:第一电路和第二电路;以及扫描链路由器,耦合在第一电路与多个扫描链之间,并且耦合在第二电路与多个扫描链之间,该扫描链路由器响应于使能信号:(1)将第一电路耦合到多个扫描链中的每个扫描链;或者(2)将第二电路耦合到一个或多个级联扫描链,其中每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联。

在另一示例中,一种集成电路(IC)包括多个扫描链和耦合到多个扫描链的测试电路系统。测试电路系统包括:第一电路和第二电路;以及扫描链路由器,耦合在第一电路与多个扫描链之间,并且耦合在第二电路与多个扫描链之间,该扫描链路由器响应于使能信号:(1)将第一电路耦合到多个扫描链中的每个扫描链;或者(2)将第二电路耦合到一个或多个级联扫描链,其中每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联。

在另一示例中,一种测试具有多个扫描链的集成电路(IC)的方法包括:从自动测试设备(ATE)接收一个或多个测试信号;解压缩一个或多个测试信号;将多个扫描链级联成一个或多个级联扫描链,每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联;将一个或多个测试信号中的每个测试信号耦合到级联扫描链中的相应一个级联扫描链;以及将一个或多个级联扫描链中的每个级联扫描链的输出耦合到ATE。

参考以下详细描述,可以理解这些和其他方面。

附图说明

为了可以详细理解上述特征,可以通过参考示例实现来进行上面简要概述的更具体描述,其中一些实现在附图中示出。但是,应当注意,附图仅示出了典型的示例实现,因此不应当被视为对其范围的限制。

图1是描绘根据一个示例的集成电路(IC)的框图。

图2是更详细地描绘根据一个示例的图1的IC的扫描链的框图。

图3是描绘根据一个示例的扫描链路由器的框图。

图4示出了其中可以使用本文中描述的测试电路系统的现场可编程门阵列(FPGA)。

图5描绘了根据一个示例的用于测试图1的IC的系统。

图6是描绘根据一个示例的用于测试图1的IC的方法的流程图。

为了便于理解,在可能的情况下使用相同的附图标记来表示图中共有的相同元素。可以想到,一个示例的元素可以有益地并入其他示例中。

具体实施方式

在下文中参考附图描述各种特征。应当注意,附图可以按比例绘制或可以不按比例绘制,并且在整个附图中,相似结构或功能的元件由相似的附图标记表示。应当注意,附图仅旨在促进对特征的描述。它们无意作为所要求保护的发明的详尽描述或对所要求保护的发明的范围的限制。另外,示出的示例不必具有所示的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,并且可以在任何其他示例中实践,即使未如此示出或未明确描述。

描述了用于在集成电路(IC)中提供动态扫描链重新配置的技术。在一个示例中,IC包括具有扫描链路由器的测试电路系统。扫描链路由器可以将IC中的扫描链动态地配置为不同长度的链,以用于不同模式的扫描相关测试。例如,上电逻辑内置自测试(LBIST)模式可能需要具有较短长度的扫描链,以便更快地运行以实现更快的启动序列。相反,由于制造扫描测试在压缩率方面受到限制,因此使用自动测试设备(ATE)的制造扫描测试可能需要比用于LBIST模式的扫描链具有更长长度的扫描链。超过一定的压缩比,使用自动测试图案生成(ATPG)创建测试图案更加困难。此外,对于制造扫描测试,较短的扫描链(诸如LBIST所需要的扫描链)可能会导致覆盖范围较差或测试时间较长。本文中的示例中描述的扫描链路由器支持用于各种应用(例如,LBIST和制造扫描测试应用两者)的较长和较短的扫描链。这些和其他方面在下面参考附图进行描述。

图1是描绘根据一个示例的集成电路(IC)100的框图。IC 100包括测试电路系统103和核心逻辑110。核心逻辑110包括多个扫描链108。每个扫描链108包括多个顺序耦合的触发器(“触发器”)。测试电路系统103包括逻辑内置自测试(LBIST)电路102、扫描压缩器/解压缩器电路系统104和扫描链路由器电路(“扫描链路由器106”)。

扫描链路由器106耦合在扫描链108与LBIST电路系统102之间。扫描链路由器106还耦合在扫描链108与扫描压缩器/解压缩器电路系统104之间。LBIST电路系统102提供LBIST输出。扫描压缩器/解压缩器电路系统104包括自动测试设备(ATE)输入/输出(“ATE输入/输出”)。扫描链路由器106包括接收LBIST使能信号(“LBIST使能”)的输入。

在操作中,扫描链路由器106将扫描链108耦合到用于不同测试模式的不同长度的扫描链。在第一测试模式(“LBIST模式”)下,扫描链路由器106将扫描链108耦合成具有较小长度的扫描链。在第二测试模式(“扫描压缩器/解压缩器模式”)下,扫描链路由器106将扫描链108耦合成关于LBIST模式具有较长长度的扫描链(“级联扫描链109”)。

在LBIST模式下,扫描链路由器106将LBIST电路系统102耦合到扫描链108。在扫描压缩器/解压缩器模式下,扫描链路由器106将扫描压缩器/解压缩器电路系统104耦合到扫描链108。ATE设备(图1中未示出)可以耦合到扫描压缩器/解压缩器104的“ATE输入/输出”(例如,在制造期间)。LBIST电路系统102的LBIST输出可以被直接或通过另一测试电路系统(例如,联合测试动作组(JTAG)电路系统的测试访问端口(TAP))访问。在一些情况下,扫描压缩器/解压缩器104的“ATE输入/输出”仅在IC 100的制造期间可访问,而在IC 100被封装时不可访问。LBIST电路系统102的LBIST输出可以在制造期间以及在IC 100被封装之后都可访问。

LBIST使能信号控制扫描链路由器106的模式。当“LBIST使能”被断言(asserted)时,扫描链路由器106处于LBIST模式。当“LBIST使能”被去断言时,扫描链路由器106处于扫描压缩器/解压缩器模式。在一个示例中,“LBIST使能”通常可以被断言,并且可以在制造期间被去断言以执行ATE测试。在IC 100被封装之后,“LBIST使能”可以被访问或不可被访问。

图2是更详细地描绘根据一个示例的扫描链108的框图。在该示例中,扫描链108包括单独的扫描链1081......108M,其中M是大于1的整数。每个扫描链108x(X∈[1...K])包括多个触发器202。每个扫描链108x的触发器202(除最后的触发器之外)以输出到输入顺序地耦合。扫描链108x中的第一触发器202的输入和扫描链108x中的最后的触发器202的输出耦合到扫描链路由器106。

扫描链路由器106包括耦合到LBIST电路系统102的M位输入206和耦合到LBIST电路系统102的M位输出208。在LBIST模式下,M位输入206包括用于M个扫描链1081……108M中的每个扫描链的输入测试信号。M位输出208包括来自M个扫描链1081……108M中的每个扫描链的输出测试信号。扫描链路由器106将输入206上的M个测试信号分别传递到M个扫描链1081……108M的输入。扫描链路由器106分别传递扫描链1081……108M的M个输出作为输出208上的M个输出测试信号。

扫描链路由器106包括耦合到扫描解压缩器/压缩器电路系统104的解压缩器104D的N位输入210。扫描链路由器106包括耦合到扫描解压缩器/压缩器电路系统104的压缩器104C的N位输出212。通常,N是小于M的整数。在扫描压缩器/解压缩器模式下,N位输入210包括用于N个级联扫描链109中的每个级联扫描链109的输入测试信号。N位输出212包括用于N个级联扫描链109中的每个级联扫描链109的输出测试信号。扫描链路由器106被配置为级联多个扫描链108,以形成N个级联扫描链109中的每个级联扫描链109。例如,考虑N=M/2(例如,M与N的比率为2),其中M是大于零的偶数整数。在这样的示例中,扫描链路由器106级联成对的扫描链108,以形成长度是个体的扫描链108x的两倍的级联扫描链109。M与N的比率可以是大于2的其他整数(例如,可以将多于两个扫描链108级联成级联扫描链)。此外,每个级联扫描链不必具有相同的长度。

图3是描绘根据一个示例的扫描链路由器106的框图。扫描链路由器106包括旁路路由器电路302和链级联电路304。在本示例中,假定M=4并且N=2。旁路路由器电路302耦合到LBIST电路系统102的输出208和输入206。在该示例中,LBIST电路系统102的输出208包括四个信号(“frmLBIST[3:0]”)。同样,LBIST电路102的输入206包括四个信号(“toLIBST[3:0]”)。旁路路由器电路302包括输出306和输入308。输出306包括提供四个信号(“toChain[3:0]”)的四个输出3060……3063(图3中从左到右)。同样,输入308包括提供四个信号(“frmChain[3:0]”)的四个输入3080……3083(图3中从左到右)。输出306的四个信号分别耦合到四个扫描链1081……1084的输入。输入308的四个信号分别从扫描链1081……1084的输出中接收。

链级联电路304耦合到解压缩器104D的输出210和压缩器104C的输入212。在该示例中,输出210包括两个信号(“frmDecomp[1:0]”)。同样,输入212包括两个信号(“toComp[1:0]”)。在该示例中,链级联电路304将信号frmDecomp[0]耦合到输出3060,并且将信号frmDecomp[1]耦合到输出3062。链级联电路304将输入3080耦合到输出3061。链级联电路304将输入3082耦合到输出3063。链级联电路304提供来自输入3081的信号toComp[0]和来自输入3083的信号toComp[1]。

在操作中,当LBIST使能信号被断言时,旁路路由器电路302被使能,并且链级连接电路304被禁用。旁路路由器电路302将信号frmLBIST[3:0]传递到扫描链1081……1084的输入。旁路路由器电路302传递从扫描链1081……1084输出的信号作为信号toLBIST[3:0]。当LBIST使能信号被去断言时,旁路路由器电路302被禁用,并且链级连接电路304被使能。在这种情况下,链级联电路304将扫描链1081和1082级联成单个级联链109。类似地,链级联电路304将扫描链1083和1084级联成单个级联链109。

图3的示例可以扩展以支持多于四个扫描链108。此外,链级联电路304可以级联多于两个扫描链108以形成每个级联扫描链。因此,每个级联扫描链可以比每个个体的扫描链108长两倍、三倍或更多倍。

上述测试电路系统103可以在诸如现场可编程门阵列(FPGA)或类似类型的可编程电路的集成电路内实现。图4示出了FPGA 400的架构,该FPGA 400包括大量不同的可编程块,可编程块包括多千兆位收发器(“MGT”)1、可配置逻辑块(“CLB”)2、随机存取存储器块(“BRAM”)3、输入/输出块(“IOB”)4、配置和时钟逻辑(“CONFIG/CLOCKS”)5、数字信号处理块(“DSP”)6、专用输入/输出块(“I/O”)7(例如,配置端口和时钟端口)、以及其他可编程逻辑8,诸如数字时钟管理器、模数转换器、系统监测逻辑等。一些FPGA还包括专用处理器块(“PROC”)10。FPGA 400可以包括设置在整个可编程逻辑中的扫描链108。如上所述,测试电路系统103耦合到扫描链108。

在一些FPGA中,每个可编程区块可以包括至少一个可编程互连元件(“INT”)11,可编程互连元件11具有到同一区块内的可编程逻辑元件的输入和输出端子20的连接,如图4的顶部的示例所示。每个可编程互连元件11还可以包括到同一区块或(多个)其他区块中的(多个)相邻可编程互连元件的互连段22的连接。每个可编程互连元件11还可以包括到逻辑块(未示出)之间的通用路由资源的互连段24的连接。通用路由资源可以包括在逻辑块(未示出)与切换块(未示出)之间的路由通道,逻辑块包括互连段(例如,互连段24)的轨道,切换块用于连接互连段。通用路由资源的互连段(例如,互连段24)可以跨越一个或多个逻辑块。可编程互连元件11与通用路由资源一起实现用于所示FPGA的可编程互连结构(“可编程互连”)。

在一个示例实现中,CLB 2可以包括可以被编程为实现用户逻辑的可配置逻辑元件(“CLE”)12、加上单个可编程互连元件(“INT”)11。BRAM 3可以包括BRAM逻辑元件(“BRL”)13以及一个或多个可编程互连元件。通常,区块中包括的互连元件的数目取决于区块的高度。在图示的示例中,BRAM区块具有与五个CLB相同的高度,但是也可以使用其他数目(例如,四个)。除了适当数目的可编程互连元件之外,DSP区块6还可以包括DSP逻辑元件(“DSPL”)14。例如,除了可编程互连元件11的一个实例,IOB 4还可以包括输入/输出逻辑元件(“IOL”)15的两个实例。本领域技术人员将清楚的是,例如,连接到I/O逻辑元件15的实际的I/O焊盘通常不限于输入/输出逻辑元件15的区域。

在图示的示例中,靠近管芯中央的水平区域(如图4所示)用于配置、时钟和其他控制逻辑。从该水平区域或列延伸的竖直列9用于跨FPGA的宽度来分布时钟和配置信号。

利用图4所示架构的一些FPGA包括其他逻辑块,这些逻辑块破坏了构成FPGA很大一部分的规则柱状结构。附加逻辑块可以是可编程块和/或专用逻辑。例如,处理器块10跨越几列CLB和BRAM。处理器块10可以具有各种组件,其范围从单个微处理器到(多个)微处理器、存储器控制器、***设备等的完整的可编程处理系统。

注意,图4仅意图示出示例性FPGA架构。例如,一行中逻辑块的数目、行的相对宽度、行的数目和顺序、行中包含的逻辑块的类型、逻辑块的相对大小以及图4顶部的互连/逻辑实现纯粹是示例性的。例如,在实际的FPGA中,无论CLB出现在何处,通常都包括多于一个相邻CLB行以促进用户逻辑的有效实现,但是相邻CLB行的数目随FPGA的整体大小而变化。

图5和6描绘了根据一个示例的用于测试IC 100的系统和方法。如图5所示,IC 100可以耦合到ATE 502。ATE 502耦合到扫描压缩器/解压缩器电路系统104的输入/输出ATE。

图6描绘了根据一个示例的测试IC 100的方法600。方法600从步骤602开始,在步骤602,扫描链路由器106级联扫描链108以形成(多个)级联扫描链109。在一个示例中,扫描链路由器106响应于使能信号(例如,静态使能信号,诸如上面讨论的LBIST使能信号)而执行级联。静态使能信号使能链级联电路304并且禁用旁路路由器电路302。

在步骤604,解压缩器104D从ATE 502接收(多个)测试信号。在步骤606,解压缩器104D解压缩(多个)测试信号。在步骤608,扫描链路由器106将(多个)测试信号耦合到级联扫描链109的(多个)输入。在步骤610,扫描链路由器106将级联扫描链109的(多个)输出耦合到压缩(多个)输出的压缩器104C。在步骤612,压缩器104C将(多个)输出提供给ATE 502。

在一个示例中,可以提供用于具有多个扫描链的集成电路(IC)的测试电路。这样的电路可以包括:第一电路和第二电路;以及扫描链路由器,耦合在第一电路与多个扫描链之间,并且耦合在第二电路与多个扫描链之间,该扫描链路由器响应于使能信号:(1)将第一电路耦合到多个扫描链中的每个扫描链;或者(2)将第二电路耦合到一个或多个级联扫描链,其中每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联。

在这样的测试电路中,第一电路可以包括逻辑内置自测试(LBIST)电路系统,并且第二电路可以包括扫描压缩器/解压缩器电路系统。

在这样的测试电路中,扫描压缩器/解压缩器电路系统可以在自动测试设备(ATE)与扫描链路由器之间提供接口。

在这样的测试电路中,多个扫描链中的每个扫描链可以包括设置在IC的核心逻辑中的多个顺序耦合的触发器。

在这样的测试电路中,扫描链路由器可以包括:耦合在第一电路与多个扫描链之间的旁路路由器电路;以及耦合在第二电路与多个扫描链之间的链级联电路。

在这样的测试电路中,第一电路可以包括具有多个输出信号的输出和具有多个输入信号的输入,并且旁路路由器电路可以被配置为:将多个输出信号中的每个输出信号耦合到多个扫描链中的相应一个扫描链,并且接收多个输入信号中的每个输入信号,多个输入信号中的每个输入信号来自多个扫描链中的相应一个扫描链。

在这样的测试电路中,第二电路可以包括具有一个或多个输出信号的输出和具有一个或多个输入信号的输入,并且链级联电路可以被配置为:将一个或多个输出信号中的每个输出信号耦合到一个或多个级联扫描链中的相应一个级联扫描链,并且接收一个或多个输入信号中的每个输入信号,一个或多个输入信号中的每个输入信号来自级联扫描链中的相应一个或多个级联扫描链。

在这样的测试电路中,第二电路可以包括:包括具有一个或多个输出信号的输出的解压缩器;以及包括具有一个或多个输入信号的输入的压缩器。

在另一示例中,可以提供一种集成电路(IC)。这样的IC可以包括:多个扫描链;以及耦合到多个扫描链的测试电路系统,测试电路系统包括:第一电路和第二电路;以及扫描链路由器,耦合在第一电路与多个扫描链之间,并且耦合在第二电路与多个扫描链之间,该扫描链路由器响应于使能信号:(1)将第一电路耦合到多个扫描链中的每个扫描链;或者(2)将第二电路耦合到一个或多个级联扫描链,其中每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联。

在一些这样的IC中,第一电路可以包括逻辑内置自测试(LBIST)电路,并且第二电路可以包括扫描压缩器/解压缩器电路系统。

在一些这样的IC中,扫描压缩器/解压缩器电路系统可以在自动测试设备(ATE)与扫描链路由器之间提供接口。

在一些这样的IC中,多个扫描链中的每个扫描链可以包括设置在IC的核心逻辑中的多个顺序耦合的触发器。

在一些这样的IC中,扫描链路由器可以包括:耦合在第一电路与多个扫描链之间的旁路路由器电路;以及耦合在第二电路与多个扫描链之间的链级联电路。

在一些这样的IC中,第一电路可以包括具有多个输出信号的输出和具有多个输入信号的输入,并且其中旁路路由器电路可以被配置为:将多个输出信号中的每个输出信号耦合到多个扫描链中的相应一个扫描链,并且接收多个输入信号中的每个输入信号,多个输入信号中的每个输入信号来自多个扫描链中的相应一个扫描链。

在一些这样的IC中,第二电路可以包括具有一个或多个输出信号的输出和具有一个或多个输入信号的输入,并且其中链级联电路可以被配置为:将一个或多个输出信号中的每个输出信号耦合到一个或多个级联扫描链中的相应一个级联扫描链,并且接收一个或多个输入信号中的每个输入信号,一个或多个输入信号中的每个输入信号来自级联扫描链中的相应一个或多个级联扫描链。

在一些这样的IC中,第二电路可以包括:包括具有一个或多个输出信号的输出的解压缩器;以及包括具有一个或多个输入信号的输入的压缩器。

在另一示例中,可以提供一种测试具有多个扫描链的集成电路(IC)的方法。这种方法可以包括:将多个扫描链级联成一个或多个级联扫描链,每个级联扫描链包括多个扫描链中的两个或更多个扫描链的级联;从自动测试设备(ATE)接收一个或多个测试信号;解压缩一个或多个测试信号;将一个或多个测试信号中的每个测试信号耦合到级联扫描链中的相应一个级联扫描链;以及将一个或多个级联扫描链中的每个级联扫描链的输出耦合到ATE。

这样的方法还可以包括:控制耦合到扫描链路由器的使能信号以执行级联步骤。

在一些这样的方法中,控制步骤可以包括:使能链级联电路以执行级联步骤;以及禁用旁路路由器电路;

在一些这样的方法中,旁路路由器电路可以耦合在逻辑内置自测试(LBIST)电路与多个扫描链之间。

尽管前述内容涉及特定示例,但是在不脱离其基本范围的情况下可以设计其他示例,并且其范围由所附权利要求确定。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于电蓄能单元的状态识别的分流电阻

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类