CN103364711B - 温度约束下基于软核的三维SoC测试调度方法 - Google Patents

温度约束下基于软核的三维SoC测试调度方法 Download PDF

Info

Publication number
CN103364711B
CN103364711B CN201310329417.8A CN201310329417A CN103364711B CN 103364711 B CN103364711 B CN 103364711B CN 201310329417 A CN201310329417 A CN 201310329417A CN 103364711 B CN103364711 B CN 103364711B
Authority
CN
China
Prior art keywords
kernel
forall
test
numbered
represent
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
Application number
CN201310329417.8A
Other languages
English (en)
Other versions
CN103364711A (zh
Inventor
俞洋
刘旺
彭喜元
王帅
虞娇兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201310329417.8A priority Critical patent/CN103364711B/zh
Publication of CN103364711A publication Critical patent/CN103364711A/zh
Application granted granted Critical
Publication of CN103364711B publication Critical patent/CN103364711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

温度约束下基于软核的三维SoC测试调度方法,属于三维SoC测试调度技术领域。本发明解决了在三维SoC中同时包含粗粒度、细粒度IP核的情况下,无法对三维SoC的测试时间进行优化的问题。具体过程为:基于软核的三维SoC包括粗粒度IP核和细粒度IP核,建立三维SoC测试调度的数学模型其中xij表示一个二进制变量,若IP核i和IP核j并行测试,则有xij=1,否则xij=0,tj为IP核j的测试时间,|M|表示一个SoC中的IP核总数,表示并行测试的各IP核测试时间的最大值,yi表示一个二进制变量,设IP核的标号j<i,若存在任意的IP核j与IP核i并行测试,则yi=0;否则yi=1;引入变量将数学模型线性化,得到根据约束条件并应用ILP工具求T的最小值。本发明适用于三维SoC测试调度。

Description

温度约束下基于软核的三维SoC测试调度方法
技术领域
本发明属于三维SoC测试调度技术领域。
背景技术
近年来,集成电路规模的增大和特征尺寸的减小为芯片的集成提出了更高的要求。三维SoC集成一般应用IP(IntellectualProperty)复用思想,在传统二维SoC的基础之上,用穿透硅通孔(Through-SiliconVia,TSV)传输层间信号,通过多器件层间的绑定完成三维SoC的集成。
为保证三维SoC的可靠性,需要对其进行可测性设计。可测性设计分为三个部分:测试访问机制(TestAccessMechanism,TAM)、测试封装和测试调度。区别于二维SoC测试,三维SoC由于结构和集成技术的特殊性,其测试需要考虑穿越多层的IP核;多层的集成造成的高功耗和散热问题,还容易造成芯片局部温度过高,损坏芯片性能。因此,可测性设计还要在考虑功耗和温度约束。SoC测试最终要落实到每个IP核的测试,还要用一个数学算法确定先测哪一层,后测哪一层,先测哪一个IP核,后测哪一个IP核,这就是三维SoC的测试调度。三维SoC测试调度是合理规划IP核测试顺序,减小SoC测试的时间成本,保证测试高效性的重要方法之一。
目前,国内外学者针对三维IP核的测试调度问题开展了一系列的研究工作。在这些研究中,人们分别考虑了不同的限制条件,使用不同的优化方法,由于绑定前的测试调度可以应用经典的二维测试调度方法实现,所以现有技术大多考虑的是绑定后测试的时间最短,有些在将绑定前测试和绑定后测试综合考虑,拟从全局的角度得到二者测试时间之和的最小值。有些认为D触发器的数量和测试时间是测试过程中的一对重要矛盾,因此对以上两个因素乘权相加,计算出一个Cost值,优化不同情况下Cost值。
三维IP核分为粗粒度和细粒度两种情况。所谓粗粒度,是指IP核中所有资源全部位于三维SoC中某一个器件层,与二维IP核很相似,只是其输入、输出和控制信号可能来自其他器件层。而细粒度IP核则对应IP核资源横跨多层的情况,IP核中的扫描链也可以跨越不同的器件层,是真正意义上的三维IP核。现有研究中,不同粒度划分的IP核在测试结构设计和测试调度上均有所差异,现有技术是仅含有粗粒度、或者仅含细粒度IP核的情况下对三维SoC测试调度进行研究。
发明内容
本发明为了解决在三维SoC中同时包含粗粒度、细粒度IP核的情况下,无法对三维SoC的测试时间进行优化的问题,提出了温度约束下基于软核的三维SoC测试调度方法。
温度约束下基于软核的三维SoC测试调度方法,所述方法的具体过程为:
步骤一:基于软核的三维SoC包括粗粒度IP核和细粒度IP核,先将细粒度IP核视为在各层上的多个部分,每层上的部分相当于一个粗粒度IP核,将所有粗粒度IP核和细粒度IP核在各层上的部分统一进行编号,建立三维SoC测试调度的数学模型
T = &Sigma; i = 1 | M | y i &CenterDot; ( max j = i | M | { x i j &CenterDot; t j ( w j ) } ) ,
其中|M|表示一个SoC中的IP核总数,xij表示一个二进制变量,当编号为i的IP核和编号为j的IP核并行测试时,则xij取值为1,否则xij取值为0,i和j均为1到|M|之间的任意正整数,tj为编号为j的IP核的测试时间,wj表示编号为j的IP核的测试端口的TAM带宽,tj(wj)表示编号为j的IP核的测试时间,表示并行测试的各IP核测试时间的最大值,
yi表示一个二进制变量,存在编号为i的IP核,若存在任意编号为j的IP核与编号为i的IP核并行测试,其中j<i,与IP核i并行测试,则yi的取值为0;否则yi的取值为1;
步骤二:引入变量
c i = max j = i | M | { x ij &CenterDot; t j ( w j ) } 和ui=yi·ci
将步骤一中的数学模型线性化,得到其中ci表示并行测试的编号为i的IP核测试时间的最大值,ui表示引入变量yi后的编号为i的IP核测试时间的最大值,
根据约束条件求得整个SoC的测试时间T的最小值,即获得IP核的测试顺序,然后根据该测试顺序依次调度待测的IP核实现SoC测试调度。
本发明考虑不同粒度IP核的具体特点,研究一个三维SoC中同时包含粗粒度、细粒度IP核的情况,提出三维SoC测试调度方法。
根据各IP核的规模、排布信息,在温度约束条件下,通过建立和求解数学模型确定三维SoC中各IP核的测试顺序,用ILP工具计算得出调度结果。ITC‘02标准集上的实验表明,在约束条件的限制下,该测试调度方法合理安排IP核的测试顺序,从宏观角度优化SoC的测试时间。
附图说明
图1为具体实施方式一所述的温度约束下基于软核的三维SoC测试调度方法的流程图;
图2为三维SoC中同时包含粗粒度和细粒度IP核的结构示意图;
图3为图2中的IP2的温度按器件层分为IP2A和IP2B两部分的结构示意图;
图4为实验结果图。
具体实施方式
具体实施方式一:参见图1说明本实施方式,本实施方式所述的温度约束下基于软核的三维SoC测试调度方法,所述方法的具体过程为:
步骤一:基于软核的三维SoC包括粗粒度IP核和细粒度IP核,先将细粒度IP核视为在各层上的多个部分,每层上的部分相当于一个粗粒度IP核,将所有粗粒度IP核和细粒度IP核在各层上的部分统一进行编号,建立三维SoC测试调度的数学模型
T = &Sigma; i = 1 | M | y i &CenterDot; ( max j = i | M | { x i j &CenterDot; t j ( w j ) } ) ,
其中|M|表示一个SoC中的IP核总数,xij表示一个二进制变量,当编号为i的IP核和编号为j的IP核并行测试时,则xij取值为1,否则xij取值为0,i和j均为1到|M|之间的任意正整数,tj为编号为j的IP核的测试时间,wj表示编号为j的IP核的测试端口的TAM带宽,tj(wj)表示编号为j的IP核的测试时间,表示并行测试的各IP核测试时间的最大值,
yi表示一个二进制变量,存在编号为i的IP核,若存在任意编号为j的IP核与编号为i的IP核并行测试,其中j<i,与IP核i并行测试,则yi的取值为0;否则yi的取值为1;
步骤二:引入变量
c i = max j = i | M | { x i j &CenterDot; t j ( w j ) } 和ui=yi·ci
将步骤一中的数学模型线性化,得到其中ci表示并行测试的编号为i的IP核测试时间的最大值,ui表示引入变量yi后的编号为i的IP核测试时间的最大值,
根据约束条件求得整个SoC的测试时间T的最小值,即获得IP核的测试顺序,然后根据该测试顺序依次调度待测的IP核实现SoC测试调度。
本实施方式中yi的引入避免了求和中IP核测试时间的重复叠加。由于ILP工具仅能应用于线性情况下,所以引入变量ci和ui将模型线性化。
具体实施方式二:本实施方式是对具体实施方式一所述的温度约束下基于软核的三维SoC测试调度方法的进一步限定,所述步骤二中的约束条件包括:
c i &GreaterEqual; x i j &CenterDot; t j &ForAll; i , j = 1 , 2 , ... , | M | ,
u i - c i &le; 0 &ForAll; i ,
u i &GreaterEqual; 0 &ForAll; i ,
u i - t m a x &CenterDot; y i &le; 0 &ForAll; i ,
c i - u i + t m a x &CenterDot; y i &le; t m a x &ForAll; i ,
1 - x i j &GreaterEqual; x i k - x j k &GreaterEqual; x i j - 1 &ForAll; i , j , k ,
y i &GreaterEqual; 1 1 - i &Sigma; j = 1 i - 1 ( x i j - 1 ) - C &ForAll; i > 1 ,
c i &GreaterEqual; v i j &ForAll; i , j = 1 , 2 , ... , | M | ,
v i j &GreaterEqual; 0 &ForAll; i , j ,
v i j - t m a x &CenterDot; x i j &le; 0 &ForAll; i , j = 1 , 2 , ... , | M | ,
- &Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) + v i j &le; 0 &ForAll; i , j ,
&Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) &le; t m a x &ForAll; j ,
&Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) - v i j + t m a x &CenterDot; x i j &le; t m a x &ForAll; i , j ,
其中vij表示编号为j的IP核与编号为i的IP核并行测试的测试时间,tmax表示所有IP核的测试时间最大值,|NW|表示对于特定的IP核,可供使用的测试带宽wi的最大值,gjn表示一个二进制变量,且 g j n = 1 , w j = n , 0 , w j &NotEqual; n 其中n表示某个IP核的测试带宽,在wj=n时,记tj(wj)=tj(n)=tjn,tmax表示所有IP核的测试时间最大值,xik表示一个二进制变量,当编号为i的IP核和编号为k的IP核并行测试时,则xik取值为1,否则xik取值为0,i和k均为1到|M|之间的任意正整数,xjk表示一个二进制变量,当编号为j的IP核和编号为k的IP核并行测试时,则xjk取值为1,否则xjk取值为0,j和k均为1到|M|之间的任意正整数,C为接近1但比1小的常数,且
具体实施方式三:本实施方式是对具体实施方式二所述的温度约束下基于软核的三维SoC测试调度方法的进一步限定,所述约束条件还包括
z i j k &GreaterEqual; 0 &ForAll; i , j , k
z i j k - t m a x &CenterDot; x j k &le; 0 &ForAll; i , j , k
z i j k - w i &le; 0 &ForAll; i , j , k
w i - z i j k + t m a x &CenterDot; x j k &le; t m a x &ForAll; i , j , k
&Sigma; j = 1 | M | z j i j &le; W m a x &ForAll; i
其中zijk=wi*xjk,zjij=wj*xij,xjk表示一个二进制变量,当编号为j的IP核和编号为k的IP核并行测试时,则xjk取值为1,否则xjk取值为0,i和j均为1到|M|之间的任意正整数,Wmax表示可供使用的TAM总带宽。
因为通常情况下wi远远小于tmax的取值,本实施方式所述的约束条件是在wi远远小于tmax的取值的情况下得到的。
具体实施方式四:本实施方式是对具体实施方式三所述的温度约束下基于软核的三维SoC测试调度方法的进一步限定,所述约束条件还包括
&Sigma; n = 1 | N W | n &CenterDot; g j n - w j = 0 &ForAll; j .
本实施方式需要声明的是,由gjn的定义可知,对于每一个IP核,其wj的每一个取值对应一个gjn的值,但是在一个确定的解中,IP核测试带宽的取值为一个固定的值,也就是说对于同一个IP核j,gj1,gj2,……,gjn中只有一个的取值为1,其余全部为0,即:
&Sigma; n = 1 | N W | g j n = 1 &ForAll; j
为了满足在wj=n时,gjn的取值为1,其余时候为0,所以存在约束条件:
&Sigma; n = 1 | N W | n &CenterDot; g j n - w j = 0 &ForAll; j .
具体实施方式五:本实施方式是对具体实施方式四所述的温度约束下基于软核的三维SoC测试调度方法的进一步限定,其特征在于,所述约束条件还包括
q i m &CenterDot; T i m &le; T m a x &ForAll; i , m = 1 , 2 , 3 , ... , 2 | M | - 1 ,
即芯片的温度不能超过系统允许的温度上限Tmax,其中Tim=T(h1,h2,…hi,…h|M|),T(h1,h2,…hi,…h|M|)表示温度值,为一个拥有|M|个自变量的函数,hi为一个二进制变量,有qim=q(h1,h2,…hi,…h|M|),存在hi=1时, &Sigma; m = 1 2 | M | - 1 q i m = 1 &ForAll; i .
温度随着测试IP核数量和规模的增加是非线性的。对于一个含有|M|个IP核的SoC,其中每一个IP核测试、不测试的情况下其温度情况均有差异,共计2|M|种不同的情况。他们虽然存在一一对应关系,却无法用一个确定的线性方程来描述。为实现上述非线性关系的线性描述,引入二进制变量hi
每种情况均有一个温度值T(h1,h2,…hi,…h|M|)与之对应。这里的温度值相当于一个拥有|M|个自变量的函数。而在实际情况下,只要这|M|个自变量其中一个hi确定,其他的(|M|-1)个hi的搭配是唯一的,即实际可用的T并非2|M|个,而只有|M|个。为实现降维运算,定义变量r:
r = &Sigma; i = 1 2 | M | - 1 2 | M | - 1 &CenterDot; h i &ForAll; i
在hi=1时,将r可能的(2|M|-1)种取值写成集合Ri={rim|m=1,2,…,2|M|-1}的形式。按照以上对应关系,可将T(h1,h2,…hi,…h|M|)记为Tim。与T(h1,h2,…hi,…h|M|)对应的另一个二进制变量是q(h1,h2,…hi,…h|M|),同理记为:
一个确定的hi=1时,IP核的测试调度方式唯一,即其余的hi仅有一种组合, &Sigma; m = 1 2 | M | - 1 q i m = 1 &ForAll; i ,
为满足温度约束条件,保证任何情况下,芯片的温度都不高于温度上限。
q i m &CenterDot; T i m &le; T m a x &ForAll; i , m = 1 , 2 , 3 , ... , 2 | M | - 1 ,
同理,在最终得到的测试调度方案中,将某一个确定的IP核i测试时,xij对应的|M|个变量取值唯一,为减小计算的维数,引入xi变量。
x i = &Sigma; j = 1 2 | M | - 1 2 | M | - j &CenterDot; x i j &ForAll; i ,
qim的另一种表示为:
q i m = 1 , r i m = x i 0 , r i m &NotEqual; x i ,
意为将前面优化过程中得到的每个xi与rim匹配。由于xii=1,对与IP核i同时测试的IP核j也有xij=1,经过加权计算后的xi取值与rim很好的吻合。若二者相等,则存在这种温度情形作为限制条件。由于对于确定的i,只有一个qim为1,其余均为0,故上述对qim的定义也可以写成如下形式的约束条件
&Sigma; m = 1 2 | M | - 1 r i m q i m = x i &ForAll; i .
具体实施方式六:本实施方式是对具体实施方式一所述的温度约束下基于软核的三维SoC测试调度方法的进一步限定,所述每个细粒度IP核位于不同层面上的部分进行并行测试,即任意细粒度IP核按层次拆分成N个部分,分别记为IPi1,IPi2,……,IPiN,则有
x I J = 1 , &ForAll; I , J &Element; { i 1 , i 2 , ... i N } ,
其中xIJ表示一个二进制变量,当编号为I的IP核和编号为J的IP核并行测试时,则xIJ取值为1,否则xIJ取值为0。
本实施方式是用以保证任意细粒度IP核的N个部分并行测试。
本发明中的IP核分为粗粒度IP核和细粒度IP核,含有粗粒度IP核的三维SoC的测试调度与二维SoC的调度相似,只是温度和功耗约束相对较严格;当三维SoC中含有细粒度IP核时,若同一个IP核处于不同器件层的资源分别测试,则需要对每一层上的电路重新生成测试向量,为了避免重复的测试生成,需要保证同一IP核在不同层的资源同时测试。
在测试调度中,可以先将细粒度IP核视为在各层上的多个部分,对各部分分别编号,每层上的部分相当于一个粗粒度IP核,再在数学模型中相应的增加各部分同时测试的约束条件即可。
本发明建立三维SoC测试调度的数学模型,用不同的变量表示各IP核串并行测试关系、测试时间、TAM带宽等参数,将功耗和温度约束以边界条件的形式融入模型,求解数学模型的过程,即为寻找满足约束条件的中间变量,使得测试时间取最小值,可借助ILP工具完成。
图2所示三维SoC中同时包含粗粒度和细粒度IP核。其中,IP核2为细粒度IP核,其资源在两层均有分布。忽略TSV上的温度,IP核2的温度也按器件层分为两个部分,每层上的温度与资源成正相关。温度仿真过程可将IP2视为图3所示IP2A和IP2B两部分,二者并行测试。
测试调度中的约束条件除了TAM带宽以外,常见的还有功耗和温度约束。功耗与资源成线性关系,而温度与资源成非线性关系,相对复杂。此外,硬核和软核在应用于测试调度时也有区别,硬核的TAM带宽已经确定,对应唯一的测试时间,而软核的TAM可变,每个TAM对应的测试时间差异较大,这也增加了对软核的测试调度难度。本发明介绍温度约束下基于软核的三维SoC测试调度算法。
下面介绍数学模型的约束条件。用tmax表示ti的最大值,与上述两个变量相关的约束条件有:
c i &GreaterEqual; x i j &CenterDot; t j &ForAll; i , j = 1 , 2 , ... , | M |
u i &GreaterEqual; 0 &ForAll; i
u i - t m a x &CenterDot; y i &le; 0 &ForAll; i
u i - c i &le; 0 &ForAll; i
由于0≤yi≤1,可知1-yi≥0。在不等式
t m a x &GreaterEqual; t i &GreaterEqual; max j = i | M | { x i j &CenterDot; t j } = c i &ForAll; i
两边分别乘以1-yi(1-yi≥0),得到
(1-yi)ci≤tmax(1-yi)
ci-ci·yi≤tmax-tmax·yi
最终可简化为:
c i - u i + t m a x &CenterDot; y i &le; t m a x &ForAll; i
这又是一个约束条件。
并行测试的各IP核所占用的测试带宽,即各并行测试IP核的测试端口数量zjij之和不能超过可供使用的TAM总带宽Wmax,即
z i j k &GreaterEqual; 0 &ForAll; i , j , k
z i j k - t m a x &CenterDot; x j k &le; 0 &ForAll; i , j , k
z i j k - w i &le; 0 &ForAll; i , j , k
w i - z i j k + t m a x &CenterDot; x j k &le; t m a x &ForAll; i , j , k
&Sigma; j = 1 | M | z j i j &le; W m a x &ForAll; i
其中zijk=wi*xjk,zjij=wj*xij,xjk表示一个二进制变量,当编号为j的IP核和编号为k的IP核并行测试时,则xjk取值为1,否则xjk取值为0,i和j均为1到|M|之间的任意正整数,Wmax表示可供使用的TAM总带宽。
根据整数yi的物理意义,将yi用公式定义为:
y1=1
y i &GreaterEqual; 1 1 - i &Sigma; j = 1 i - 1 ( x i j - 1 ) - C &ForAll; i > 1
其中C为接近1但比1小的常数。实际应用过程中,原因在证明中具体说明。
本发明用n表示某个IP核的测试带宽,也就是其wi的取值,则每个IP核的测试时间不再为固定的一个值,而是根据n的取值有ti(1),ti(2),……,ti(n)共n个取值。据此,重新定义tmax为:
t max = max n = 1 N W { max i = 1 | M | { t i n } }
其中NW表示对于特定的IP核,可供使用的测试带宽wi的最大值,|M|为SoC中的IP核数,则T应表示为:
T = &Sigma; i = 1 | M | y i &CenterDot; ( max j = i | M | M | { x i j &CenterDot; t j ( w j ) } )
一个IP核i的wi取值与测试时间tin是一一对应关系,而并非线性关系。因此,需引入二进制变量gin将模型线性化。
定义变量vij
v i j = x i j &CenterDot; t j ( w j ) = x i j &CenterDot; &Sigma; n = 1 W j ( g j n &CenterDot; t j n )
在不等式两端同时乘以非负数(1-xij)得到,
&Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) - x i j &CenterDot; &Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) &le; t m a x - x i j &CenterDot; t m a x &ForAll; i , j
即:下面用数学归纳法证明yi的公式化定义。
证明:
要证明以上不等式对于成立,
1)基本情形(i=2时)
三维SoC仅包含两个IP核,IP核的编号最小值为1,不存在任意的编号小于1的IP核j与IP核1并行测试,y1=1,同时已知x11=1,x22=1。若两个IP核串行测试,则x12=0,x21=0,套用公式:
y 2 &GreaterEqual; 1 1 - 2 ( x 21 - 1 ) - C
得到:
y2≥1-C
由于C为接近1但比1小的常数,故(1-C)为大于0且接近0的常数,由此可知二进制变量y2的值只能等于1。这对应于不存在任意的编号小于2的IP核j(这里仅可能是IP核1)与IP核2并行测试,y2=1。故i=2的情况得证。
2)假设i=n时成立
在三维SoC中包含n个IP核时,下式成立。
y1=1
y n &GreaterEqual; 1 1 - n &Sigma; j = 1 n - 1 ( x n j - 1 ) - C
3)i=n+1时的情形
在三维SoC中包含(n+1)个IP核时,
y n + 1 &GreaterEqual; 1 1 - ( n + 1 ) &Sigma; j = 1 n ( x ( n + 1 ) j - 1 ) - C
将yn+1的不等式展开得到:
y n + 1 &GreaterEqual; 1 1 - ( n + 1 ) &lsqb; ( x ( n + 1 ) 1 - 1 ) + ( x ( n + 1 ) 2 - 1 ) + ... + ( x ( n + 1 ) n - 1 ) &rsqb; - C
由于j是从1到n变化的整数,将每一项后的1合并共有n项,即:
y n + 1 &GreaterEqual; 1 - n ( x ( n + 1 ) 1 + x ( n + 1 ) 2 + ... + x ( n + 1 ) n - n ) - C
若(n+1)个IP核串行测试,x(n+1)1,x(n+1)2,……,x(n+1)n的取值均为0,上式可写成:
y n + 1 &GreaterEqual; 1 - n ( - n ) - C = 1 - C
同i=2时,二进制变量y2的值只能等于1,对应于不存在任意的编号小于(n+1)的IP核j与IP核(n+1)并行测试。
若(n+1)个IP核中,后增加的一个IP核与前面n个IP核中的某一个并行测试,则x(n+1)1,x(n+1)2,……,x(n+1)n中某一个的取值为1,其余的取值均为0,则有:
y n + 1 &GreaterEqual; 1 - n ( - ( n - 1 ) ) - C = 1 - n n - C
这时,不等式右侧为一个绝对值无限小的负数,符合yn+1=0的情形,存在某个编号小于(n+1)的IP核j与IP核(n+1)并行测试。
若(n+1)个IP核中,后增加的一个IP核与前面n个IP核中的多个并行测试,则有多个x(n+1)j的取值为1,情况与上述推到类似。应用极限思想,若第(n+1)个IP核与前n个IP核均并行测试,则变量x(n+1)1,x(n+1)2,……,x(n+1)n的取值均为1,且有:
y n + 1 &GreaterEqual; 1 - n ( - ( n - n ) ) - C = - C
由以上公式推导可知,yi不等式右侧的变化范围为区间内的每一个值均为负数,符合yn+1=0的情形,即存在某个IP核j(j<n+1)与IP核(n+1)并行测试。
故上述yi的数学表达式可以很好的作为数学模型的约束条件。
综上所述,温度约束下的基于软核的3DSoC测试调度方法可以表示为:
使用ILP工具求解上述模型即可得到测试调度策略(xij、wi和T的取值)。通过xij的取值确定哪些IP核并行测试。T为使用该测试调度策略下测试整个SoC所用的最少时钟周期数。
温度约束下基于软核的三维SoC调度实验如下:
采用Intel内存64G的HP工作站运行LPSolve求解上述模型,所需温度约束条件是在Linux系统下,将Hotspot-5.0工具运行在栅格模式下,根据电路具体信息仿真得到。
三维SoC的测试及其调度方法的研究在国际上还处在开始阶段,即使是国际主流研究机构也不具备三维SoC测试的实验环境。同时ITC’02测试集没有给出IP核的详细位置信息,国外学者一般将测试集中IP核随机分布到各层形成模拟的三维SoC。本发明采用ITC’02测试集中的f2126进行实验验证。f2126中含有5个不同规模的IP核(IP0-IP4),分别含有0-16条不等的扫描链,50-887个不等的输入输出端口。将f2126随机分配成一个2层的三维SoC,将其中规模较大的IP1分为IP1A和IP1B两个模块。IP0,IP2和IP1B位居三维SoC的下层,IP3,IP4,IP1A位居三维SoC的上层。并将上述IP核和模块重新编号,按IP0、IP2、IP1B、IP1A、IP3、IP4的顺序分别编号为1-6,依次验证温度约束下基于软核的三维SoC测试调度方法。
考虑温度约束下仅含软核的三维SoC的测试调度,由于每个软核能够提供的测试端口数量是固定的,在验证实验中,将每个IP核的测试带宽均设为4。表中第2列TAM指的是提供给整个三维SoC的TAM带宽,即各并行测试的IP核的测试带宽之和的上限,第4列“调度策略”一列中“||”表示由其连接的若干个IP核并行测试,有逗号隔开的几组IP核之间串行测试,测试时间一列中填写了测试所需的时钟周期数。
该测试调度算法有两个约束,分别为TAM带宽和测试温度,将温度约束为76摄氏度和70摄氏度的实验结果分别汇总成表a)和表b)。其中,76摄氏度作为温度约束相对较松,就本实验中的电路规模和层次分布情况来看,可认为是无温度约束,
表a)
表b)
将测试时间汇总入图4。在TAM小于11时,有无温度约束得到的测试时间完全相同,此时三维SoC的TAM数量是限制测试时间的主要因素。在测试带宽较小时,无法容纳太多的IP核并行测试,因此温度没有超过所允许的限制值。而TAM大于12以后,并行测试IP核数量的增加使得芯片的温度成为必须考虑的因素之一,尤其是在多层分布的三维SoC中。此时,芯片测试过程中所能允许的温度上限成为限制芯片测试速率的瓶颈。可以推知,若将温度上限进一步降低,这一瓶颈现象会发生的更早,即在TAM为10或11时,温度约束已经导致了两种情况下测试时间的差异。

