用于逻辑电路的全速测试的系统芯片及其操作方法

文档序号:1336726 发布日期:2020-07-17 浏览:26次 >En<

阅读说明:本技术 用于逻辑电路的全速测试的系统芯片及其操作方法 (System chip for full speed testing of logic circuits and method of operating the same ) 是由 申范锡 朴真秀 于 2019-12-05 设计创作,主要内容包括:一种系统芯片包括:第一核中的第一扫描寄存器,该第一扫描寄存器最靠近第一核的输入端口;第一扫描寄存器的反馈路径上的反相电路;第一核中的第二扫描寄存器;以及逻辑电路,其位于第一扫描寄存器与第二扫描寄存器之间的数据路径上。在用于逻辑电路的全速测试的测试模式中,反相电路通过反转从第一扫描寄存器输出的扫描数据产生测试数据,第一扫描寄存器响应于时钟信号的第一脉冲存储测试数据,逻辑电路基于从第一扫描寄存器输出的测试数据产生结果数据,并且第二扫描寄存器响应于时钟信号的第二脉冲存储结果数据。(A system-on-chip comprising: a first scan register in the first core, the first scan register being closest to the input port of the first core; an inverter circuit on a feedback path of the first scan register; a second scan register in the first core; and a logic circuit located on a data path between the first scan register and the second scan register. In a test mode for full speed testing of a logic circuit, an inverter circuit generates test data by inverting scan data output from a first scan register storing the test data in response to a first pulse of a clock signal, the logic circuit generates result data based on the test data output from the first scan register, and a second scan register storing the result data in response to a second pulse of the clock signal.)

用于逻辑电路的全速测试的系统芯片及其操作方法

相关申请的交叉引用

于2019年1月10日在韩国知识产权局提交的标题为“用于逻辑电路的全速测试的系统芯片及其操作方法”的韩国专利申请No.10-2019-0003372以引用方式全文并入本文中。

技术领域

本文所述的本发明构思的实施例涉及一种系统芯片,并且更具体地说,涉及一种执行逻辑电路的全速测试的系统芯片以及该系统芯片的操作方法。

背景技术

系统芯片(SoC)是一种半导体芯片,其中实现了执行各种功能的系统。已经采用可测试性设计(DFT)技术对系统芯片中的逻辑电路进行测试。在DFT技术中,扫描测试是一种通过基于输入扫描模式数据(scan pattern data)验证输出数据来测试逻辑电路的测试技术。可基于扫描测试来识别逻辑电路的故障,例如卡死故障、过渡延迟故障等。可执行作为扫描测试的全速测试,以识别逻辑电路的过渡延迟故障。

随着对更复杂计算需求的增加,其上安装多个核的SoC(下文中称作“多核SoC”)得到了广泛的应用。随着多核SoC测试中所述多核之间数据交换量的增加,可能需要测试多个核之间的接口电路。然而,当对核进行单独测试时,可能无法对接口电路合适且有效地进行全速测试。

发明内容

实施例是一种包括多个核的系统芯片,该系统芯片包括:所述多个核的第一核中的第一扫描寄存器,该第一扫描寄存器最靠近第一核的输入端口;第一扫描寄存器的反馈路径上的反相电路;第一核中的第二扫描寄存器;以及逻辑电路,其位于第一扫描寄存器与第二扫描寄存器之间的数据路径上。在用于逻辑电路的全速测试的测试模式中,反相电路通过反转从第一扫描寄存器输出的扫描数据产生测试数据,第一扫描寄存器响应于时钟信号的第一脉冲存储测试数据,逻辑电路基于从第一扫描寄存器输出的测试数据产生结果数据,并且第二扫描寄存器响应于时钟信号的第二脉冲存储结果数据。

实施例是一种包括多个核的系统芯片,所述系统芯片包括:所述多个核的第一核中的第一扫描寄存器,第一扫描寄存器最靠近第一核的输出端口;第一扫描寄存器的反馈路径上的第一反相电路;所述多个核的第二核中的第二扫描寄存器,第二扫描寄存器最靠近第二核的输入端口;以及逻辑电路,其位于第一扫描寄存器与第二扫描寄存器之间的数据路径上。在用于逻辑电路的全速测试的测试模式中,第一反相电路通过反转从第一扫描寄存器输出的扫描数据产生第一测试数据,第一扫描寄存器响应于时钟信号的第一脉冲存储第一测试数据,逻辑电路基于从第一扫描寄存器输出的第一测试数据产生结果数据,并且第二扫描寄存器响应于时钟信号的第二脉冲存储结果数据。

实施例是一种系统芯片的操作方法,所述系统芯片用于第一扫描寄存器与第二扫描寄存器之间的数据路径上的逻辑电路的全速测试。所述方法包括以下步骤:响应于具有第一频率的时钟信号,通过第一扫描寄存器输出扫描数据;为第一扫描寄存器提供通过反转从第一扫描寄存器输出的扫描数据产生的测试数据;响应于具有第二频率的时钟信号的第一脉冲,通过第一扫描寄存器输出测试数据;基于从第一扫描寄存器输出的测试数据,通过逻辑电路输出结果数据;以及响应于具有第二频率的时钟信号的第二脉冲,通过第二扫描寄存器输出结果数据。

附图说明

通过参照附图详细描述示例性实施例,特征对于本领域技术人员将变得清楚,其中:

图1示出了根据示例性实施例的系统芯片(SoC);

图2示出了图1的第一核的一个示例;

图3A示出了根据示例性实施例的寄存器;

图3B示出了图3A的寄存器的示例;

图4示出了根据示例性实施例的用于逻辑电路的全速测试的SoC;

图5示出了根据示例性实施例的用于全速测试的时钟信号和扫描使能信号的时序图;

图6示出了基于图5的时钟信号和扫描使能信号的图4的SoC的示例性操作;

图7示出了用于全速测试的图4的SoC的示例性操作的流程图;

图8示出了根据示例性实施例的用于逻辑电路的全速测试的SoC;

图9示出了根据示例性实施例的用于逻辑电路的全速测试的SoC;

图10示出了根据示例性实施例的用于逻辑电路的全速测试的SoC;

