CN112630630B - 芯片测试方法和计算芯片 - Google Patents
芯片测试方法和计算芯片 Download PDFInfo
- Publication number
- CN112630630B CN112630630B CN202011372426.1A CN202011372426A CN112630630B CN 112630630 B CN112630630 B CN 112630630B CN 202011372426 A CN202011372426 A CN 202011372426A CN 112630630 B CN112630630 B CN 112630630B
- Authority
- CN
- China
- Prior art keywords
- core
- test
- comparison value
- cores
- chip
- 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
Images
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
-
- 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/31703—Comparison aspects, e.g. signature analysis, comparators
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本公开涉及一种芯片测试方法和计算芯片。所述芯片测试方法包括:针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值;接收测试向量,其中,测试输入数据被包括在所述测试向量中;所述多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果;根据核测试结果生成所述计算芯片的芯片测试结果,并输出所述芯片测试结果。
Description
技术领域
本公开涉及芯片测试技术领域,具体而言,涉及一种芯片测试方法和计算芯片。
背景技术
计算芯片的算力(即,单位时间内的运算次数)和功耗(即,单位时间内完成同样次数的运算所消耗的电能)是决定其性能的至关重要的因素。
在实践中,由于设计和制造的差异,不同的计算芯片往往具有不同的性能。因而,有必要对计算芯片进行测试并筛选。例如,可以通过自动化测试设备(Automatic TestEquipment,ATE)来执行测试。由于基于ATE的测试成本通常与测试时间密切相关,因此存在对于提高测试效率的需求,以降低测试成本。
发明内容
根据本公开的第一方面,提供了一种芯片测试方法,包括:
针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值;
接收测试向量,其中,测试输入数据被包括在所述测试向量中;
所述多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果;
根据核测试结果生成所述计算芯片的芯片测试结果,并输出所述芯片测试结果。
根据本公开的第二方面,提供了一种计算芯片,包括多个核以及与所述多个核通信地连接的顶层模块;
其中,所述多个核中的每个核被配置为分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果;
所述顶层模块被配置为针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值;接收包括测试输入数据的测试向量;以及根据核测试结果生成所述计算芯片的芯片测试结果并输出所述芯片测试结果。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了根据本公开的一示例性实施例的计算芯片的结构示意图;
图2示出了根据本公开的一示例性实施例的芯片测试方法的示意图;
图3示出了根据本公开的一示例性实施例的芯片测试方法的流程示意图;
图4示出了根据本公开的一具体实施例的芯片测试方法中步骤S100的流程示意图;
图5(a)至图5(c)示出了图4的具体实施例中配置比较值寄存器的示意图;
图6示出了根据本公开的另一具体实施例的芯片测试方法中步骤S100的流程示意图;
图7示出了图6的具体实施例中配置比较值寄存器的示意图;
图8示出了根据本公开的一具体实施例的芯片测试方法中步骤S300的流程示意图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的发明并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的芯片测试方法和计算芯片是以示例性的方式示出,来说明本公开中的电路或方法的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本发明的示例性方式,而不是穷尽的方式。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
如图1和图2所示,计算芯片可以包括多个核100以及顶层模块200。其中,核100可以被配置为用于具体运算。一般情况下,随着计算芯片中的核100的数目的增多,其算力也相应增强,然而功耗也随之上升。在计算芯片中,核100的数目可以为几十个、几百个甚至更多。顶层模块200可以被配置为用于计算芯片的启动、通信、控制等操作。顶层模块200具体可以包括用于实现芯片与外部通信的接口组件210,用于执行各种逻辑操作的逻辑组件220,用于提供时钟信号的时钟组件230以及用于监测芯片中的电平、温度等物理量的监测组件240,其中接口组件210具体可以包括输入接口211以及输出接口212。
每个计算芯片可以接收到根据其芯片标识所分配的相应的运算任务。其中,芯片标识与计算芯片是一一对应的,以避免多个计算芯片处理相同的运算任务而导致资源的浪费。在每个计算芯片中,运算任务进一步根据其中所包括的核的核标识被分配给相应的核。类似地,核标识与核也是一一对应的,以避免多个核处理相同部分的运算任务而导致资源的浪费。
通常,运算任务给出特定的输入,该输入包括仅使用一次的非重复随机数(nonce),每个核可以负责处理该nonce的一个区段(例如,该nonce的低8位比特或高8位比特等)。在实践中,可以根据芯片标识和核标识给nonce添加适当的偏置(offset),以避免重复运算。
对于每个nonce而言,经过哈希计算,可以得出相应的输出。当输出满足预设条件时,这个nonce即为好的nonce(good nonce),相关数据可以通过计算芯片的顶层模块200被返回给运算任务;当输出不满足预设条件时,可以直接丢弃这个nonce的相关数据,并进行下一次的运算。可以用一个比特位来表示是否满足预设条件,例如满足预设条件时将该比特位置为0,否则置为1。
其中,预设条件通常为输出中存在连续预设位数的0,例如,输出中存在连续32位的0。随着预设位数的增多,运算的难度也相应增大。在实践中,可以通过调整预设位数来改变运算的难度。
由于计算芯片中通常包括多个核100,不同的核100之间也会存在性能上的差异,因此在筛片过程中,有必要测试计算芯片中的每个核100是否能够正常运行,以及这些核能够正常运行的频率上限等性能参数,从而根据各个核100的核测试结果得到整个计算芯片的芯片测试结果。在本公开的实施例中,将以输出中存在连续32位的0作为测试过程中的预设条件为例。可以理解的是,在其它测试实施例中,或者当计算芯片被用到运算过程中时,预设条件是可以根据需要改变的。
如图2所示,在芯片测试过程中,测试向量从计算芯片的输入接口211被提供给计算芯片。在计算芯片内部,在测试向量的控制下,其中的测试输入数据可以被提供给每个核,而每个核将相应产生测试输出数据。由于每个核负责的nonce的区段不同(核标识不同),因此可以产生不同的测试输出数据。在测试过程中,测试输入数据是被预先设计的,以使其在核正常运行的状态下对应于满足预设条件的测试输出数据。然而,当存在多个具有不同的核标识的核时,难以设计出这样的测试输入数据,使得当多个核正常运行时,都能够根据这个测试输入数据得出满足预设条件的测试输出数据。
因此,在传统的芯片测试方法中,可以依次配置计算芯片中的每个核的核标识,使得正常运行的核可以根据测试输入数据以及如此配置的核标识产生符合预设条件的测试输出数据。然而,由于计算芯片中的核的核标识是彼此不同的,因此对于具有其它核标识的核而言,将不能根据同样的测试输入数据产生符合预设条件的测试输出数据。
例如,当计算芯片中的核的数目为M时,可以按照从第一个核到第M个核的顺序,依次将待测试的核的核标识配置为特定的核标识,并根据产生的测试输出数据是否满足预设条件来确定这个核是否能够正常运行。在这种情况下,需要进行共M次测试,即执行M次测试向量向输入接口的输入以及相关的测试结果从输出接口的输出。并且,在每次测试中,M个核都执行了根据测试输入数据产生测试输出数据的操作,然而每次测试中仅可以得出一个核(其核标识被配置为特定的核标识)的测试结果。
可见,在传统的芯片测试方法中,测试效率很低。第一,输入接口以及输出接口通常是基于低速的通信协议来实现数据的交互的,因此在每次测试过程中,都需要花费大量的时间在通信上,随着测试次数的增多,花费在通信上的时间更是大幅增加;第二,在不同的核的测试过程中,还可能存在部分相同的处理或配置(例如,测试向量中与输入接口以及输出接口有关的配置、测试向量经由输入接口的输入处理、以及测试结果经由输出接口的输出处理等),这些相同的处理或配置将会被大量地重复,同样导致了测试效率的下降和测试成本的上升;第三,在每次测试中,除了被测试的核之外的其它核运行了大量无效的运算,这也将导致测试功耗等的增大,不利于计算芯片的寿命。
为了解决上述问题,本公开提出了一种芯片测试方法,通过在计算芯片的每个核中配置与该核对应的测试比较值(该测试比较值可以不是包括连续预设位数的0这样的形式的),将核产生的测试输出输入与测试比较值进行比较,从而实现对计算芯片中的多个核的并行测试。
根据本公开的一示例性实施例,如图3所示,芯片测试方法可以包括:
步骤S100,针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值。
其中,测试比较值可以通过预先的仿真等计算来获得。测试比较值对应于在核正常运行的情况下,该核根据对应的测试输入数据以及属性数据所产生的测试输出数据。在已知测试输入数据以及属性数据的情况下,计算测试比较值可以是相对简单的。
可以通过多种方式来配置核的测试比较值。
如图4至图5(c)所示,在一具体实施例中,可以在每个核中仅配置与该核对应的测试比较值。
具体而言,假设计算芯片中的核的数目为M,且每个核可以包括用于存储该核的测试比较值的比较值寄存器,比较值寄存器中存储的数据能够从当前的核的比较值寄存器传递到下一个核的比较值寄存器中。
针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值可以包括:
步骤S111,按照从第M个核到第一个核的顺序,依次基于安全散列算法,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值,其中,1≤i≤M;
步骤S112,当i=M时,第M个核的测试比较值写入第一个核的比较值寄存器中;
步骤S113,当i<M时,按照从第M-i个核到第一个核的顺序,依次将当前的核的比较值寄存器中的测试比较值传递到下一个核的比较值寄存器中,以及将第i个核的测试比较值写入第一个核的比较值寄存器中,直至完成共M个核的测试比较值的写入。
由于安全散列算法的性质,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值可以是相对容易的。如图5(a)至图5(c)所示,在配置测试比较值时,首先,可以计算第M个核的测试比较值CM,并将CM写在第一个核的比较值寄存器1中;然后,可以计算第M-1个核的测试比较值CM-1,并将第一个核的比较值寄存器1中的第M个核的测试比较值CM下移到第二个核的比较值寄存器2中,然后在第一个核的比较值寄存器1中写入第M-1个核的测试比较值CM-1;然后,可以计算第M-2个核的测试比较值CM-2,并将第二个核的比较值寄存器2中的第M个核的测试比较值CM下移到第三个核的比较值寄存器3中,将第一个核的比较值寄存器1中的第M-1个核的测试比较值CM-1下移到第二个核的比较值寄存器2中,然后在第一个核的比较值寄存器1中写入第M-2个核的测试比较值CM-2;依此类推,直至每个核的比较值寄存器中被写入了与该核对应的测试比较值。
本实施例中,每个比较值寄存器可以仅存储与这个核对应的测试比较值,因此可以减少每个比较值寄存器所需的空间。但是,在配置测试比较值的过程中,涉及对比较值寄存器的多次写入。然而,对寄存器的读写操作(通信速率可以达到20MHz以上)相对于顶层模块200的接口组件210的读写操作(通信速率在1MHz~12MHz)仍然是高速的,因此使用本实施例中的配置测试比较值的方法仍然可以实现较高的测试效率。
在本公开的另一具体实施例中,如图6和图7所示,可以将计算芯片中所有核对应的测试比较值都写在每个核的比较值寄存器中,并在测试过程中根据需要选择相应的测试比较值。
具体而言,针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值可以包括:
步骤S121,基于安全散列算法,分别根据与多个核中的每个核对应的测试输入数据以及属性数据来计算该核的测试比较值;
步骤S122,在每个核的比较值寄存器中,写入多个核中的所有核的测试比较值;
步骤S123,根据当前被测试的核的属性数据,从该核的比较值寄存器中的多个测试比较值中选择出与该核对应的测试比较值以用于测试。
在本实施例中,通过预先计算与多个核中的每个核对应的测试比较值,并将所有测试比较值都写在每个核的比较值寄存器中,可以有效地减少对寄存器的写入次数。但是,本实施例的方法通常要求比较值寄存器具有足够的存储空间。
可以理解的是,在其它实施例中,也可以采用其它方法来配置核的测试比较值。例如,可以将多个核分成若干组,在同一组核中的每个核的比较值寄存器中,存储该组所包括的所有核的测试比较值,并在测试过程中从这些测试比较值中选择所需要的。通过这种方式,可以权衡对寄存器的写入次数以及寄存器的存储空间的要求。
在本公开的实施例中,为了简化测试向量,在单次测试中,针对多个核中的每个核,测试输入数据可以是相同的。并且,核的属性数据可以包括与核一一对应的核标识,例如核标识可以根据nonce的至少一部分产生。相应地,根据测试输入数据以及属性数据产生的测试比较值通常是不同的。
返回图3,芯片测试方法还可以包括:
步骤S200,接收测试向量,其中,测试输入数据被包括在测试向量中。
测试向量可以经由计算芯片的输入接口211接收,其可以包括每个时钟周期施加于计算芯片的输入接口(管脚)211的、用于测试或者控制的逻辑1和逻辑0数据,即测试向量可以包括测试控制数据和测试输入数据。逻辑1和逻辑0可以由带定时特性和电平特性的波形表示,与波形形状、脉冲宽度、脉冲边缘或斜率以及上升沿和下降沿的位置等有关系。
如图3所示,芯片测试方法还可以包括:
步骤S300,多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果。
如图8所示,多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果具体可以包括:
步骤S310,基于与核对应的测试输入数据以及属性数据,产生测试输出数据;
步骤S320,比较该核的测试输出数据与测试比较值;
步骤S330,根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果。
也就是说,被测试的核可以对测试输入数据施加一定的作用,例如使测试输入数据中的一些逻辑1和逻辑0翻转,从而产生相应的测试输出数据,然后,通过比较测试输出数据与测试比较值,可以产生核测试结果。
在一些实施例中,每个核的核测试结果所占据的比特位数为1,以节约计算芯片中相关的寄存器的存储空间。当该核的测试输出数据与测试比较值相同时,可以将该核的核测试结果置为0,该核通过测试;而当该核的测试输出数据与测试比较值不同时,将该核的核测试结果置为1,该核未通过测试。
如上文所提到的,在本公开的芯片测试方法中,多个核中的每个核可以并行地根据与该核对应的测试输入数据以及测试比较值,产生核测试结果。具体而言,在单次测试中,每个核可以基本上同时地获取到相应的测试输入数据,并产生测试输出数据,通过基本上同时地比较测试输出数据与每个核的测试比较值,可以得到核测试结果。这样,同一个计算芯片中的各个核可以在单次测试中完成。
此外,在一些实施例中,为了得到计算芯片的频率相关性能,还可以在至少两个测试频率下,分别对计算芯片执行上述芯片测试方法,以获得计算芯片在至少两个测试频率下的芯片测试结果。例如,可以在300MHz、500MHz、700MHz分别获取计算芯片的芯片测试结果。
在本公开的芯片测试方法中,通过在计算芯片的每个核中配置与该核对应的测试比较值,可以在单次测试中实现对计算芯片中的多个核的并行测试,其大幅减少了涉及输入接口和输出接口的低速的数据交互,减少了相同的处理或配置,从而有助于测试效率的提高和测试成本的下降,此外,避免了被测试的核执行大量的无效运算,从而降低了测试功耗,有助于延长计算芯片的使用寿命。
本公开还提供了一种计算芯片,如图1所示,该计算芯片可以包括多个待测的核100以及顶层模块200,顶层模块200可以与多个待测的核100通信地连接。假设计算芯片中的核100的数目为M,且每个核100可以包括用于存储该核100的测试比较值的比较值寄存器,比较值寄存器中存储的数据能够从当前的核100的比较值寄存器传递到下一个核100的比较值寄存器中。
在计算芯片中,多个核100中的每个核100可以被配置为分别根据与该核100对应的测试输入数据以及测试比较值,产生核100测试结果。
具体而言,多个核100中的每个核100可以分别被配置为执行以下操作:
基于与核100对应的测试输入数据以及属性数据,产生测试输出数据;
比较该核100的测试输出数据与测试比较值;
根据测试输出数据与测试比较值的比较结果,确定该核100的核100测试结果。
顶层模块200可以被配置为针对待测的计算芯片的多个核100中的每个核100,根据与核100对应的测试输入数据以及属性数据来配置该核100的测试比较值;接收包括测试输入数据的测试向量;以及根据核100测试结果生成计算芯片的芯片测试结果并输出芯片测试结果。
具体而言,顶层模块200可以被配置为执行以下操作:
按照从第M个核100到第一个核100的顺序,依次基于安全散列算法,根据与第i个核100对应的测试输入数据以及属性数据来计算第i个核100的测试比较值,其中,1≤i≤M;
当i=M时,将第M个核100的测试比较值写入第一个核100的比较值寄存器中;
当i<M时,按照从第M-i个核100到第一个核100的顺序,依次将当前的核100的比较值寄存器中的测试比较值传递到下一个核100的比较值寄存器中,以及将第i个核100的测试比较值写入第一个核100的比较值寄存器中,直至完成共M个核100的测试比较值的写入。
顶层模块200也可以被配置为执行以下操作:
基于安全散列算法,分别根据与多个核100中的每个核100对应的测试输入数据以及属性数据来计算该核100的测试比较值;
在每个核100的比较值寄存器中,写入多个核100中的所有核100的测试比较值;
根据当前被测试的核100的属性数据,从该核100的比较值寄存器中的多个测试比较值中选择出与该核100对应的测试比较值以用于测试。
进一步地,顶层模块200可以包括接口组件210、逻辑组件220、时钟组件230以及监测组件240。其中,接口组件210可以实现涉及计算芯片的至少部分数据交互,例如接收包括测试输入数据的测试向量以及根据核100测试结果生成计算芯片的芯片测试结果并输出芯片测试结果。逻辑组件220可以执行各种逻辑操作,例如针对待测的计算芯片的多个核100中的每个核100,根据与核100对应的测试输入数据以及属性数据来配置该核100的测试比较值等。时钟组件230可以产生时钟信号,以用于计算芯片中各个组件或电路的同步,参与控制对各个寄存器的读写等,以保障计算芯片的测试或工作的正常进行。监测组件240可以被配置为监测相应寄存器的状态位的电平,以确定计算芯片是处于工作模式还是测试模式中等。可以理解的是,监测组件240还可以被配置为监测计算芯片中的其它物理量,例如计算芯片的芯片温度等,以帮助保障计算芯片的正常运行。
多个计算芯片可以并行地执行计算任务,例如执行SHA-256算法等。
另外,本公开的实施方式还可以包括以下示例:
1.一种芯片测试方法,所述芯片测试方法包括:
针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值;
接收测试向量,其中,测试输入数据被包括在所述测试向量中;
所述多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果;
根据核测试结果生成所述计算芯片的芯片测试结果,并输出所述芯片测试结果。
2.根据1所述的芯片测试方法,所述计算芯片中的核的数目为M,且每个核包括用于存储该核的测试比较值的比较值寄存器,比较值寄存器中存储的数据能够从当前的核的比较值寄存器传递到下一个核的比较值寄存器中;
针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值包括:
按照从第M个核到第一个核的顺序,依次基于安全散列算法,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值,其中,1≤i≤M;
当i=M时,将第M个核的测试比较值写入第一个核的比较值寄存器中;
当i<M时,按照从第M-i个核到第一个核的顺序,依次将当前的核的比较值寄存器中的测试比较值传递到下一个核的比较值寄存器中,以及将第i个核的测试比较值写入第一个核的比较值寄存器中,直至完成共M个核的测试比较值的写入。
3.根据1所述的芯片测试方法,所述多个核中的每个核包括用于存储该核的测试比较值的比较值寄存器;
针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值包括:
基于安全散列算法,分别根据与所述多个核中的每个核对应的测试输入数据以及属性数据来计算该核的测试比较值;
在每个核的比较值寄存器中,写入所述多个核中的所有核的测试比较值;
根据当前被测试的核的属性数据,从该核的比较值寄存器中的多个测试比较值中选择出与该核对应的测试比较值以用于测试。
4.根据1所述的芯片测试方法,在单次测试中,针对所述多个核中的每个核,测试输入数据是相同的。
5.根据1所述的芯片测试方法,核的属性数据包括与核一一对应的核标识。
6.根据5所述的芯片测试方法,核标识根据仅使用一次的非重复随机数nonce的至少一部分产生。
7.根据1所述的芯片测试方法,所述多个核中的每个核分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果包括:
基于与核对应的测试输入数据以及属性数据,产生测试输出数据;
比较该核的测试输出数据与测试比较值;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果。
8.根据1所述的芯片测试方法,核测试结果所占据的比特位数为1;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果包括:
当该核的测试输出数据与测试比较值相同时,将该核的核测试结果置为0;
当该核的测试输出数据与测试比较值不同时,将该核的核测试结果置为1。
9.根据1所述的芯片测试方法,所述多个核中的每个核并行地根据与该核对应的测试输入数据以及测试比较值,产生核测试结果。
10.根据1所述的芯片测试方法,在至少两个测试频率下,分别对所述计算芯片执行芯片测试方法,以获得所述计算芯片在所述至少两个测试频率下的芯片测试结果。
11.一种计算芯片,所述计算芯片包括多个核以及与所述多个核通信地连接的顶层模块;
其中,所述多个核中的每个核被配置为分别根据与该核对应的测试输入数据以及测试比较值,产生核测试结果;
所述顶层模块被配置为针对待测的计算芯片的多个核中的每个核,根据与核对应的测试输入数据以及属性数据来配置该核的测试比较值;接收包括测试输入数据的测试向量;以及根据核测试结果生成所述计算芯片的芯片测试结果并输出所述芯片测试结果。
12.根据11所述的计算芯片,所述计算芯片中的核的数目为M,且每个核包括用于存储该核的测试比较值的比较值寄存器,比较值寄存器中存储的数据能够从当前的核的比较值寄存器传递到下一个核的比较值寄存器中;
所述顶层模块被配置为执行以下操作:
按照从第M个核到第一个核的顺序,依次基于安全散列算法,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值,其中,1≤i≤M;
当i=M时,将第M个核的测试比较值写入第一个核的比较值寄存器中;
当i<M时,按照从第M-i个核到第一个核的顺序,依次将当前的核的比较值寄存器中的测试比较值传递到下一个核的比较值寄存器中,以及将第i个核的测试比较值写入第一个核的比较值寄存器中,直至完成共M个核的测试比较值的写入。
13.根据11所述的计算芯片,所述多个核中的每个核包括用于存储该核的测试比较值的比较值寄存器;
所述顶层模块被配置为执行以下操作:
基于安全散列算法,分别根据与所述多个核中的每个核对应的测试输入数据以及属性数据来计算该核的测试比较值;
在每个核的比较值寄存器中,写入所述多个核中的所有核的测试比较值;
根据当前被测试的核的属性数据,从该核的比较值寄存器中的多个测试比较值中选择出与该核对应的测试比较值以用于测试。
14.根据11所述的计算芯片,所述多个核中的每个核分别被配置为执行以下操作:
基于与核对应的测试输入数据以及属性数据,产生测试输出数据;
比较该核的测试输出数据与测试比较值;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果。
15.根据11所述的计算芯片,所述多个核中的每个核被配置为并行地根据与该核对应的测试输入数据以及测试比较值,产生核测试结果。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪音以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
上述描述可以指示被“连接”或“耦合”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦合”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦合”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。
Claims (13)
1.一种芯片测试方法,其特征在于,待测的计算芯片包括多个核,所述多个核中的每个核包括用于存储该核的测试比较值的比较值寄存器,所述芯片测试方法包括:
针对待测的计算芯片的多个核中的每个核,基于安全散列算法,分别根据与核对应的测试输入数据以及核的属性数据来计算该核的测试比较值,并在该核的比较值寄存器中至少写入该核的测试比较值;
接收测试向量,其中,测试输入数据被包括在所述测试向量中;
所述多个核中的每个核并行地根据与该核对应的测试输入数据以及测试比较值来产生核测试结果,其中,在单次测试中,每个核并行地获取相应的测试输入数据并产生测试输出数据,通过并行地比较该核的测试输出数据与该核的测试比较值以产生核测试结果;
根据核测试结果生成所述计算芯片的芯片测试结果,并输出所述芯片测试结果。
2.根据权利要求1所述的芯片测试方法,其特征在于,所述计算芯片中的核的数目为M,核的比较值寄存器中存储的数据能够从当前的核的比较值寄存器传递到下一个核的比较值寄存器中;
基于安全散列算法,分别根据与核对应的测试输入数据以及核的属性数据来计算该核的测试比较值包括:
按照从第M个核到第一个核的顺序,依次基于安全散列算法,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值,其中,1≤i≤M;
当i=M时,将第M个核的测试比较值写入第一个核的比较值寄存器中;
当i<M时,按照从第M-i个核到第一个核的顺序,依次将当前的核的比较值寄存器中的测试比较值传递到下一个核的比较值寄存器中,以及将第i个核的测试比较值写入第一个核的比较值寄存器中,直至完成共M个核的测试比较值的写入。
3.根据权利要求1所述的芯片测试方法,其特征在于,基于安全散列算法,分别根据与核对应的测试输入数据以及核的属性数据来计算该核的测试比较值包括:
基于安全散列算法,分别根据与所述多个核中的每个核对应的测试输入数据以及属性数据来计算该核的测试比较值;
在每个核的比较值寄存器中,写入所述多个核中的所有核的测试比较值;
根据当前被测试的核的属性数据,从该核的比较值寄存器中的多个测试比较值中选择出与该核对应的测试比较值以用于测试。
4.根据权利要求1所述的芯片测试方法,其特征在于,在单次测试中,针对所述多个核中的每个核,测试输入数据是相同的。
5.根据权利要求1所述的芯片测试方法,其特征在于,核的属性数据包括与核一一对应的核标识。
6.根据权利要求5所述的芯片测试方法,其特征在于,核标识根据仅使用一次的非重复随机数nonce的至少一部分产生。
7.根据权利要求1所述的芯片测试方法,其特征在于,所述多个核中的每个核并行地根据与该核对应的测试输入数据以及测试比较值来产生核测试结果包括所述多个核中的每个核并行地执行以下操作:
基于与核对应的测试输入数据以及属性数据,产生测试输出数据;
比较该核的测试输出数据与测试比较值;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果。
8.根据权利要求7所述的芯片测试方法,其特征在于,核测试结果所占据的比特位数为1;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果包括:
当该核的测试输出数据与测试比较值相同时,将该核的核测试结果置为0;
当该核的测试输出数据与测试比较值不同时,将该核的核测试结果置为1。
9.根据权利要求1所述的芯片测试方法,其特征在于,在至少两个测试频率下,分别对所述计算芯片执行芯片测试方法,以获得所述计算芯片在所述至少两个测试频率下的芯片测试结果。
10.一种计算芯片,其特征在于,所述计算芯片包括多个核以及与所述多个核通信地连接的顶层模块,所述多个核中的每个核包括用于存储该核的测试比较值的比较值寄存器;
其中,所述多个核中的每个核被配置为并行地根据与该核对应的测试输入数据以及测试比较值来产生核测试结果,其中,在单次测试中,每个核并行地获取相应的测试输入数据并产生测试输出数据,通过并行地比较该核的测试输出数据与该核的测试比较值以产生核测试结果;
所述顶层模块被配置为针对待测的计算芯片的多个核中的每个核,基于安全散列算法,分别根据与核对应的测试输入数据以及核的属性数据来计算该核的测试比较值,并在该核的比较值寄存器中至少写入该核的测试比较值;接收包括测试输入数据的测试向量;以及根据核测试结果生成所述计算芯片的芯片测试结果并输出所述芯片测试结果。
11.根据权利要求10所述的计算芯片,其特征在于,所述计算芯片中的核的数目为M,核的比较值寄存器中存储的数据能够从当前的核的比较值寄存器传递到下一个核的比较值寄存器中;
所述顶层模块被配置为执行以下操作:
按照从第M个核到第一个核的顺序,依次基于安全散列算法,根据与第i个核对应的测试输入数据以及属性数据来计算第i个核的测试比较值,其中,1≤i≤M;
当i=M时,将第M个核的测试比较值写入第一个核的比较值寄存器中;
当i<M时,按照从第M-i个核到第一个核的顺序,依次将当前的核的比较值寄存器中的测试比较值传递到下一个核的比较值寄存器中,以及将第i个核的测试比较值写入第一个核的比较值寄存器中,直至完成共M个核的测试比较值的写入。
12.根据权利要求10所述的计算芯片,其特征在于,所述顶层模块被配置为执行以下操作:
基于安全散列算法,分别根据与所述多个核中的每个核对应的测试输入数据以及属性数据来计算该核的测试比较值;
在每个核的比较值寄存器中,写入所述多个核中的所有核的测试比较值;
根据当前被测试的核的属性数据,从该核的比较值寄存器中的多个测试比较值中选择出与该核对应的测试比较值以用于测试。
13.根据权利要求10所述的计算芯片,其特征在于,所述多个核中的每个核被配置为并行地执行以下操作:
基于与核对应的测试输入数据以及属性数据,产生测试输出数据;
比较该核的测试输出数据与测试比较值;
根据测试输出数据与测试比较值的比较结果,确定该核的核测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372426.1A CN112630630B (zh) | 2020-11-30 | 2020-11-30 | 芯片测试方法和计算芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011372426.1A CN112630630B (zh) | 2020-11-30 | 2020-11-30 | 芯片测试方法和计算芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112630630A CN112630630A (zh) | 2021-04-09 |
CN112630630B true CN112630630B (zh) | 2022-10-28 |
Family
ID=75306781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011372426.1A Active CN112630630B (zh) | 2020-11-30 | 2020-11-30 | 芯片测试方法和计算芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112630630B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116070240B (zh) * | 2023-02-03 | 2024-03-08 | 广州万协通信息技术有限公司 | 多芯片调用机制的数据加密处理方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000044593A (ko) * | 1998-12-30 | 2000-07-15 | 김영환 | 칩 상의 시스템 장치를 위한 비스트 장치 |
US7761751B1 (en) * | 2006-05-12 | 2010-07-20 | Credence Systems Corporation | Test and diagnosis of semiconductors |
US8103924B2 (en) * | 2008-01-29 | 2012-01-24 | Globalfoundries Inc. | Test access mechanism for multi-core processor or other integrated circuit |
CN101996117B (zh) * | 2009-08-27 | 2014-02-12 | 鸿富锦精密工业(深圳)有限公司 | 计算机测试系统及方法 |
CN101788644B (zh) * | 2009-12-30 | 2011-11-16 | 龙芯中科技术有限公司 | 具有多个同构ip核的片上系统芯片测试装置和方法 |
US8856602B2 (en) * | 2011-12-20 | 2014-10-07 | International Business Machines Corporation | Multi-core processor with internal voting-based built in self test (BIST) |
CN111381147B (zh) * | 2018-12-29 | 2022-03-01 | 北京灵汐科技有限公司 | 一种众核芯片的测试方法、装置及测试设备 |
CN110634530B (zh) * | 2019-09-10 | 2021-05-25 | 珠海博雅科技有限公司 | 芯片的测试系统和测试方法 |
CN111308329B (zh) * | 2020-03-20 | 2022-02-25 | 深圳芯行科技有限公司 | 用于众核计算芯片可测性设计的电路、装置及方法 |
CN111966554B (zh) * | 2020-08-25 | 2024-02-09 | 深圳比特微电子科技有限公司 | 芯片测试方法和计算芯片 |
-
2020
- 2020-11-30 CN CN202011372426.1A patent/CN112630630B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112630630A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966554B (zh) | 芯片测试方法和计算芯片 | |
CN111610435B (zh) | 用于控制时钟门控单元的控制电路、芯片及控制方法 | |
KR101149270B1 (ko) | 집적 회로 디바이스를 테스트하는 시스템 및 방법 | |
US6324666B1 (en) | Memory test device and method capable of achieving fast memory test without increasing chip pin number | |
EP1032845A1 (en) | Integrated circuit tester having pattern generator controlled data bus | |
CN212303083U (zh) | 缺陷修复电路和存储器 | |
CN112630630B (zh) | 芯片测试方法和计算芯片 | |
CN106291313B (zh) | 用于测试集成电路的方法和设备 | |
US7308631B2 (en) | Wrapper serial scan chain functional segmentation | |
US5367551A (en) | Integrated circuit containing scan circuit | |
US6907385B2 (en) | Memory defect redress analysis treating method, and memory testing apparatus performing the method | |
KR20100103212A (ko) | 복수개의 테스트 모듈을 구비하는 테스트 보드 및 이를 구비하는 테스트 시스템 | |
US20150143190A1 (en) | Partial scan cell | |
JP2011002261A (ja) | スキャンテスト回路、その設計方法、およびプログラム | |
JP4874391B2 (ja) | 試験装置 | |
JP3955708B2 (ja) | 組込み自己試験用回路 | |
JP4869911B2 (ja) | ロジックbist回路及びモジュロ回路 | |
JP2002139557A (ja) | 半導体装置 | |
JP3102600B2 (ja) | Icテスタ | |
JPH10339768A (ja) | 半導体試験装置のテストプログラム実行方法 | |
JP5453981B2 (ja) | Lsi、及びそのテストデータ設定方法 | |
KR20080039702A (ko) | 시스템온칩 및 그 테스트 방법 | |
CN113345508A (zh) | 测试电路及电子装置 | |
JP3210236B2 (ja) | Ic試験装置のパターン発生装置 | |
CN116994638A (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 |