Claims (6)

1.温度约束下基于软核的三维SoC测试调度方法,其特征在于,所述方法的具体过程为:
步骤一:基于软核的三维SoC包括粗粒度IP核和细粒度IP核,先将细粒度IP核视为在各层上的多个部分,每层上的部分相当于一个粗粒度IP核,将所有粗粒度IP核和细粒度IP核在各层上的部分统一进行编号,建立三维SoC测试调度的数学模型
T = &Sigma; i = 1 | M | y i &CenterDot; ( max j = i | M | { x i j &CenterDot; t j ( w j ) } ) ,
其中|M|表示一个SoC中的IP核总数,xij表示一个二进制变量,当编号为i的IP核和编号为j的IP核并行测试时,则xij取值为1,否则xij取值为0,i和j均为1到|M|之间的任意正整数,tj为编号为j的IP核的测试时间,wj表示编号为j的IP核的测试端口的TAM带宽,tj(wj)表示编号为j的IP核的测试时间,表示并行测试的各IP核测试时间的最大值,
yi表示一个二进制变量,存在编号为i的IP核,若存在任意编号为j的IP核与编号为i的IP核并行测试,其中j<i,与IP核i并行测试,则yi的取值为0;不与IP核i并行测试,yi的取值为1;
步骤二:引入变量
c i = max j = i | M | { x i j &CenterDot; t j ( w j ) } 和ui=yi·ci
将步骤一中的数学模型线性化,得到其中ci表示并行测试的编号为i的IP核测试时间的最大值,ui表示引入变量yi后的编号为i的IP核测试时间的最大值,
根据约束条件求得整个SoC的测试时间T的最小值,即获得IP核的测试顺序,然后根据该测试顺序依次调度待测的IP核实现SoC测试调度。
2.根据权利要求1所述的温度约束下基于软核的三维SoC测试调度方法,其特征在于,所述步骤二中的约束条件包括:
c i &GreaterEqual; x i j &CenterDot; t j , &ForAll; i , j = 1 , 2 , ... , | M | ,
u i - c i &le; 0 , &ForAll; i ,
u i &GreaterEqual; 0 , &ForAll; i ,
u i - t m a x &CenterDot; y i &le; 0 , &ForAll; i ,
c i - u i + t m a x &CenterDot; y i &le; t m a x , &ForAll; i ,
1 - x i j &GreaterEqual; x i k - x j k &GreaterEqual; x i j - 1 , &ForAll; i , j , k ,
y i &GreaterEqual; 1 1 - i &Sigma; j = 1 i - 1 ( x i j - 1 ) - C , &ForAll; i > 1 ,
c i &GreaterEqual; v i j , &ForAll; i , j = 1 , 2 , ... , | M | ,
v i j &GreaterEqual; 0 , &ForAll; i , j ,
v i j - t m a x &CenterDot; x i j &le; 0 , &ForAll; i , j = 1 , 2 , ... , | M | ,
- &Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) + v i j &le; 0 , &ForAll; i , j ,
&Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) &le; t m a x , &ForAll; j ,
&Sigma; n = 1 | N W | ( g j n &CenterDot; t j ( n ) ) - v i j + t m a x &CenterDot; x i j &le; t m a x , &ForAll; i , j ,
其中vij表示编号为j的IP核与编号为i的IP核并行测试的测试时间,tmax表示所有IP核的测试时间最大值,|NW|表示对于特定的IP核,可供使用的测试带宽wi的最大值,gjn表示一个二进制变量,且 g j n = { 1 , w j = n 0 , w j &NotEqual; n , 其中n表示某个IP核的测试带宽,在wj=n时,记tj(wj)=tj(n)=tjn,tmax表示所有IP核的测试时间最大值,xik表示一个二进制变量,当编号为i的IP核和编号为k的IP核并行测试时,则xik取值为1,否则xik取值为0,i和k均为1到|M|之间的任意正整数,xjk表示一个二进制变量,当编号为j的IP核和编号为k的IP核并行测试时,则xjk取值为1,否则xjk取值为0,j和k均为1到|M|之间的任意正整数,C为接近1但比1小的常数,且
3.根据权利要求2所述的温度约束下基于软核的三维SoC测试调度方法,其特征在于,所述约束条件还包括
z i j k &GreaterEqual; 0 , &ForAll; i , j , k
z i j k - t m a x &CenterDot; x j k &le; 0 , &ForAll; i , j , k
z i j k - w i &le; 0 , &ForAll; i , j , k
w i - z i j k + t m a x &CenterDot; x j k &le; t m a x , &ForAll; i , j , k
&Sigma; j = 1 | M | z j i j &le; W m a x , &ForAll; i
其中zijk=wi*xjk,zjij=wj*xij,xjk表示一个二进制变量,当编号为j的IP核和编号为k的IP核并行测试时,则xjk取值为1,否则xjk取值为0,i和j均为1到|M|之间的任意正整数,Wmax表示可供使用的TAM总带宽。
4.根据权利要求3所述的温度约束下基于软核的三维SoC测试调度方法,其特征在于,所述约束条件还包括
&Sigma; n = 1 | N W | n &CenterDot; g j n - w j = 0 , &ForAll; j .
5.根据权利要求4所述的温度约束下基于软核的三维SoC测试调度方法,其特征在于,所述约束条件还包括
q i m &CenterDot; T i m &le; T max , &ForAll; i , m = 1 , 2 , 3 , ... , 2 | M | - 1 ,
即芯片的温度不能超过系统温度上限Tmax,其中Tim=T(h1,h2,…hi,...h|M|),T(h1,h2,…hi,...h|M|)表示温度值,为一个拥有|M|个自变量的函数,hi为一个二进制变量,有qim=q(h1,h2,…hi,...h|M|),存在hi=1时, &Sigma; m = 1 2 | M | - 1 q i m = 1 , &ForAll; i .
6.根据权利要求1所述的温度约束下基于软核的三维SoC测试调度方法,其特征在于,每个细粒度IP核位于不同层面上的部分进行并行测试,即任意细粒度IP核按层次拆分成N个部分,分别记为IPi1,IPi2,……,IPiN,则有
x I J = 1 , &ForAll; I , J &Element; { i 1 , i 2 , ... i N } ,
其中xIJ表示一个二进制变量,当编号为I的IP核和编号为J的IP核并行测试时,则xIJ取值为1,否则xIJ取值为0。
CN201310329417.8A 2013-07-31 2013-07-31 温度约束下基于软核的三维SoC测试调度方法 Active CN103364711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310329417.8A CN103364711B (zh) 2013-07-31 2013-07-31 温度约束下基于软核的三维SoC测试调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310329417.8A CN103364711B (zh) 2013-07-31 2013-07-31 温度约束下基于软核的三维SoC测试调度方法

Publications (2)

Publication Number Publication Date
CN103364711A CN103364711A (zh) 2013-10-23
CN103364711B true CN103364711B (zh) 2015-12-09

Family

ID=49366501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310329417.8A Active CN103364711B (zh) 2013-07-31 2013-07-31 温度约束下基于软核的三维SoC测试调度方法

Country Status (1)

Country Link
CN (1) CN103364711B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116879724B (zh) * 2023-09-06 2023-11-24 法特迪精密科技(苏州)有限公司 一种三维芯片测试优化方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196553A (zh) * 2006-12-04 2008-06-11 上海华虹Nec电子有限公司 提高soc芯片测试效率的方法
US7421635B2 (en) * 2004-02-26 2008-09-02 Samsung Electronics Co., Ltd. System-on-chip (SOC) having built-in-self-test circuits and a self-test method of the SOC
CN101995544A (zh) * 2010-11-30 2011-03-30 哈尔滨工业大学 一种具有灵活分配测试存取机制的soc测试调度方法
CN102736013A (zh) * 2011-04-12 2012-10-17 安凯(广州)微电子技术有限公司 一种SoC芯片的空闲状态测试方法、系统及测试装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751163A (en) * 1996-04-16 1998-05-12 Lattice Semiconductor Corporation Parallel programming of in-system (ISP) programmable devices using an automatic tester

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421635B2 (en) * 2004-02-26 2008-09-02 Samsung Electronics Co., Ltd. System-on-chip (SOC) having built-in-self-test circuits and a self-test method of the SOC
CN101196553A (zh) * 2006-12-04 2008-06-11 上海华虹Nec电子有限公司 提高soc芯片测试效率的方法
CN101995544A (zh) * 2010-11-30 2011-03-30 哈尔滨工业大学 一种具有灵活分配测试存取机制的soc测试调度方法
CN102736013A (zh) * 2011-04-12 2012-10-17 安凯(广州)微电子技术有限公司 一种SoC芯片的空闲状态测试方法、系统及测试装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Control-aware test architecture design for modular SOC testing;Sandeep Kumar Goel等;《Proceedings of the Eighth European Test Workshop(ETW’03)》;20031231;第57-62页 *
SoC测试调度的进程代数模型;邵晶波 等;《计算机辅助设计与图形学学报》;20090430;第21卷(第4期);第493-499页 *
功耗约束下的3D多核芯片芯核级测试调度算法;王伟 等;《电子测量与仪器学报》;20120731;第26卷(第7期);第591-596页 *
基于功耗约束的SOC测试调度研究;许川佩 等;《桂林电子科技大学学报》;20090430;第29卷(第2期);第77-81页 *

Also Published As

Publication number Publication date
CN103364711A (zh) 2013-10-23

Similar Documents

Publication Publication Date Title
Margolus et al. Cellular automata machines
Komatitsch et al. Modeling the propagation of elastic waves using spectral elements on a cluster of 192 GPUs
Chen et al. Physical mechanism of the two-dimensional inverse energy cascade
CN102906580B (zh) 在测试压缩环境中的测试调度和测试访问
CN106156851A (zh) 面向深度学习业务的加速装置及方法
CN109542713A (zh) 一种验证方法及验证装置
Cardone et al. Constraining massive gravity with recent cosmological data
CN103389456B (zh) 功耗约束下基于硬核的三维SoC测试调度方法
CN103364711B (zh) 温度约束下基于软核的三维SoC测试调度方法
CN107480323A (zh) 基于LabVIEW和FPGA的向量式有限元并行求解仿真方法
CN103390205B (zh) 功耗约束下基于软核的三维SoC测试调度方法
Guerre et al. Hierarchical network-on-chip for embedded many-core architectures
Wang et al. Integrated LFSR reseeding, test-access optimization, and test scheduling for core-based system-on-chip
CN106777665A (zh) 提高协同仿真平台验证效率的方法及系统
CN103268272A (zh) 基于场景的处理器系统级验证完备性度量方法
CN117807952A (zh) 分布式测试模式生成和同步
Liao et al. GPU-based N-detect transition fault ATPG
CN106201655A (zh) 虚拟机分配方法和虚拟机分配系统
Gore et al. An exploration-based taxonomy for emergent behavior analysis in simulations
CN110287628A (zh) 一种纳米量子元胞自动机电路的仿真方法
CN102768337B (zh) 基于平均值浮动量的三维ip核的测试封装扫描链平衡方法
Turner et al. MPAS-Seaice: a new variable resolution sea-ice model
CN105447251B (zh) 一种基于事务类型激励的验证方法
CN109815108A (zh) 一种基于权重的组合测试用例集优先化排序方法及系统
Vartziotis et al. Test-access-mechanism optimization for multi-Vdd SoCs

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