图11示出了根据示例性实施例的用于逻辑电路的全速测试的SoC;

图12示出了根据示例性实施例的测试系统;以及

图13示出了根据示例性实施例的应用了SoC的电子系统的示例性构造。

具体实施方式

下文中,可详细和清楚地描述实施例,以达到本领域普通技术人员能够容易地实施实施例的程度。

图1示出了根据示例性实施例的系统芯片(SoC)100。参照图1,SoC 100可包括多个核110_0至110_n和总线150。例如,SoC 100可包括第0核110_0至第n核110_n。例如,第0核110_0可为顶层核,第一核110_1至第n核110_n可为下层核。所述多个核110_0至110_n中的每一个可处理输入数据。例如,所述多个核110_0至110_n中的每一个可基于输入数据执行各种操作。

所述多个核110_0至110_n可分别包括逻辑电路CL0至CLn。逻辑电路CL0至CLn中的每一个可包括多个组合逻辑电路和多个循序逻辑电路。所述多个核110_0至110_n中的每一个可通过其中的内部逻辑电路处理数据。例如,顶层核110_0可通过其中的第0逻辑电路CL0处理数据。第一核110_1可通过其中的第一逻辑电路CL1处理数据。

例如,所述多个核110_0至110_n可被包括在中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、神经处理单元(NPU)等的功能块中。例如,所述多个核110_0至110_n可被包括在分离的功能块中。

顶层核110_0可控制下层核110_1至110_n的操作。顶层核110_0可包括顶部控制器111。顶部控制器111可产生用于控制下层核110_1至110_n的控制信号,并且可将产生的控制信号提供至下层核110_1至110_n。

下层核110_1至110_n可基于来自顶层核110_0的控制信号操作。例如,响应于控制信号,第一核110_1可通过其中的第一逻辑电路CL1处理数据。例如,下层核110_1至110_n可共同连接至总线150。可替换地,下层核110_1至110_n可连接至不同的总线。

总线150可提供用于所述多个核110_0至110_n之间的通信的数据路径。例如,顶层核110_0可通过总线150将数据或控制信号提供至第一核110_1。第一核110_1可通过总线150将数据提供至顶层核110_0。第一核110_1和第二核110_2可通过总线150彼此交换数据。

为了确定所述多个核110_0至110_n的逻辑电路CL0至CLn是否故障,可以可测试性为考虑来设计多个核110_0至110_n。例如,所述多个核110_0至110_n可具有可测试性设计(DFT)电路。例如,核110_0至110_n可构成用于扫描测试的至少一个扫描链,从而按照扫描测试方式检测逻辑电路CL0至CLn的缺陷。例如,用于扫描测试的扫描模式数据(下文中称作“扫描数据”)可被输入至所述多个核110_0至110-n。扫描数据可具有针对扫描测试预先设置的数据值。所述多个核110_0至110_n的逻辑电路CL0至CLn可基于扫描数据处理数据,以产生输出数据作为处理结果。可基于输出数据识别逻辑电路CL0至CLn的缺陷。例如,可利用扫描测试方式识别逻辑电路CL0至CLn的过渡延迟故障。

在示例性实施例中,可对逻辑电路CL0至CLn执行全速测试,以识别逻辑电路CL0至CLn的过渡延迟故障。全速测试可为用于确定逻辑电路CL0至CLn是否在SoC 100的工作速度(即,在工作时钟频率)下无异常延迟地转移数据的测试。例如,在全速测试中,可基于用于SoC 100的正常操作(下文中称作“正常功能”)的驱动时钟信号测试逻辑电路CL0至CLn。例如,虽然可利用具有相同时钟频率的相同时钟信号执行SoC 100的正常操作和全速测试,但是全速测试可与SoC 100的正常操作不同,这是因为执行全速测试以基于扫描数据识别逻辑电路CL0至CLn的过渡延迟故障。

顶部控制器111可控制对所述多个核110_0至110_n的扫描测试。顶部控制器111可将用于扫描测试的控制信号提供至所述多个核110_0至110_n。例如,当所述多个核110_0至110_n响应于来自顶部控制器111的控制信号操作时,可对逻辑电路CL0至CLn执行扫描测试。

对于扫描测试,可单独测试多个核110_0至110_n。例如,可分别执行对顶层核110_0的扫描测试和对第一核110_1的扫描测试。例如,可执行用于所述多个核110_0至110_n的分层扫描测试。相反,当对SoC 100的所有核110_0至110_n执行扫描测试时(即,当不执行对于核110_0至110_n的分层扫描测试时),用于扫描测试的资源和测试时间可增加。因此,可执行分层扫描测试以减少资源和测试时间。

通常,当执行核的分层扫描测试时,不能有效执行用于核之间的接口中的逻辑电路的全速测试。然而,根据示例性实施例,当执行用于所述多个核110_0至110_n的分层扫描测试时,可合适地执行全速测试,而不管多个核110_0至110_n的逻辑电路CL0至CLn的位置如何。

图2示出了图1的第一核110_1的示例。例如,将参照图2描述下层核110_1至110_n的组件。虽然图2中示出了第一核110_1,但是其余核110_2至110_n可实施为与第一核110_1基本相同或相似。

参照图2,第一核110_1可包括多个输入端口IP1至IP6、多个寄存器R1至R13、多个逻辑电路CL1至CL10以及多个输出端口OP1至OP6。

输入端口IP1至IP6可接收提供至第一核110_1的数据。例如,第六输入端口IP6可接收用于扫描测试的扫描数据。寄存器R1至R13可响应于提供至第一核110_1的时钟信号而存储输入的数据。逻辑电路CL1至CL10可基于接收到的数据操作。输出端口OP1至OP6可从第一核110_1输出数据。例如,第六输出端口OP6可输出通过逻辑电路CL1至CL10基于扫描数据产生的结果数据。

