CN100568008C - 一种片上多核处理器的测试电路及其可测试性设计方法 - Google Patents
一种片上多核处理器的测试电路及其可测试性设计方法 Download PDFInfo
- Publication number
- CN100568008C CN100568008C CNB200710304267XA CN200710304267A CN100568008C CN 100568008 C CN100568008 C CN 100568008C CN B200710304267X A CNB200710304267X A CN B200710304267XA CN 200710304267 A CN200710304267 A CN 200710304267A CN 100568008 C CN100568008 C CN 100568008C
- Authority
- CN
- China
- Prior art keywords
- test
- core
- measured
- data
- registers
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种片上多核处理器的测试电路及其可测试性设计方法,其中测试电路包括:测试外壳寄存器链、待测芯核连接电路、片上数据通路连接电路以及控制逻辑电路;所述待测芯核连接电路是连接在所述测试外壳寄存器链与待测芯核之间的互连电路,所述片上数据通路连接电路是连接在所述测试外壳寄存器链与片上数据通路之间的互连电路;所述控制逻辑电路控制所述待测芯核连接电路和片上数据通路连接电路中的数据流向。本发明根据片上多核处理器的特点进行了优化设计,充分利用了片上数据通路的带宽,降低了测试成本,减少了片上数据通路中传输数据包的数目,所以大大降低了大量活跃数据包导致的额外功耗开销,并且大大缩短了测试时间。
Description
技术领域
本发明属于大规模集成电路芯片的可测试性设计技术领域,具体地说,本发明涉及一种测试外壳电路及其设计方法。
背景技术
随着应用的驱动和工艺、材料的进步,高性能计算的系统结构面临着又一次重大变革。据ITRS(International Technology Roadmap forSemiconductors:国际半导体技术发展路线图)预测,为了将进一步提高电路集成度及性能,设备尺寸、晶体管阈值电压以及氧化厚度将进一步降低以满足未来发展的需求。这些变化将使得漏电电流呈指数比例增长并带来片上及片间设备参数的巨大偏差。每芯片设备数在未来的十年内将从约2亿上升到上百亿。
传统的单核处理器通过持续提高操作频率来达到高性能的目的,这是带来高硬件复杂性和高功耗的主要原因。片上多核处理器则通常利用高的片上带宽而非高频率来实现高性能的目的,从而可以降低硬件复杂度及功耗。
由于体系结构的改变,片上多核处理器的测试面临一些新的问题,传统的可测试性方案已无法适应片上多核处理器的发展要求。如图1所示,传统的可测试性设计方案通常由以下几部分功能组成:提供待测芯核与外部访问接口的测试外壳电路,通常由寄存器构成,每个芯核的测试外壳中寄存器个数等于其内部扫描链条数;各待测芯核间只能串行进行测试;提供测试数据(包括测试激励和测试响应)传输通道的测试总线,其带宽与待测芯核的测试外壳寄存器数及芯核内部扫描链条数相等。
传统的可测试性方案的不足主要表现在以下三个方面:
一、在传统的可测试性设计方案架构中,测试访问总线(TAM)的宽度直接影响到可测试性的面积开销,因此每个待测芯核只允许非常有限数目的内部扫描链与测试访问总线相连。为满足这种扫描链数目限制条件,许多内部扫描链需要进行合并,因此将可能延长单个芯核测试时间。
二、在传统可测试性设计方案中,待测芯核内部扫描链被尽可能的合并到平衡的长度,而且每个扫描链的每一位测试向量同时被移入扫描链中。由于设计的测试访问总线带宽与待测芯核扫描链的数目相等,这样可以在测试访问总线带宽限制下使数据通路带宽浪费最小。然而,片上多核处理器数据通路带宽是由工作模式特征决定的,因此芯核可连接的数据通路带宽与待测芯核内部扫描链数目之间可能存在不匹配,造成片上数据通路的浪费,从而带来额外的测试数据通信开销,进而延长整个芯片的测试时间,增加芯片测试的功耗。
三、传统测试中,芯片上各部分结构的测试激励及响应向量各不相同,使得对片上各个部分需要专门的传送测试激励及输出测试响应。而片上多核处理器存在许多同构部件(如芯核、存储器等),如果仍然采用传统的测试方案,将对ATE(Automatic Test Equipment:自动测试仪)数据存储量、芯片I/O(Input/Output:输入输出系统)数据传输速度及带宽产生较高需求,导致测试开销及成本增加。
因此,迫切需要一种能够更好的适应片上多核处理器的测试访问特点的可测试性设计方案,以在严格的功耗限制条件下降低测试数据量、缩短测试时间,降低测试开销及成本。
发明内容
本发明的目的是结合片上多核处理器的测试访问特点和测试要求,充分利用片上数据通路带宽,在严格功耗限制下降低测试数据量、缩短测试时间,降低测试开销及成本,从而提供一种片上多核处理器的测试电路及其可测试性设计方法。
为实现上述发明目的,本发明提供的片上多核处理器的测试电路包括:测试外壳寄存器链、待测芯核连接电路、片上数据通路连接电路以及控制逻辑电路;所述待测芯核连接电路是连接在所述测试外壳寄存器链与待测芯核之间的互连电路,所述片上数据通路连接电路是连接在所述测试外壳寄存器链与片上数据通路之间的互连电路;所述控制逻辑电路控制所述待测芯核连接电路和片上数据通路连接电路中的数据流向。
上述技术方案中,一条所述测试外壳寄存器链由多个寄存器串连构成,串连的寄存器的数目N与所述片上数据通路的数据位的带宽w相等。
上述技术方案中,所述控制逻辑电路是通过片上数据通路,在多个待测芯核之间实现测试激励和测试响应的广播机制,并对待测芯核的测试响应进行比较的控制逻辑电路。
上述技术方案中,所述片上多核处理器的每个待测芯核均有一条测试外壳寄存器链与之对应。
为实现上述发明目的,本发明提供的片上多核处理器的可测试性设计方法包括如下步骤:
A、确定单条测试外壳寄存器链的长度;
B、计算传输待测芯核测试数据所需数据包数目的理论下限值;
C、根据测试外壳寄存器链的长度和传输待测芯核测试数据所需数据包数目的理论下限值,确定待测扫描链的数目,再将待测芯核内部扫描链和基本输入输出端口合并到所述待测扫描链中;
D、建立测试外壳寄存器链与待测芯核内部合并后扫描链的对应关系,连接测试外壳寄存器链与片上数据通路以及测试外壳寄存器链与待测芯核之间的互连电路;
E、建立控制逻辑电路,该控制逻辑电路控制测试激励和测试响应通过片上数据通路在各待测芯核之间进行广播,并对待测芯核的测试响应进行比较。
上述技术方案中,所述的测试外壳电路的设计方法,所述步骤A中所述确定测试外壳寄存器链的长度是:将片上数据通路数据位的数目确定为每条测试外壳寄存器链的长度。
上述技术方案中,所述步骤B中,所述传输待测芯核测试数据所需数据包数目的理论下限值其中np为传输待测芯核测试数据所需数据包数目的理论下限值,t为待测芯核的测试向量包含的数据量总数,该数据量总数包括基本输入输出端口以及内部扫描链上测试数据,w为片上数据通路的数据位带宽值,符号的含义是取比结果大的最小整数。
上述技术方案中,所述步骤C中,确定所述待测扫描链的数目的方法包括:
假设每条测试外壳寄存器链的长度为N,传输待测芯核测试数据所需数据包数目的理论下限值为np,待测芯核内部扫描链合并后的数目为g,待测芯核内部扫描链合并前的数目为m,每条扫描链的长度为Li,其中i=1,2,...,m,则将原来的m条扫描链及基本输入输出端口合并到g条扫描链上去,在每条内部扫描链不可分割的前提下,待测芯核内部扫描链合并后的长度小于等于(N/g)×np,进而确定待测芯核内部合并后扫描链的数目g,合并扫描链的数目g也是测试外壳寄存器链的寄存器的分组数目。(传统测试通常通过将待测芯核内部扫描链合并为长度相似的若干扫描链以在降低片上测试总线带宽的前提下缩短测试时间)
所述待测芯核内部合并后扫描链的数目g为每条测试外壳寄存器链长度N的因子,能够被N整除。
所述待测芯核内部扫描链合并后的数目g的取值范围为{2n,2n-1,2n-2,...2,1},为了尽量缩短测试外壳与待测芯核间数据传输的周期,依次对上述的值从大到小进行尝试,直至满足待测芯核内部合并后每条扫描链的长度小于等于(N/g)×np为止。以上合并后扫描链就是待测扫描链。
上述技术方案中,所述步骤D中,对所述测试外壳寄存器链的寄存器进行分组,各寄存器分组与各待测扫描链一一对应。
上述技术方案中,所述步骤E中,所述测试激励通过数据包的形式输入,所述控制逻辑电路根据数据包中的控制位将测试激励数据在各待测芯核之间进行广播;所述对测试响应进行比较是由异或门实现,比较结果通过数据包的形式输出。
与现有技术相比,本发明能够达到的技术效果包括:
1、本发明通过确定测试外壳寄存器链的长度,计算传输待测芯核测试数据所需数据包数目的理论下限值,并根据测试外壳寄存器链的长度和传输待测芯核测试数据所需数据包数目的理论下限值,确定待测芯核内部合并后扫描链的数目,将待测芯核内部扫描链和基本输入输出端口合并到所述确定数目的扫描链上,建立测试外壳寄存器链与待测芯核内部合并后扫描链的对应关系,连接测试外壳寄存器链与外部数据通路以及测试外壳寄存器链与待测芯核之间的互连电路,实现了对测试外壳电路的设计,不仅提供了传统测试外壳的测试访问功能,而且根据片上多核处理器的特点进行了优化设计,充分利用了片上数据通路的带宽,降低了测试成本。
2、利用本发明提供的测试外壳电路及设计方法,由于充分利用了片上数据通路的带宽,减少了在片上数据通路中传输测试数据包的数目,大大提高了测试的并行性。
3、利用本发明提供的测试外壳电路及设计方法,由于充分利用了片上数据通路的带宽,减少了片上数据通路中传输数据包的数目,所以大大降低了大量活跃数据包导致的额外功耗开销,并且大大缩短了测试时间。
4、利用本发明提供的测试外壳电路及设计方法,由于充分利用了片上数据通路的带宽,与传统测试访问机制相比降低了面积开销,从而大大降低了可测试性设计成本。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1为一般的传统可测试性设计方案示意图。
图2为本发明提供的针对片上多核处理器可测试性设计方案的示意图;
图3为本发明提供的针对片上多核处理器设计的测试外壳与待测芯核的互连电路示意图;为了使得图示清晰,将寄存器链从逻辑上分为两条,一条表示输入部分,一条表示输出部分;但实际上在物理上是一条寄存器链,该寄存器链中的各寄存器既可以输出测试激励,也可以接收测试响应;
图4为本发明提供的针对片上多核处理器设计的测试外壳与片上数据通路的数据流示意图;
图5为在本发明提供的针对片上多核处理器的可测试性设计方案下进行测试时片上数据通路中的数据波形示意图。
具体实施方式
本发明的基本构思如下:
本发明基于片上数据通路实现测试访问机制,扫描链数量的限制被放宽至与片上数据通路数据位数相同。在工作模式下每个嵌入式芯核已被一层外壳封装起来(例如网络接口)以提供芯核所有输入输出管脚的通信。这层外壳可以在测试模式下被复用作测试外壳中面积开销较大的寄存器链,而扫描链的数目只受片上数据通路数据位数的限制,在大部分情况下芯核内部扫描链数远小于片上数据通路数据位数,因此新的测试访问机制可避免传统方法设计的测试外壳对片上多核处理器数据通路带宽的浪费。
另外,片上多核处理器存在许多同构部件(如芯核、存储器等),本发明将这些同构部件的测试激励通过片上数据通路以广播的方式进行复用,测试响应则在多个同构部件间进行比较,从而减少对ATE(AutomaticTest Equipment:自动测试仪)数据存储量及芯片I/O(Input/Output:输入输出系统)数据传输速度及带宽的需求。这种广播机制还可以在满足功耗限制的前提下提高测试并行性,降低测试开销。
再者,本发明还针对片上多核处理器的功耗特点进行了改进。片上多核处理器在设计阶段已经非常注意其功耗及热量特性。由于其自身体系结构的特点,多核之间分散的工作任务使得这些处理器工作时的功耗分布比较均衡,从而使得其热量特性也比较稳定。因为芯片可靠性与片上温度密切相关,这种稳定的热量特性也使得芯片的可靠性得到了提升。以上特点要求片上多核处理器的测试也必须在严格的功耗及热量限制下进行。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
实施例1
如图2所示,图2为本发明提供的针对片上多核处理器的可测试性设计方案的示意图,该电路包括两个组成部分:至少一条用于缓存待测芯核测试数据的测试外壳寄存器链,和测试外壳寄存器链与待测芯核及片上数据通路间的互连电路。
其中,用于缓存待测芯核测试数据的测试外壳寄存器链一般被分为多组,具体分组数目由芯核扫描结构决定,确定的方法下文将进行详细阐述,这里暂时略去。所述测试外壳寄存器链由多个寄存器串连构成,通过测试外壳寄存器链与待测芯核之间的互连电路,以及测试外壳寄存器链与外部数据通路之间的互连电路,实现待测芯核与外部数据通路之间的数据匹配。
所述测试外壳寄存器与待测芯核及外部数据通路间互连电路包括:连接所述测试外壳寄存器链与待测芯核之间的互连电路,和连接所述测试外壳寄存器链与片上数据通路之间的互连电路。
在图3中描述了一个适用于数据通路带宽为8位的针对带宽设计的测试外壳电路。待测芯核内包含2条内部扫描链,每条扫描连长度为16,即包含16个扫描单元,片上数据通路带宽为8。测试外壳寄存器链通过其与待测芯核以及片上数据通路之间的互连电路实现待测芯核与数据通路之间的数据传送的匹配。图中设计的分组式测试外壳与待测芯核之间,通过控制逻辑,使得测试激励在从测试外壳传入待测芯核的同时也被传送至片上数据通路以实现广播传输;在测试响应从待测芯核传出测试外壳的同时,它们也被传至片上数据通路以实现广播和初步比较诊断。(为了使得图示清晰,图3中将寄存器链从逻辑上分为两条,一条表示输入部分,一条表示输出部分;但实际上在物理上是一条寄存器链,该寄存器链中的各寄存器既可以输出测试激励,也可以接收测试响应)
对于一个具体的针对带宽设计的测试外壳,其基本的配置参数有下三个:测试外壳寄存器链的长度N,测试外壳寄存器的分组数g,每条测试外壳寄存器链对应的待测芯核内部合并后扫描链的最大长度l。
首先,为实现充分利用数据带宽的目的,数据包中数据位的宽度w,即测试外壳寄存器链的长度N,或者说测试外壳寄存器链上的寄存器个数N,应当与片上数据通路的数据位宽度w相等,才能使得每个数据包中的数据位都对应有效的测试数据。
假设待测芯核的测试向量包含的数据量总数为t,(t通常为给定值,不同的测试数据产生方法可能具有不同的t值)该数据量总数包括待测芯核内部所有待测端口的测试数据,片上数据通路的数据位宽度为w,则传送测试向量所需数据包数量np的理论下限值为
我们测试方案中测试外壳电路的设计目标就是利用最小的硬件开销使得传输待测芯核的测试数据所需数据包数量达到上述的下限值。
为实现这一目的,根据本发明,提出了一种合并待测芯核扫描链及基本输入输出端口,并将其与测试外壳寄存器分组对应的方法。根据待测芯核内部是否包含扫描链将设计方法分为以下两种情况:
情况1、待测芯核内不存在内部扫描链,则将p个基本输入输出端口平均的分配到N个测试外壳寄存器上,传输完这些基本输入输出端口测试数据所需的数据包数为:
即传输待测芯核测试数据所需数据包数目的理论下限值。
情况2、待测芯核内存在内部扫描链,则需根据公式(1)计算出的数据包数理论下限值np对内部扫描链及基本输入输出端口进行合并,并将其对应到各个测试外壳寄存器组上。具体的分组及对应方法分析说明如下:
假设每条测试外壳寄存器链的长度为N,传输待测芯核测试数据所需数据包数目的理论下限值为np,待测芯核内部合并后扫描链的数目为g,待测芯核内部扫描链合并前的数目为m,每条扫描链的长度为Li,其中i=1,2,...,m,则将原来的m条扫描链及基本输入输出端口合并到g条扫描链上去,在每条内部扫描链不可分割的前提下,待测芯核内部合并后扫描链的长度小于等于(N/g)×np,每条合并后扫描链分配到的测试外壳寄存器数则为(的含义:取比结果小的最大整数)进而确定待测芯核内部合并后扫描链的数目g。
在选取合适的g时,主要进行如下两点考虑:
考虑1、若g不能整除N,则在每个数据包中将有N-(N/g)*g=Nmodg(mod的含义:取模运算)位数据被浪费。因此,为充分利用数据通路带宽,g需为N的因子。
考虑2、由于在数字芯片中数据通路带宽w通常为2n,因此g的可能取值范围通常为{2n,2n-1,2n-2,...2,1},为了尽量缩短测试外壳与待测芯核间数据传输的周期,依次对上述的值从大到小进行尝试,直至满足g条合并后扫描链上的长度l满足前述条件为止。
上述的测试外壳寄存器链在控制逻辑电路的控制下,根据数据包中控制位的设定,有两种工作模式:
1、装载模式,用于将测试外壳寄存器链中的测试激励数据移到待测芯核基本输入输出端口与内部扫描链输入输出端口上,或将待测芯核基本输入输出端口与内部扫描链输入输出端口中的测试响应数据移到测试外壳寄存器链上,根据设计参数的不同,装载模式所需要的时钟周期数不同,计算公式为T=N/g。(装载一个数据包的数据到芯核扫描链内所需的时钟周期数即为数据传输周期)
2、传输模式,将片上数据通路中的测试激励数据并行打入测试外壳寄存器链中,或将测试外壳寄存器链中的测试响应数据并行打入片上数据通路中。
上述内容详细阐述了针对片上多核处理器数据通路带宽设计测试外壳电路的优化目标以及推荐的设计规则,符合这些规则将可以保证测试外壳能够在进行测试数据传输时在提供基本测试访问以及测试数据打包功能的基础上,对片上数据通路的带宽进行充分的利用。
基于图3所述的本发明提供的针对片上多核处理器数据通路带宽设计测试外壳电路方案,以下对本实施例针对片上多核处理器数据通路带宽设计测试外壳电路的方法更进一步地进行详细说明。
在本实施例中,假设一个待测芯核内包含15条含45个寄存器的扫描链,5条包含20个寄存器的扫描链,以及108个输入/输出端口,108为输入端口数和输出端口数间的最大值,数据通路的带宽w为16,则根据测试外壳寄存器总数N等于数据通路的带宽w,首先可以确定测试外壳寄存器总数N为16。
然后,根据公式(1)计算传输待测芯核测试数据所需数据包数目的理论下限值:
然后,由于w=16,依次按照{16,8,4,2,1}的顺序尝试将测试外壳寄存器分配到g个分组中去。
首先假设g=16,则每条合并后扫描链上的寄存器数1包括添加的基本输入输出端口不得超过(N/g)×np=(16/16)×56=56,在假设每条扫描链内部不可分割的前提下,将1条含45个寄存器的扫描链和1条包含20个寄存器的扫描链合并后,合并后扫描链的长度至少为45+20=65,大于(N/g)×np=(16/16)×56=56,所以此长度无法满足要求,因此g=16的假设不成立。
然后继续假设g=8,则每条合并后扫描链上的寄存器数1包括添加的基本输入输出端口不得超过(N/g)×np=(16/8)×56=112,在确定了待测芯核内部合并后扫描链的数目为8后,按以下方案可将上述扫描链合并分配到8条扫描链上,且每条扫描链的长度不超过112:
1)将15条含45个寄存器的扫描链合并为7条含90个寄存器的扫描链和一条含45个寄存器的扫描链;
2)将5条含20个寄存器的扫描链合并到1)中产生的含90个寄存器的扫描链中,此时电路中共有5条含110个寄存器的扫描链,2条含90个寄存器的扫描链及1条含45个寄存器的扫描链;
3)将基本输入输出端口填充到上述扫描链中,并使得每条扫描链的长度不超过112,具体说明为:在5条含110个寄存器的扫描链上各填充两个端口,在2条含90个寄存器的扫描链上各填充22个端口,将剩余的54个端口填充到1条含45个寄存器的扫描链上。
因此,可将测试外壳上16个寄存器分配到8个寄存器组中,其中每个寄存器组含2个寄存器,分别分配给上述的8条合并后的扫描链。在每个数据包中包含每条合并后扫描链的2个测试数据位。
最后,建立测试外壳寄存器链与待测芯核内部合并后扫描链之间的一一对应关系,连接测试外壳寄存器链与外部数据通路以及测试外壳寄存器链与待测芯核之间的互连电路,如图3所示。
以上所述为本发明所建议的测试外壳及其与待测芯核间互连电路的设计方案。图4为针对片上多核处理器测试的测试外壳与其片上数据通路部分的数据流示意图,以下对其进行具体说明。
由于片上多核处理器的片上数据通路带宽较高,而且它们通常由许多可共享测试数据的同构部件(芯核、存储器等)构成,通过在片上数据通路上对这些测试数据的广播可以降低对测试数据量、ATE存储量及IO端口通信速度的需求,缩短系统测试时间;另外,对测试响应的广播还可以实现多芯核间的测试响应比较。以下以芯核测试外壳为例具体说明本发明建议的测试数据广播机制。
首先,当测试外壳收到一个测试激励数据包时,除了将其通过图3中设计电路将其传入待测芯核,它将同时将其传送给下一个待测芯核(可通过将数据包控制字段中地址位加1实现)。这样的传送将重复至片上最后一个芯核收到此测试激励数据包为止。通过这样的测试激励广播机制,ATE只需通过IO端口为第一个芯核提供测试数据,其他芯核的测试激励数据都可以通过第一个芯核在片上数据通路上广播得到。
另一方面,当测试外壳收集了待测芯核内部端口传出的测试响应准备将其以数据包形式传出片外时,测试外壳将此数据包先传至下一芯核,并将此响应数据包逐位与下一芯核所产生的测试响应数据相比较(通过异或门实现)。由于测试激励与测试响应从第一个芯核传至下一芯核所需时间相同,可以保证两个芯核的响应数据可以逐位对齐,若比较两个芯核有不同的测试响应数据则证明其中一个芯核产生了错误数据,将此结果传出片外。与此同时,下一芯核也将其测试响应传至在下一个芯核再次比较,最后一个芯核则将其测试响应传出片外,通过片外测试响应检查验证片上测试响应比较结果。这样可以保证中间芯核的测试响应可以与其他两个芯核相比较,可以提高片上测试响应比较结果的准确性及效率。
由于在片上多核处理器中包含有多个待测芯核,为了合理安排各个测试芯核测试数据在片上数据通路中的传输,降低总的测试时间,需要对个待测芯核的测试数据包传输进行测试调度。
首先,使用针对带宽设计的测试外壳的待测芯核测试数据包进行调度可采取两种方案,一是不改变测试数据在测试外壳与待测芯核间的移入移出时钟频率,在每个待测芯核与测试外壳间数据传输周期的间隔中交错进行其他芯核测试数据的传输,这要求交错传输的芯核测试外壳有着相同的测试外壳与待测芯核间数据传输周期;另一种是将测试外壳与待测芯核间的移入移出时钟频率提高N/g倍,从而使片上的每个待测芯核与测试外壳间数据传输周期相等,但这可能带来测试功耗的急剧增长,因为芯片功耗与工作频率称正比,理论上频率提高N/g倍,测试功耗也会增长N/g倍,需要在一定的功耗限制条件下进行。
另外,当片上所有的芯核同时依照本文所提的测试方案进行测试时,片上的功耗可能会超过设计限定制,为了避免这一状况出现,片上芯核的测试在功耗限制下分组进行。例如,若片上共有8个芯核,测试每个芯核所需的功耗为P,而功耗限制为Pmax,同时进行测试的芯核分组情况将按以下分析确定:
1)若8×P<Pmax,片上所有芯核同时进行测试;否则,
2)若4×P<Pmax,片上芯核分8/4=2组进行测试;否则,
3)若2×P<Pmax,片上芯核分8/2=4组进行测试;否则,
4)若P<Pmax,片上芯核分8/1=8组进行测试。
当应用本发明中的测试方案进行测试时,各个待测芯核的测试数据在片上数据通路中是交错传输的,如图5所示。
首先,ATE通过IO端口为芯核1提供其测试激励数据,待所有测试激励传输完毕后,芯核1进行测试响应捕获,产生测试响应数据,随着下一个测试激励向量移入扫描链,这些测试响应数据也相应移出扫描链。
然后,通过片上数据通路提供的广播机制,芯核1收到的测试激励数据经过一段时间被传到下一个芯核(芯核2),在芯核1产生测试响应后,经过相同的时间,它们也被传送到芯核2进行比较。
同理,这种测试激励和响应的广播也在芯核2和芯核3之间进行。
如图5所示,针对每个待测芯核,它的测试由数据传输和捕获两个阶段构成,其中数据传输又由激励输入和响应输出两个阶段组成,它们分别处于捕获阶段之前和之后。另外,在每个芯核响应被移出其扫描链的同时,下一个测试激励可以被同时移入其扫描链。从图中我们可以看出各个待测芯核之间的数据传输周期有固定的周期差供片上数据通路传输测试数据用。对每个芯核来说,由于采用了充分利用片上数据带宽的新型测试外壳,测试激励/响应的传输之间也存在周期差供待测芯核与测试外壳之间传输测试数据。
通过图5的数据波形图还可以发现本发明测试方案的一个额外好处:各个芯核的捕获一拍是交错出现的,而研究与实践证明各芯核测试阶段的峰值功耗通常在捕获一拍出现,这种交错的捕获状态可以避免片上多个芯核同时出现峰值功耗,造成测试数据错误,甚至影响芯片长期可靠性。
本发明,针对片上多核处理器的可测试性设计方案具有对数据通路带宽利用率高的特点,减少了片上数据通路中传输数据包的数目,提高了片上部件间的测试并行性,降低了测试数据量和对ATE存储能力、通信速度及IO通信速度的要求,配合适宜的测试调度算法可以在严格的功耗限制条件下达到缩短测试时间,降低测试成本和开销的目的。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种片上多核处理器的测试电路,包括:测试外壳寄存器链、待测芯核连接电路、片上数据通路连接电路以及控制逻辑电路;所述待测芯核连接电路是连接在所述测试外壳寄存器链与待测芯核之间的互连电路,所述片上数据通路连接电路是连接在所述测试外壳寄存器链与片上数据通路之间的互连电路;所述控制逻辑电路控制所述待测芯核连接电路和片上数据通路连接电路中的数据流向。
2.根据权利要求1所述的片上多核处理器的测试电路,其特征在于,一条所述测试外壳寄存器链由多个寄存器串连构成,串连的寄存器的数目N与所述片上数据通路的数据位的带宽w相等。
3.根据权利要求2所述的片上多核处理器的测试电路,其特征在于,所述控制逻辑电路是通过片上数据通路,在多个待测芯核之间实现测试激励和测试响应的广播机制,并对待测芯核的测试响应进行比较的控制逻辑电路。
4.根据权利要求1所述的片上多核处理器的测试电路,其特征在于,所述片上多核处理器的每个待测芯核均有一条与之对应的测试外壳寄存器链。
5.一种片上多核处理器的可测试性设计方法,包括如下步骤:
A、确定单条测试外壳寄存器链的长度;
B、计算传输待测芯核测试数据所需数据包数目的理论下限值;
C、根据测试外壳寄存器链的长度和传输待测芯核测试数据所需数据包数目的理论下限值,确定待测扫描链的数目,再将待测芯核内部扫描链和基本输入输出端口合并到所述待测扫描链中;
D、建立测试外壳寄存器链与所述待测扫描链的对应关系,连接测试外壳寄存器链与片上数据通路以及测试外壳寄存器链与待测芯核之间的互连电路;
E、建立控制逻辑电路,该控制逻辑电路控制测试激励和测试响应通过片上数据通路在各待测芯核之间进行广播,并对待测芯核的测试响应进行比较。
6.根据权利要求5所述的片上多核处理器的可测试性设计方法,其特征在于,所述步骤A中所述确定测试外壳寄存器链的长度的方法是:将片上数据通路数据位的数目确定为每条测试外壳寄存器链的长度。
8.根据权利要求7所述的片上多核处理器的可测试性设计方法,其特征在于,所述步骤C中,确定所述待测扫描链的数目g为每条测试外壳寄存器链长度N的因子,能够被N整除;所述待测扫描链数目g的取值范围为{2n,2n-1,2n-2,...2,1}。
9.根据权利要求8所述的片上多核处理器的可测试性设计方法,其特征在于,所述步骤D中,对所述测试外壳寄存器链的寄存器进行分组,各寄存器分组与各待测扫描链一一对应。
10.根据权利要求5所述的片上多核处理器的可测试性设计方法,其特征在于,所述步骤E中,所述测试激励通过数据包的形式输入,所述控制逻辑电路根据数据包中的控制位将测试激励数据在各待测芯核之间进行广播;所述对测试响应进行比较是由异或门实现,比较结果通过数据包的形式输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710304267XA CN100568008C (zh) | 2007-12-26 | 2007-12-26 | 一种片上多核处理器的测试电路及其可测试性设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200710304267XA CN100568008C (zh) | 2007-12-26 | 2007-12-26 | 一种片上多核处理器的测试电路及其可测试性设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101183140A CN101183140A (zh) | 2008-05-21 |
CN100568008C true CN100568008C (zh) | 2009-12-09 |
Family
ID=39448479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200710304267XA Active CN100568008C (zh) | 2007-12-26 | 2007-12-26 | 一种片上多核处理器的测试电路及其可测试性设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100568008C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101738580B (zh) * | 2008-11-19 | 2012-08-29 | 中国科学院微电子研究所 | 一种面向同构多核处理器的可测性设计方法 |
CN102156258B (zh) * | 2011-03-10 | 2013-04-03 | 哈尔滨工业大学 | SoC测试中的基于平均值余量的测试封装扫描链平衡方法 |
CN102305911B (zh) * | 2011-06-16 | 2013-05-01 | 哈尔滨工业大学 | 利用差值进行二次分配的扫描链平衡方法 |
CN103645435B (zh) * | 2013-12-13 | 2016-03-23 | 电子科技大学 | 多信号模型可编程逻辑器件的软件模块可测性设计方法 |
CN105468797B (zh) | 2014-08-22 | 2019-10-22 | 深圳市中兴微电子技术有限公司 | 一种信息处理方法及装置 |
CN105629148B (zh) | 2014-10-28 | 2018-08-28 | 国际商业机器公司 | 测试电路中的多个模块的测试方法和测试设备 |
CN106776194B (zh) * | 2016-12-08 | 2018-12-28 | 上海东软载波微电子有限公司 | 寄存器位带的测试方法及系统 |
CN106526461B (zh) * | 2016-12-30 | 2018-12-28 | 盛科网络(苏州)有限公司 | 针对流量控制的嵌入式实时反压验证的方法 |
CN110109784B (zh) * | 2018-02-01 | 2024-02-02 | 视联动力信息技术股份有限公司 | 多核系统的调试方法和终端设备 |
CN110109783B (zh) * | 2018-02-01 | 2024-02-02 | 视联动力信息技术股份有限公司 | 多核系统的调试方法和终端设备 |
CN109188257B (zh) * | 2018-10-17 | 2021-08-27 | 桂林电子科技大学 | 一种嵌入式核测试封装扫描链设计方法 |
CN109522679B (zh) * | 2018-12-28 | 2023-06-02 | 中国人民解放军国防科技大学 | 基于分类处理的功能激励向量生成方法及系统 |
CN111736059B (zh) * | 2020-07-02 | 2022-08-26 | 深圳比特微电子科技有限公司 | 芯片测试方法、测试设备和测试系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006729A1 (en) * | 2002-07-03 | 2004-01-08 | Pendurkar Rajesh Y. | Hierarchical test methodology for multi-core chips |
US20050240850A1 (en) * | 2004-04-22 | 2005-10-27 | Akihiko Ohwada | Multicore processor test method |
CN1748153A (zh) * | 2003-02-12 | 2006-03-15 | 夏普株式会社 | 边界扫描控制器、半导体装置、半导体装置的半导体电路芯片识别方法及其控制方法 |
WO2006102325A1 (en) * | 2005-03-22 | 2006-09-28 | Advanced Micro Devices, Inc. | Simultaneous core testing in multi-core integrated circuits |
US20070022342A1 (en) * | 2005-06-30 | 2007-01-25 | Silvio Picano | Parallel test mode for multi-core processors |
-
2007
- 2007-12-26 CN CNB200710304267XA patent/CN100568008C/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006729A1 (en) * | 2002-07-03 | 2004-01-08 | Pendurkar Rajesh Y. | Hierarchical test methodology for multi-core chips |
CN1748153A (zh) * | 2003-02-12 | 2006-03-15 | 夏普株式会社 | 边界扫描控制器、半导体装置、半导体装置的半导体电路芯片识别方法及其控制方法 |
US20050240850A1 (en) * | 2004-04-22 | 2005-10-27 | Akihiko Ohwada | Multicore processor test method |
WO2006102325A1 (en) * | 2005-03-22 | 2006-09-28 | Advanced Micro Devices, Inc. | Simultaneous core testing in multi-core integrated circuits |
US20070022342A1 (en) * | 2005-06-30 | 2007-01-25 | Silvio Picano | Parallel test mode for multi-core processors |
Non-Patent Citations (3)
Title |
---|
SOC可测试性设计与测试技术. 胡瑜等.计算机研究与发展,第42卷第1期. 2005 * |
SoC测试中低成本、低功耗的芯核包装方法. 王伟等.计算机辅助设计与图形学学报,第18卷第9期. 2006 * |
SoC设计中的扫描测试技术. 徐勇军等.计算机辅助设计与图形学学报,第17卷第12期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN101183140A (zh) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568008C (zh) | 一种片上多核处理器的测试电路及其可测试性设计方法 | |
TWI719788B (zh) | 可重組態資料處理器的虛擬化 | |
CN101404645B (zh) | 多端口的以太网接口及其实现方法和物理层接口 | |
CN105512179B (zh) | 硬件实现的数据排序装置、方法及数据处理芯片 | |
CN104933008B (zh) | 可重构系统和可重构阵列结构及其应用 | |
US20060117126A1 (en) | Processing unit for efficiently determining a packet's destination in a packet-switched network | |
CN100495989C (zh) | 一种测试外壳电路及其设计方法 | |
Liu et al. | Interconnect intellectual property for Network-on-Chip (NoC) | |
CN101937409A (zh) | 分时复用存储器直接访问控制器 | |
Du et al. | PVHArray: An energy-efficient reconfigurable cryptographic logic array with intelligent mapping | |
CN102214158B (zh) | 一种全互联路由结构动态可重构处理器 | |
CN102063408A (zh) | 一种多核处理器片内数据总线 | |
CN109891843A (zh) | 用于可编程逻辑器件的时钟恢复和数据恢复 | |
CN102567279A (zh) | 一种动态可重构阵列时序配置信息的生成方法 | |
CN101783688A (zh) | 一种64位并行多模式crc码生成电路的设计方法 | |
CN109190413A (zh) | 一种基于fpga和md5加密的串行通信系统 | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN106155979B (zh) | 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法 | |
Patil et al. | Design of fpga soft core based wsn node using customization paradigm | |
Li et al. | An efficient wrapper scan chain configuration method for network-on-chip testing | |
CN114372012B (zh) | 一种通用、可配置的高能效池化计算单行输出系统和方法 | |
CN207571741U (zh) | 时钟树单元、时钟网络结构及fpga时钟结构 | |
CN203706196U (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN107977343A (zh) | 一种数据转换系统 | |
CN103314362B (zh) | 用于数据流的基于向量的匹配电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20080521 Assignee: Zhongke Jianxin (Beijing) Technology Co.,Ltd. Assignor: Institute of Computing Technology, Chinese Academy of Sciences Contract record no.: X2022990000752 Denomination of invention: A test circuit for multi-core processor on chip and its design for testability Granted publication date: 20091209 License type: Exclusive License Record date: 20221009 |