可将寄存器R1至R13中的分别最靠近输入端口IP1至IP5的寄存器R1至R5限定为输入包装器寄存器。输入包装器寄存器中的每一个可位于第一核110_1的输入边界。例如,可将位于输入端口与输出端口之间的各个数据路径上的寄存器中的第一个限定为输入包装器寄存器。可将寄存器R1至R13中的最靠近输出端口OP1至OP5的寄存器R9至R13中的每一个限定为输出包装器寄存器。输出包装器寄存器中的每一个可位于第一核110_1的输出边界。例如,输出包装器寄存器可为位于输入端口与输出端口之间的各个数据路径上的寄存器中的最后一个。

当第一核110_1执行正常功能(即,正常操作)时,可通过排列在数据路径上的(一个或多个)寄存器和(一个或多个)逻辑电路处理被输入至输入端口IP1至IP5中的每一个的输入数据。被处理的输入数据可通过输出端口OP1至OP5输出。例如,输入至第一输入端口IP1的输入数据可被存储在第一寄存器R1中。存储在第一寄存器R1中的数据可被输出至第一逻辑电路CL1。第一逻辑电路CL1可处理来自第一寄存器R1的数据,并且可将处理的数据提供至第八寄存器R8。第八寄存器R8可存储从第一逻辑电路CL1输出的数据。第六逻辑电路CL6可基于从第八寄存器R8输出的数据执行操作。从第六逻辑电路CL6输出的数据(即,作为第六逻辑电路CL6的操作结果)可存储在第九寄存器R9中。从第九寄存器R9输出的数据可通过第一输出端口OP1从第一核110_1输出。

例如,当执行第一核110_1的扫描测试时,扫描数据可输入至第六输入端口IP6。输入扫描数据可依次从第一寄存器R1转移至第十三寄存器R13。例如,第一寄存器R1至第十三寄存器R13中的每一个可为用于扫描测试的扫描寄存器。例如,当基于13个时钟脉冲(例如,第一时钟脉冲至第十三时钟脉冲)输入扫描数据时,第一寄存器R1至第十三寄存器R13中的每一个可存储对应的扫描数据(例如,第一扫描数据至第十三扫描数据)。例如,第一寄存器R1至第十三寄存器R13可形成扫描链。对应的扫描数据可响应于第一时钟脉冲至第十三时钟脉冲通过第一寄存器R1至第十三寄存器R13的扫描链依次移位。如上所述,可转移第一扫描数据至第十三扫描数据而不用经过逻辑电路CL1至CL10,并且目标数据值(例如,第一扫描数据至第十三扫描数据)可分别存储在第一寄存器R1至第十三寄存器R13中。例如,第一扫描数据至第十三扫描数据不通过逻辑电路CL1至CL10处理。在未处理的第一扫描数据至第十三扫描数据被存储在第一寄存器R1至第十三寄存器R13中之后,可基于存储的第一扫描数据和第十三扫描数据执行逻辑电路CL1至CL10的扫描测试。可通过扫描测试识别逻辑电路CL1至CL10的故障。例如,可通过扫描测试识别逻辑电路CL1至CL10的卡死故障和过渡延迟故障。

为了便于描述,存储在寄存器中的扫描数据不通过逻辑电路转移至另一寄存器的路径被称作“扫描路径”,并且存储在寄存器中的数据通过逻辑电路转移至另一寄存器的路径被称作“功能路径”。

为了通过扫描测试识别逻辑电路的过渡延迟故障,可利用三个寄存器执行全速测试。例如,当对第六逻辑电路CL6执行全速测试时,可使用第一寄存器R1、第八寄存器R8和第九寄存器R9来识别第六逻辑电路CL6的过渡延迟故障。例如,可利用存储在第一寄存器R1中的第一扫描数据执行第六逻辑电路CL6的全速测试。详细地说,可通过第一逻辑电路CL1处理存储在第一寄存器R1中的第一扫描数据。通过第一逻辑电路CL1处理的数据可存储在第八寄存器R8中。存储在第八寄存器R8中的数据可通过第六逻辑电路CL6处理,并且处理的数据可存储在第九寄存器R9中。存储在第九寄存器R9中的数据可通过第十寄存器R10至第十三寄存器R13通过第六输出端口OP6输出。通过将输出数据值与目标值比较可识别第六逻辑电路CL6的过渡延迟故障。例如,可在假设第一逻辑电路CL1不具有任何缺陷的情况下测试第六逻辑电路CL6。

例如,当按照以上方式对逻辑电路执行全速测试时,可能不能针对直接连接至输入包装器寄存器的输出端子或输出包装器寄存器的输入端子的逻辑电路执行全速测试。例如,可能不能针对连接至第一寄存器R1的输出端子的第一逻辑电路CL1执行全速测试。例如,可能不能针对连接至第十三寄存器R13的输出端子的第一逻辑电路CL10执行全速测试。

根据示例性实施例,可基于两个寄存器对逻辑电路执行全速测试。例如,可基于第一寄存器R1和第八寄存器R8对第一逻辑电路CL1执行全速测试。因此,可利用两个寄存器识别与输入包装器寄存器或输出包装器寄存器的输出端子连接的逻辑电路的过渡延迟故障。

为了基于两个寄存器对逻辑电路执行全速测试,第一核110_1还可包括图2中未示出的组件。将在下面参照图3A至图7描述基于两个寄存器用于逻辑电路的全速测试的示例性实施例。

图3A示出了根据示例性实施例的寄存器,图3B示出了用于实施图3A的寄存器的示例。参照图3A,寄存器“R”可包括四个输入端子和一个输出端子。例如,四个输入端子可包括输入数据端子“D”和扫描数据端子SI。四个输入端子可接收输入数据ID、扫描数据SD、扫描使能信号SE和时钟信号CLK。输入数据ID可通过输入数据端子“D”被输入至寄存器“R”,并且扫描数据SD可通过扫描数据端子SI被输入至寄存器“R”。输出数据OD可从一个输出端子“Q”被输出。

寄存器“R”可基于扫描使能信号SE和时钟信号CLK选择性地存储输入数据ID和扫描数据SD之一,并可输出存储的数据作为输出数据OD。例如,寄存器“R”可响应于扫描使能信号SE的逻辑高值(即,“1”)和时钟信号CLK的上升沿存储扫描数据SD,并且可输出扫描数据SD作为输出数据OD。例如,寄存器“R”可响应于扫描使能信号SE的逻辑低值(即,“0”)和时钟信号CLK的上升沿存储输入数据ID,并且可输出输入数据ID作为输出数据OD。

参照图3B,寄存器“R”可包括多路复用器MP和触发器FF。多路复用器MP可接收输入数据ID和扫描数据SD。多路复用器MP可基于扫描使能信号SE选择性地输出输入数据ID和扫描数据SD之一,作为中间数据MD。触发器FF可响应于时钟信号CLK存储输入的中间数据MD,并且可输出中间数据MD作为输出数据OD。

图4示出了根据示例性实施例的用于逻辑电路的全速测试的SoC 100。参照图4,SoC 100可包括第一寄存器101、反相电路102、选择电路103、模式控制器104、逻辑电路105和第二寄存器106。

第一寄存器101可接收第一输入数据ID1、扫描数据SD、扫描使能信号SE和时钟信号CLK。第一寄存器101可基于扫描使能信号SE和时钟信号CLK将第一输入数据ID1和扫描数据SD之一作为第一输出数据OD1输出。可通过输入端口或另一寄存器将扫描数据SD提供至第一寄存器101。可将第一输出数据OD1提供至反相电路102、逻辑电路105和另一寄存器的扫描数据端子SI。例如,可将第一输出数据OD1提供至第二寄存器106的扫描数据端子SI。

反相电路102可将第一输出数据OD1反转,以产生测试数据TD。例如,当第一输出数据OD1的值为“1”时,测试数据TD的值可为“0”。可将从反相电路102输出的测试数据TD提供至选择电路103。例如,可通过反相器实现反相电路102。例如,可通过能够将第一输出数据OD1反转的任何电路或者任何电路的组合实现反相电路102。

选择电路103可接收测试数据TD和功能数据FD。选择电路103可基于来自模式控制器104的选择信号CS选择性地输出测试数据TD和功能数据FD之一,作为第一输入数据ID1。可从另一寄存器的输入端口或输出端子“Q”提供功能数据FD。SoC 100可基于功能数据FD执行正常功能。例如,可通过多路复用器实施选择电路103。例如,可通过任何能够选择信号的电路实施选择电路103。

模式控制器104可接收模式信号MODE和扫描使能信号SE。模式控制器104可基于模式信号MODE和扫描使能信号SE产生选择信号CS。模式信号MODE可指示SoC 100的各种操作模式之一。例如,可从图1的顶部控制器111提供模式信号MODE。例如,模式信号MODE可指示逻辑电路105的全速测试的模式(下文中称作“全速测试模式”)。

例如,当模式信号MODE指示逻辑电路105的全速测试模式时,并且当扫描使能信号SE指示逻辑低值时,模式控制器104可产生选择信号CS。例如,选择电路103可通过选择信号CS输出测试数据TD,作为第一输入数据ID1。例如,可将第一输入数据ID1(即,测试数据TD)提供至第一寄存器101。第一寄存器101可基于扫描使能信号SE的逻辑低值和时钟信号CLK存储测试数据TD,并且可输出测试数据TD,作为第一输出数据OD1。

逻辑电路105可基于第一输出数据OD1产生第二输入数据ID2。逻辑电路105可将第二输入数据ID2提供至第二寄存器106。

第二寄存器106可接收第二输入数据ID2、扫描使能信号SE和时钟信号CLK。第二寄存器106的扫描数据端子SI可连接至另一寄存器的输出端子“Q”。例如,第二寄存器106的扫描数据端子SI可连接至第一寄存器101的输出端子“Q”。第二寄存器106可基于扫描使能信号SE和时钟信号CLK,将第二输入数据ID2和被输入至第二寄存器106的扫描数据端子SI的数据之一作为第二输出数据OD2输出。例如,被输入至扫描数据端子SI的数据可为从另一寄存器供应的扫描数据。

第一寄存器101和第二寄存器106可被包括在同一核中。例如,第一寄存器101和第二寄存器106可被包括在图1的第一核110_1中。可替换地,第一寄存器101和第二寄存器106可被分别包括在不同的核中。例如,第一寄存器101可被包括在图1的第一核110_1中,第二寄存器106可被包括在图1的顶层核110_0中。例如,第一寄存器101和第二寄存器106中的每一个可被包括在SoC 100的任一核中。

第一寄存器101可被包括在输入包装器寄存器或输出包装器寄存器中。例如,反相电路102和选择电路103可位于输入包装器寄存器或输出包装器寄存器的反馈路径上。

图5示出了根据示例性实施例的用于全速测试的时钟信号CLK和扫描使能信号SE的时序图。例如,图5的时钟信号CLK和扫描使能信号SE可与用于逻辑电路的全速测试的模式信号MODE一起提供。

在图5中,水平轴可表示时间。可基于第一移位周期(shift cycle)、捕获周期和第二移位周期执行逻辑电路的全速测试。在第一移位周期中,扫描数据可存储在寄存器中。在捕获周期中,基于存储的扫描数据从逻辑电路输出的结果数据可被存储在寄存器中。在第二移位周期中,可输出存储在寄存器中的结果数据。可基于输出结果数据识别逻辑电路的过渡延迟故障。例如,在移位周期中,可沿着扫描路径通过寄存器依次转移数据。在捕获周期中,可通过逻辑电路处理沿着功能路径存储在寄存器中的数据。

时钟信号CLK在移位周期中可具有第一频率并且在捕获周期中可具有第二频率。例如,第一频率可低于第二频率。例如,移位周期中的时钟信号CLK的脉宽比捕获周期中的时钟信号CLK的脉宽更长。例如,移位周期可对应于数据通过寄存器转移的时段(即,当扫描数据输入至寄存器或者输出存储在寄存器中的结果数据时的时段)。因此,时钟信号CLK的频率可对全速测试无影响。例如,时钟信号CLK在移位周期中比在捕获周期中可具有更低频率。因此,移位周期中的功耗可由于移位周期中的时钟信号CLK的低频率而降低。换句话说,可以低功率执行在移位周期中输入扫描数据和输出结果数据。在捕获周期中,用于全速测试的时钟信号CLK的频率可与驱动时钟信号CLK(即,执行正常功能的时钟信号CLK)的频率相同。例如,可基于捕获周期的时钟信号CLK执行逻辑电路的全速测试。

图5示出了时钟信号CLK在各个移位周期中具有两个脉冲,但是实施例可不限于此。例如,各移位周期中的时钟信号CLK的脉冲数可根据输入扫描数据的寄存器的数量而变化。例如,当N个寄存器用于扫描测试时,时钟信号的脉冲数可为N(N是大于1的自然数)。

将参照图6更完全地描述图4的SoC 100的操作。为了便于描述,第一寄存器101的输出端子“Q”可连接至第二寄存器106的扫描数据端子SI。

图6示出了基于图5的时钟信号CLK和扫描使能信号SE对图4的SoC 100的示例性操作。参照图5和图6,在第一移位周期中,第一寄存器101和第二寄存器106可响应于扫描使能信号SE的逻辑高值(即,“1”)选择输入至扫描数据端子SI的扫描数据。例如,在第一时间t1,可将第一扫描数据SD1输入至第一寄存器101。第一寄存器101可响应于时钟信号CLK的第一上升沿存储第一扫描数据SD1,并且可输出第一扫描数据SD1作为第一输出数据OD1。可将第一扫描数据SD1提供至第二寄存器106的扫描数据端子SI。

在第二时间t2,可将第二扫描数据SD2输入至第一寄存器101。第一寄存器101可响应于时钟信号CLK的第二上升沿存储第二扫描数据SD2,并且可输出第二扫描数据SD2,作为第一输出数据OD1。第二寄存器106可响应于时钟信号CLK的第二上升沿存储被输入至扫描数据端子SI的第一扫描数据SD1。可将第二扫描数据SD2提供至反相电路102。反相电路102可反转第二扫描数据SD2以产生测试数据TD。可将来自反相电路102的测试数据TD提供至选择电路103。

选择电路103可接收测试数据TD和功能数据FD。在时间t3之前,选择电路103可基于从模式控制器104提供的选择信号CS输出功能数据FD作为第一输入数据ID1。在第三时间t3,模式控制器104可基于模式信号MODE和扫描使能信号SE的低值产生选择信号CS,使得从选择电路103输出测试数据TD。例如,模式信号MODE可指示逻辑电路105的全速测试模式。因此,在第三时间t3,选择电路103可响应于选择信号CS输出测试数据TD作为第一输入数据ID1。输出测试数据TD可被输入至第一寄存器101的输入数据端子“D”。

在捕获周期(例如,从第三时间t3至第六时间t6)中,第一寄存器101和第二寄存器106可基于扫描使能信号SE的逻辑低值(即,“0”)选择输入至其输入数据端子“D”的输入数据。在第四时间t4,第一寄存器101可响应于时钟信号CLK的第三上升沿存储输入至其输入数据端子“D”的测试数据TD。因此,可输出测试数据TD作为第一寄存器101的第一输出数据OD1。测试数据TD可被提供至逻辑电路105。逻辑电路105可基于测试数据TD执行操作并且可输出结果数据RD作为操作的结果。例如,作为第二输入数据ID2的结果数据RD可被输入至第二寄存器106。

在第五时间t5,第二寄存器106可响应于时钟信号CLK的第四上升沿存储输入至其输入数据端子“D”的结果数据RD。第二寄存器106可输出结果数据RD,作为第二输出数据OD2。在第二移位周期(即,在第六时间t6之后)中,可通过扫描路径从SoC 100输出存储在第二寄存器106中的结果数据RD。例如,在第七时间t7和第八时间t8,结果数据RD可(例如,响应于时钟信号CLK的第五和第六上升沿)通过扫描路径上的寄存器依次转移。因此,可通过输出端口从SoC 100输出结果数据RD。

可基于输出结果数据RD的值识别逻辑电路105的过渡延迟故障。例如,当结果数据RD的值与目标值不同时,可确定逻辑电路105具有过渡延迟故障。

例如,当测试数据TD的值与第二扫描数据SD2的值相同时,从逻辑电路105输出的结果数据RD的值可一致保持。因此,可能不能合适地执行逻辑电路105的全速测试,因为逻辑电路105的卡死和过渡延迟故障彼此没有区分。相反,当通过反转第二扫描数据SD2产生测试数据TD时,测试数据TD的值可与第二扫描数据SD2的值不同。因此,可合适地和有效地执行逻辑电路105的全速测试。

如上所述,测试数据TD可在第一移位周期中转移至第一寄存器101。在捕获周期中,可响应于时钟信号CLK的第一脉冲P1从第一寄存器101输出测试数据TD。例如,在捕获周期中,可响应于时钟信号CLK的第一脉冲P1的上升/下降沿从第一寄存器101输出测试数据TD。在捕获周期中,响应于时钟信号CLK紧接着第一脉冲P1的第二脉冲P2,第二寄存器106可存储结果数据RD。例如,时钟信号CLK的第二脉冲P2可与时钟信号CLK的第一脉冲P1相邻。例如,逻辑电路105可在第一脉冲P1的上升沿与第二脉冲P2的上升沿之间的间隔期间基于测试数据TD产生结果数据RD。例如,逻辑电路105可在第一脉冲P1的下降沿与第二脉冲P2的下降沿之间的间隔期间基于测试数据TD产生结果数据RD。因此,可在第四时间t4与第五时间t5之间的间隔期间通过逻辑电路105的操作产生结果数据RD。此外,当在第四时间t4与第五时间t5之间的间隔期间基于通过逻辑电路105的操作产生的结果数据RD执行逻辑电路105的全速测试时,捕获周期中的时钟信号CLK的频率与执行正常功能的时钟信号CLK的频率相同。因此,可通过利用具有与用于正常功能的时钟信号CLK相同频率的时钟信号CLK识别逻辑电路105的过渡延迟故障。

如上所述,根据示例性实施例,可基于两个寄存器101和106执行逻辑电路105的全速测试。在这种情况下,第一寄存器101的反馈路径上的反相电路102可执行将数据提供至第一寄存器101的逻辑电路的角色。因此,在逻辑电路105的全速测试中,第一寄存器101可执行功能路径上的两个寄存器的角色。

图7示出了用于全速测试的图4的SoC 100的示例性操作。参照图4、图5和图7,在操作S101中,第一寄存器101可响应于具有第一频率的时钟信号CLK输出扫描数据SD。在操作S102中,反相电路102可为第一寄存器101提供通过反转从第一寄存器101输出的扫描数据SD产生的测试数据TD。例如,选择电路103可基于选择信号CS输出测试数据TD作为第一输入数据ID1。可将从选择电路103输出的测试数据TD提供至第一寄存器101。

在操作S103中,第一寄存器101可响应于具有第二频率的时钟信号CLK的第一脉冲P1输出测试数据TD。第一寄存器101可输出测试数据TD,作为第一输出数据OD1。在操作S104中,逻辑电路105可基于从第一寄存器101输出的测试数据TD产生结果数据。逻辑电路105可将结果数据提供至第二寄存器106,作为第二输入数据ID2。在操作S105中,第二寄存器106可响应于具有第二频率的时钟信号CLK的第二脉冲P2存储结果数据。可利用具有第二频率的第一脉冲P1和第二脉冲P2基于存储的结果数据识别逻辑电路105的过渡延迟故障。

根据示例性实施例,图1的第一寄存器101可被包括在输入包装器寄存器或输出包装器寄存器中。例如,反相电路102和选择电路103可位于输入包装器寄存器或输出包装器寄存器的反馈路径上。将参照图8至图11描述位于不同位置的逻辑电路的全速测试的示例。

图8示出了根据示例性实施例的用于逻辑电路225的全速测试的SoC 200。参照图8,SoC 200可包括第一核220。第一核220可为SoC 200的下层核之一,如参照图1的描述。第一核220可包括第一寄存器221、反相电路222、选择电路223、模式控制器224、逻辑电路225、第二寄存器226和输入端口227。第一寄存器221、反相电路222、选择电路223、模式控制器224、逻辑电路225和第二寄存器226的操作可与图4的第一寄存器101、反相电路102、选择电路103、模式控制器104、逻辑电路105和第二寄存器106的操作基本相同或相似。

第一寄存器221可被包括在最靠近输入端口227的输入包装器寄存器中。通过输入端口227提供的功能数据FD可被转移至选择电路223。例如,可从分离的核提供功能数据FD。例如,可从顶层核或另一下层核提供功能数据FD。

如参照图4至图6的描述,可基于第一寄存器221和第二寄存器226执行第一寄存器221与第二寄存器226之间的逻辑电路225的全速测试。例如,逻辑电路225可处理从作为输入包装器寄存器的第一寄存器221输出的数据,以通过利用第一寄存器221的反馈路径上的反相电路222执行其全速测试。因此,可利用输入包装器寄存器的反馈路径上的反相电路对处理从输入包装器寄存器输出的输出数据的逻辑电路进行全速测试。

图9示出了根据示例性实施例的用于逻辑电路325的全速测试的SoC 300。参照图9,SoC 300可包括顶层核310和第一核320。第一核320可为SoC 300的下层核之一,如参照图1的描述。顶层核310可包括第二寄存器311和输入端口312。第一核320可包括第一寄存器321、反相电路322、选择电路323、模式控制器324、逻辑电路325和输出端口326。

第一寄存器321可被包括在最靠近输出端口326的输出包装器寄存器中。第一核320的输出端口326可连接至顶层核310的输入端口312。例如,从逻辑电路325输出的数据可通过输出端口326和输入端口312转移至顶层核310的第二寄存器311。可将作为第二输入数据ID2的逻辑电路325的输出数据提供至第二寄存器311。因此,因为第一寄存器321和第二寄存器311位于一个功能路径上,可利用第一寄存器321和第二寄存器311执行逻辑电路325的全速测试。

参照图5和图9,在第二时间t2,第一寄存器321可响应于时钟信号CLK的上升沿存储扫描数据SD。第一寄存器321可输出扫描数据SD,作为第一输出数据OD1。反相电路322可通过反转从第一寄存器321输出的扫描数据SD产生测试数据TD。可将测试数据TD提供至选择电路323。

在第三时间t3,模式控制器324可基于模式信号MODE和扫描使能信号SE的逻辑低值产生选择信号CS,从而测试数据TD从选择电路323输出至第一寄存器321。例如,模式信号MODE可指示逻辑电路325的全速测试模式。选择电路323可基于选择信号CS选择测试数据TD和功能数据FD之一,以输出选择的一个,作为第一输入数据ID1。因此,测试数据TD可被输入至第一寄存器321的输入数据端子“D”。

在第四时间t4,第一寄存器321可响应于时钟信号CLK的上升沿输出测试数据TD作为第一输出数据OD1。逻辑电路325可基于测试数据TD执行操作,并且可输出结果数据,作为操作的结果。可通过输出端口326和输入端口312将作为第二输入数据ID2的结果数据提供至第二寄存器311。在第五时间t5,第二寄存器311可响应于时钟信号CLK的上升沿存储结果数据。结果数据可作为第二输出数据OD2输出。因此,可基于第二输出数据OD2识别逻辑电路325的过渡延迟故障。

如上所述,在其中执行逻辑电路325的全速测试的情况下,可对顶层核310与第一核320之间的接口(例如,逻辑电路325)执行全速测试。

图9示出了逻辑电路325被包括在第一核320中。可替换地,逻辑电路325可被包括在顶层核310中。例如,可对位于第一寄存器321与第二寄存器311之间的逻辑电路执行全速测试。

图10示出了根据示例性实施例的用于逻辑电路414的全速测试的SoC 400。参照图10,SoC 400可包括顶层核410和第一核420。第一核420可为SoC 400的下层核之一,如参照图1的描述。顶层核410可包括第一寄存器411、第一逻辑电路412、第二寄存器413、第二逻辑电路414和输出端口415。第一核420可包括第三寄存器421、反相电路422、选择电路423、模式控制器424和输入端口425。对于第二逻辑电路414的全速测试,假设第一逻辑电路412不具有任何缺陷。

第三寄存器421可被包括在最靠近输入端口425的输入包装器寄存器中。顶层核410的输出端口415可连接至第一核420的输入端口425。例如,从第二逻辑电路414输出的数据可通过输出端口415和输入端口425转移至第一核420的选择电路423。因此,可提供第二逻辑电路414的输出数据作为功能数据FD。例如,第一寄存器411、第二寄存器413和第三寄存器421可位于一条功能路径上。因此,可通过利用第一寄存器411、第二寄存器413和第三寄存器421执行第二逻辑电路414的全速测试。

模式信号MODE可指示第二逻辑电路414的全速测试模式。模式控制器424可基于模式信号MODE产生选择信号CS,以使得选择电路423输出功能数据FD。例如,不管扫描使能信号SE的值如何,模式控制器424都可产生选择信号CS,从而从选择电路423输出功能数据FD。因此,从反相电路422输出的测试数据TD可不用于第二逻辑电路414的全速测试。

参照图5和图10,在第二时间t2,第一寄存器411可响应于时钟信号CLK的上升沿存储扫描数据SD。第一寄存器411可输出扫描数据SD,作为第一输出数据OD1。第一逻辑电路412可基于扫描数据SD执行操作,并且可输出操作的结果。因此,可将操作结果提供至第二寄存器413的输入数据端子“D”,作为第二输入数据ID2。

在第四时间t4,第二寄存器413可响应于时钟信号CLK的上升沿输出操作结果,作为第二输出数据OD2。第二逻辑电路414可基于第二输出数据OD2执行操作,并且可输出结果数据,作为操作的结果。可通过输出端口415和输入端口425将作为功能数据FD的结果数据提供至选择电路423。选择电路423可响应于选择信号CS输出结果数据。因此,可将作为第三输入数据ID3的结果数据输入至第三寄存器421。

在第五时间t5,第三寄存器421可响应于时钟信号CLK的上升沿存储结果数据。结果数据可作为第三输出数据OD3输出。例如,可基于第三输出数据OD3识别第二逻辑电路414的过渡延迟故障。

如上所述,当执行第二逻辑电路414的全速测试时,可对顶层核410与第一核420之间的接口执行全速测试。

在图10中示出的示例中,第二逻辑电路414被包括在顶层核410中,但是实施例可不限于此。例如,第二逻辑电路414可被包括在第一核420中。因此,可对位于第二寄存器413与第三寄存器421之间的逻辑电路执行全速测试。

如图9和图10所示,根据示例性实施例,可对顶层核与下层核之间的接口合适地执行全速测试。

图11示出了根据示例性实施例的用于逻辑电路525的全速测试的SoC 500。参照图11,SoC 500可包括第一核520和第二核530。第一核520和第二核530中的每一个可为SoC500的下层核之一,如参照图1的描述。第一核520可包括第一寄存器521、第一反相电路522、第一选择电路523、第一模式控制器524、逻辑电路525和输出端口526。第二核530可包括第二寄存器531、第二反相电路532、第二选择电路533、第二模式控制器534和输入端口535。

第一寄存器521可被包括在最靠近输出端口526的输出包装器寄存器中。第二寄存器531可被包括在最靠近输入端口535的输入包装器寄存器中。第一核520的输出端口526可连接至第二核530的输入端口535。例如,从逻辑电路525输出的数据可通过输出端口526和输入端口535转移至第二核530的第二选择电路533。可提供逻辑电路525的输出数据,作为第二功能数据FD2。例如,第一寄存器521和第二寄存器531可位于一条功能路径上。因此,可通过利用第一寄存器521和第二寄存器531执行逻辑电路525的全速测试。

模式信号MODE可指示逻辑电路525的全速测试模式。第二模式控制器534可基于模式信号MODE产生第二选择信号CS2,从而第二选择电路533输出第二功能数据FD2。不管扫描使能信号SE的值如何,第二模式控制器534都可产生第二选择信号CS2,从而从第二选择电路533输出第二功能数据FD2。因此,从第二反相电路532输出的第二测试数据TD2可不用于逻辑电路525的全速测试。

参照图5和图11,在第二时间t2,第一寄存器521可响应于时钟信号CLK的上升沿存储扫描数据SD。第一寄存器521可输出扫描数据SD,作为第一输出数据OD1。第一反相电路522可反转从第一寄存器521输出的扫描数据SD以产生第一测试数据TD1。可将第一测试数据TD1提供至第一选择电路523。

在第三时间t3,第一模式控制器524可基于模式信号MODE和扫描使能信号SE的逻辑低值产生第一选择信号CS1,使得从第一选择电路523输出第一测试数据TD1。第一选择电路523可基于第一选择信号CS1输出第一测试数据TD1作为第一输入数据ID1。因此,可将第一测试数据TD1输入至第一寄存器521的输入数据端子“D”。

在第四时间t4,第一寄存器521可响应于时钟信号CLK的上升沿输出第一测试数据TD1,作为第一输出数据OD1。逻辑电路525可基于第一测试数据TD1执行操作,并且可输出结果数据,作为操作的结果。可通过输出端口526和输入端口535将作为第二功能数据FD2的结果数据提供至第二选择电路533。第二选择电路533可响应于第二选择信号CS2输出结果数据。因此,可将作为第二输入数据ID2的结果数据提供至第二寄存器531。

在第五时间t5,第二寄存器531可响应于时钟信号CLK的上升沿存储结果数据。结果数据可作为第二输出数据OD2输出。因此,可基于第二输出数据OD2识别逻辑电路525的过渡延迟故障。

如上所述,当执行逻辑电路525的全速测试时,可对第一核520和第二核530之间的接口执行全速测试。根据示例性实施例,可对下层核之间的接口合适地执行全速测试。

如图11所示,响应于相同的模式信号MODE,第一模式控制器524和第二模式控制器534可彼此不同地操作。第一模式控制器524和第二模式控制器534中的每一个可基于用于测试的逻辑电路525的位置产生选择信号CS。例如,因为逻辑电路525相对于第一选择电路523位于输出数据路径上,所以第一模式控制器524可产生第一选择信号CS1,从而从第一选择电路523输出第一测试数据TD1。例如,因为逻辑电路525相对于第二选择电路533位于输入数据路径上,所以第二模式控制器534可产生第二选择信号CS2,从而从第二选择电路533输出第二功能数据FD2。

图11示出了逻辑电路525被包括在第一核520中,但是示例性实施例可不限于此。例如,逻辑电路525可被包括在第二核530中。因此,可对位于第一寄存器521与第二寄存器531之间的逻辑电路执行全速测试。

图12示出了根据示例性实施例的测试系统1000。参照图12,测试系统1000可包括测试装置600和SoC 700。SoC 700可包括顶部控制器710和逻辑电路720。

测试装置600可对SoC 700的逻辑电路720执行扫描测试,以识别逻辑电路720的缺陷。对于扫描测试,测试装置600可将扫描数据SD提供至SoC 700。测试装置600可基于扫描数据SD接收从SoC 700输出的结果数据RD。可基于扫描数据SD通过逻辑电路720产生结果数据RD,并且可将结果数据RD从逻辑电路720输出。测试装置600可基于结果数据RD识别逻辑电路720的缺陷。例如,当逻辑电路720具有缺陷时,结果数据RD可与目标数据不同。

对于逻辑电路720的扫描测试,测试装置600可将控制信号CTRL提供至SoC 700。控制信号CTRL可包括用于扫描测试的各种信号。例如,控制信号CTRL可包括扫描使能信号SE、时钟信号CLK、关于测试目标的信息、关于测试模式的信息等。SoC 700可基于控制信号CTRL执行用于测试逻辑电路720的操作。

顶部控制器710可基于控制信号CTRL产生用于控制SoC 700的内部电路的操作的内部控制信号。例如,顶部控制器710可产生指示逻辑电路720的测试模式的模式信号MODE。可基于从顶部控制器710产生的内部控制信号执行用于测试逻辑电路720的操作。

例如,对于逻辑电路720的全速测试,测试装置600可将扫描数据SD和扫描控制信号CTRL提供至SoC 700。顶部控制器710可基于控制信号CTRL产生模式信号MODE。模式信号MODE可指示逻辑电路720的全速测试模式。如参照图1至11的描述,可基于扫描数据SD、模式信号MODE、扫描使能信号SE和时钟信号CLK执行逻辑电路720的全速测试。因此,无论逻辑电路720的位置如何,都可执行逻辑电路720的全速测试。

图13示出了应用了根据示例性实施例的SoC的电子系统2000的示例性构造。

电子系统2000可包括主要处理器2100、工作存储器2200、存储装置2300、处理装置2400、用户接口2500和总线2600。例如,电子系统2000可为台式计算机、笔记本计算机、平板计算机、智能电话、可佩戴装置、电动车辆、工作站等之一。例如,电子系统2000可为由最终用户使用的电子装置。可替换地,电子系统2000可为大型系统(例如,服务器系统、数据中心等)的组件。

主要处理器2100可控制电子系统2000的整体操作。主要处理器2100可处理各种算法操作和/或逻辑操作。如参照图1至图12的描述,主要处理器2100可按照包括多个核的SoC的形式实现。因此,全速测试可在主要处理器2100的逻辑电路上合适地执行。

工作存储器2200可存储用于电子系统2000的操作的数据。在实施例中,工作存储器2200可临时存储由或将由主要处理器2100处理的数据。例如,工作存储器2200可包括易失性存储器(例如,动态随机存取存储器(DRAM)、同步DRAM(SDRAM)等)和/或非易失性存储器(例如,相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)等)。

无论是否供电,存储装置2300都可存储数据。例如,存储装置2300可包括非易失性存储器,例如,闪速存储器、PRAM、MRAM、ReRAM、FRAM等。例如,存储装置2300可包括存储介质,例如,硬盘驱动器(HDD)、固态驱动器(SSD)、卡存储、嵌入式存储等。

处理装置2400可在主要处理器2100的控制下处理输入数据。处理装置2400可通过各种操作处理输入数据。处理装置2400可将处理的输入数据提供至主要处理器2100。处理装置2400可为专用于特定操作中的专用处理器。例如,处理装置2400可通过图形处理单元(GPU)、神经处理单元(NPU)、数字信号处理器(DSP)等实施。如参照图1至图12的描述,处理装置2400可按照包括多个核的SoC的形式实施。因此,可对处理装置2400的逻辑电路合适地执行全速测试。

用户接口2500可在用户与电子系统2000之间执行通信仲裁。例如,用户接口2500可包括输入接口,例如,键盘、鼠标、按键、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器等。例如,用户接口2500可包括输出接口,例如,液晶显示(LCD)装置、发光二极管(LED)显示装置、有机LED(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、扬声器、电机等。

总线2600可在电子系统2000的组件之间提供通讯路径。电子系统2000的组件可基于总线2600的总线格式彼此交换数据。例如,总线格式可包括以下各种接口协议之一或多个:诸如USB、小型计算机系统接口(SCSI)、快速外围组件互连(PCIe)、移动PCIe(M-PCIe)、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)、串行连接SCSI(SAS)、集成驱动电子器件(IDE)、增强型IDE(EIDE)、快速非易失性存储器(NVMe)、通用闪存(UFS)等。

根据实施例,可提供其中无论逻辑电路的位置如何都可执行逻辑电路的全速测试的SoC及其操作方法。

另外,根据实施例,可提供可合适地和有效地识别其中下层核之间的接口电路和顶层核与下层核之间的接口电路的过渡延迟故障的SoC及其操作方法。

本文已公开了示例实施例,虽然采用了特定术语,但是仅按照一般和描述性含义而非针对限制的目的使用和解释它们。在一些情况下,如本领域普通技术人员之一应该清楚的,除非另有说明,否则随着本申请的提交,结合特定实施例描述的特征、特性和/或元件可单独使用或者与结合其它实施例描述的特征、特性和/或元件联合使用。因此,本领域技术人员应该理解,在不脱离权利要求阐述的本发明的精神和范围的情况下,可作出各种形式和细节上的改变。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:包括逻辑电路的片上系统

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类