三维ip核测试外壳扫描链的优化方法

文档序号:6219977阅读:150来源:国知局
三维ip核测试外壳扫描链的优化方法
【专利摘要】本发明公开了一种三维IP核测试外壳扫描链的优化方法,其特征是包括如下步骤:增加测试外壳输入扫描单元和测试外壳输出扫描单元;将设定的阈值TSV数量进行分解;计算各条绑定后测试外壳扫描链的跨度;将相邻的且绑定前测试外壳扫描链数量相同的电路层进行合并,形成虚拟层;按照虚拟层编号由高到低的顺序将内部扫描链、测试外壳输入扫描单元和测试外壳输出扫描单元分配到各条测试外壳扫锚链中;计算三维IP核绑定前和绑定后测试的总时间。本发明能在TSV数量的约束下同时平衡绑定前和绑定后测试外壳扫描链的长度,达到减少三维IP核绑定前和绑定后测试的总时间、降低测试外壳扫描链的硬件开销的目的。
【专利说明】三维IP核测试外壳扫描链的优化方法
【技术领域】
[0001]本发明涉及三维集成电路测试技术,特别是三维IP核中测试外壳扫描链的优化方法。
【背景技术】
[0002]随着集成电路制造工艺和设计技术的不断进步,晶体管的特征尺寸持续缩减,芯片的复杂度和晶体管数量逐步提高,芯片中的互连线也越来越长。特别是进入深亚微米时代后,互连线的延迟已经超过了逻辑门的延迟,成为芯片性能提升的主要瓶颈,是电路延迟和功耗消耗的主要来源。三维集成电路(Three Dimensional Integrated Circuits)将多层电路垂直堆叠在一起,能够有效地减少芯片面积、缩短互连线长度、降低电路的延迟和功耗,是延续摩尔定律的有效方法。在各种三维集成技术中,基于TSV(Thr0ugh Silicon Via)进行垂直互连的方式由于可以提供高密度的互连,是最有前景的一种方法,也是现在三维集成的一种主流技术。
[0003]三维系统芯片(3DSoC, Three Dimensional System on Chip)米用集成各种 IP 核的设计方式,能够有效地减少设计成本,缩短产品的上市周期,在处理器芯片、图像处理芯片等领域有着广泛的应用前景。3D SoC可以采用粗粒度划分和细粒度划分这两种方式进行设计:
[0004]1、粗粒度划分的设计方式:3D SoC中集成的IP核是二维的。
[0005]2、细粒度划分的设计方式:3D SoC中的IP核是以三维电路的方式进行设计的,即每个IP核都是三维的。采用细力度的划分3D SoC能够更有效地减少电路时延、提升电路性能。如将Intel的双核处理器划分为四层,可以将性能提升47%。
[0006]虽然采用细粒度划分的设计方式能够更加有效地提升芯片的性能,但如何针对三维IP核的测试外壳(test wrapper)进行优化,即如何平衡各条测试外壳扫描链(wrapperscan chain)的长度以减少测试时间、降低测试成本,成为3D SoC测试中亟需解决的一个主要问题。
[0007]与二维IP核相比,三维芯核测试外壳的设计面临着更大的困难。由于三维IP核是由多层电路垂直堆叠而成,任意一层都含有扫描兀素(包括测试外壳输入扫描单兀、内部扫描链、测试外壳输出扫描单兀)。但三维电路对外的输入和输出引脚只能位于第一层,因而测试外壳扫描链的输入和输出引脚也只能位于第一层,这就需要在测试外壳扫描链中使用大量的TSV来连接各层电路中所含的扫描元素。此外,为满足测试向量移入和测试响应移出的要求,扫描兀素必须按照测试外壳输入单兀、内部扫描链、测试外壳输出单兀的顺序进行连接,这进一步增加了所需TSV的数量。但过多的TSV不仅占用芯片的面积,还会增加布局和布线的难度。此外,TSV自身的缺陷还会降低芯片的可靠性和成品率。因而在三维IP核测试外壳扫描链的设计中必须尽可能地减少TSV的数量。而减少TSV数量所导致的直接后果就是使得各条测试外壳扫描链的长度不平衡,增加了三维IP核的测试时间。
[0008]为解决此问题,国内外已有一些学者提出了在TSV数量的约束下平衡测试外壳扫描链长度的方法。如在文献B.Noia, K.Chakrabarty, Y.Xie, “Test-WrapperOptimisation for Embedded Cores in TSV-based Three-Dimensional SoC”,In Proceedingsof IEEE International Conference on Computer Design, pp.70-77, 2009 中, 作者提出了在TSV数量的约束下通过装箱算法来平衡测试外壳扫描链长度的方法;在文献 Y.Cheng, L.Zhang, Y.Han, J.Liu, X.Li, “Wrapper Chain Design for Testing TSVsMinimization in Circuit-Partitioned3D SoC”,In Proceedings of IEEE Asian TestSymposium, pp.181-186,2011中,作者提出了通过调整测试外壳扫描链中扫描元素的连接顺序来减少TSV数量的方法。但以上两篇文献只考虑了三维IP核绑定后(post-bond)测试外壳扫描链的平衡,而没有考虑在绑定前(pre-bond)的测试中测试外壳扫描链的平衡问题,使得三维IP核绑定前的测试时间很长,从而造成绑定前和绑定后总的测试时间增加。由于三维电路是由多层电路垂直堆叠而成的,任一层电路存在缺陷都将导致绑定后整个三维电路的失效,因而三维电路在绑定前和绑定后都要进行测试。因此,为减少三维IP核的测试时间,需要同时减少绑定前和绑定后的测试时间。
[0009]为减少三维IP核绑定前和绑定后测试的总时间,文献D.L.Lewis, S.Panth, X.Zhao,et al, “Designing3D Test Wrappers for Pre-bond and Post-bond Test of 3DEmbedded Cores,,,In Proceedings of IEEE International Conference on ComputerDesign, pp.90-95,2011 中提出使用 BFD(Best Fit Decreasing)和 KLP(Kerninghan-LinPartitioning)算法来同时平衡绑定前和绑定后测试外壳扫描链的长度,但这种方法需要增加大量的硬件开销对扫锚链进行重构以适应绑定前和绑定后的测试需求。

【发明内容】

[0010]本发明是 为了克服现有技术的不足之处,提供一种三维IP核测试外壳扫描链的优化方法,能在TSV数量的约束下同时平衡绑定前和绑定后测试外壳扫描链的长度,达到减少三维IP核绑定前和绑定后测试的总时间、降低测试外壳扫描链的硬件开销的目的。
[0011]本发明为解决技术问题采用如下技术方案:
[0012]本发明一种三维IP核测试外壳扫描链的优化方法,所述三维IP核含有N层电路,从最底层到最高层依次编号为1,2,3,…,k,…,N,1≤k≤N;定义各层电路间未通过多根TSV进行垂直连接前称为绑定前,各层电路间通过多根TSV进行垂直连接后称为绑定后;在绑定后的N层电路中,任意一根TSV在所连接的上下两层电路中各有一个连接点,所述连接点根据信号在所述上下两层电路中的传输方向分为TSV输入节点和TSV输出节点;所述三维IP核的每层电路中都含有多个输入端口、多个输出端口和多条长度不等的内部扫描链,任意一条内部扫描链只能位于一层电路中,不能跨层;定义绑定前各层电路中的测试外壳扫描链称为绑定前测试外壳扫描链;绑定后形成的测试外壳扫描链称为绑定后测试外壳扫描链;其特点是,所述优化方法按如下步骤进行:
[0013]步骤一、在各层电路输入端口处和TSV输出节点处分别增加测试外壳输入扫描单元,在各层电路的输出端口处和TSV输入节点处分别增加测试外壳输出扫描单元;
[0014]步骤二、定义变量sue为整数并赋值为O ;
[0015]步骤三、定义各条绑定后测试外壳扫描链中所使用的TSV数量之和不能超过预先设定的阈值Ctsv ;将所述阈值Ctsv分解成M个整数C1, C2,…,Ci,…,CM,所述M个整数之和等于阈值CTSV,M为所述绑定后测试外壳扫描链的数量,整数Ci表示第i条绑定后测试外壳扫描链中使用的TSV数量不能超过Ci, I < i < M ;
[0016]步骤四、建立M个空集合S1, S2,...,Si,…,Sm;
[0017]步骤五、利用式(I)获得各条绑定后测试外壳扫描链的跨度:
[0018]SLi=Hiin ([(V2]+l,N) (I)
[0019]式(I)中,SLi为第i条绑定后测试外壳扫描链的跨度;
[0020]步骤六、将相邻的且绑定前测试外壳扫描链数量相同的电路层进行合并,形成虚拟层;
[0021]步骤七、将所述虚拟层从最底层到最高层依次编号为1,2,...,」,…,Nv,
I? Nv ;
[0022]步骤八、按照虚拟层编号由高到低的顺序将各个虚拟层中的内部扫描链依次分配到所述集合S1, S2,…,Si,…,Sm中;
[0023]步骤九、若步骤八分配成功则执行步骤十,否则执行步骤十六;
[0024]步骤十、按照虚拟层编号由高到低的顺序将各个虚拟层中的测试外壳输入扫描单元依次分配到所述集合S1, S2 ,…,Si,…,Sm中;
[0025]步骤十一、若步骤十分配成功则执行步骤十二,否则执行步骤十六;
[0026]步骤十二、按照虚拟层编号由高到低的顺序将各个虚拟层中的测试外壳输出扫描单元依次分配到所述集合S1, S2,…,Si,…,Sm中;
[0027]步骤十三、若步骤十二分配成功则执行步骤十四,否则执行步骤十六;
[0028]步骤十四、将sue+1的值赋给变量sue ;
[0029]步骤十五、利用所述步骤十二完成后的集合S1, S2,-,Si,…,Sm中所含的扫描元素获得三维IP核的测试总时间,所述测试总时间为三维IP核绑定前的测试时间与绑定后的测试时间之和;所述扫描兀素包括内部扫描链、测试外壳输入扫描单兀和测试外壳输出扫描单元;
[0030]步骤十六、判断是否还有其它M个整数满足
【权利要求】
1.一种三维IP核测试外壳扫描链的优化方法,所述三维IP核含有N层电路,从最底层到最高层依次编号为1,2,3,…,k,…,N,1≤k≤N;定义各层电路间未通过多根TSV进行垂直连接前称为绑定前,各层电路间通过多根TSV进行垂直连接后称为绑定后;在绑定后的N层电路中,任意一根TSV在所连接的上下两层电路中各有一个连接点,所述连接点根据信号在所述上下两层电路中的传输方向分为TSV输入节点和TSV输出节点;所述三维IP核的每层电路中都含有多个输入端口、多个输出端口和多条长度不等的内部扫描链,任意一条内部扫描链只能位于一层电路中,不能跨层;定义绑定前各层电路中的测试外壳扫描链称为绑定前测试外壳扫描链;绑定后形成的测试外壳扫描链称为绑定后测试外壳扫描链;其特征是,所述优化方法按如下步骤进行: 步骤一、在各层电路输入端口处和TSV输出节点处分别增加测试外壳输入扫描单元,在各层电路的输出端口处和TSV输入节点处分别增加测试外壳输出扫描单元; 步骤二、定义变量SUC为整数并赋值为O ; 步骤三、定义各条绑定后测试外壳扫描链中所使用的TSV数量之和不能超过预先设定的阈值Ctsv ;将所述阈值Ctsv分解成M个整数C1, C2,…,Ci,…,CM,所述M个整数之和等于阈值CTSV,M为所述绑定后测试外壳扫描链的数量,整数Ci表示第i条绑定后测试外壳扫描链中使用的TSV数量不能超过Ci, I < i < M ; 步骤四、建立M个空集合S1, S2,…,Si,…,Sm; 步骤五、利用式(I)获得各条绑定后测试外壳扫描链的跨度:
SLi=Hiin ([<V2]+1,N) (I) 式(I)中,SLi为第i条绑定后测试外壳扫描链的跨度; 步骤六、将相邻的且绑定前测试外壳扫描链数量相同的电路层进行合并,形成虚拟层; 步骤七、将所述虚拟层从最底层到最高层依次编号为1,2,…,j,…,Nv, I ^ j ^ Nv ;步骤八、按照虚拟层编号由高到低的顺序将各个虚拟层中的内部扫描链依次分配到所述集合S1, S2,…,Si,…,Sm中; 步骤九、若步骤八分配成功则执行步骤十,否则执行步骤十六; 步骤十、按照虚拟层编号由高到低的顺序将各个虚拟层中的测试外壳输入扫描单元依次分配到所述集合S1, S2,…,Si,…,Sm中; 步骤十一、若步骤十分配成功则执行步骤十二,否则执行步骤十六; 步骤十二、按照虚拟层编号由高到低的顺序将各个虚拟层中的测试外壳输出扫描单元依次分配到所述集合S1, S2,…,Si,…,Sm中; 步骤十三、若步骤十二分配成功则执行步骤十四,否则执行步骤十六; 步骤十四、将SUC+1的值赋给变量sue ; 步骤十五、利用所述步骤十二完成后的集合S1, S2,…,Si,…,Sm中所含的扫描元素获得三维IP核的测试总时间,所述测试总时间为三维IP核绑定前的测试时间与绑定后的测试时间之和;所述扫描兀素包括内部扫描链、测试外壳输入扫描单兀和测试外壳输出扫描单元; 步骤十六、判断是否还有其它M个整数满足C = Ci的条件,若有,则转到步骤三开始执行,否则执行步骤十七; 步骤十七、若所述变量SUC的值大于O,在所述步骤十五的测试总时间中找出一个最小值,并记录测试总时间取得最小值时M个集合S1, S2,…,Si,…,Sm中所含的扫描元素;若所述变量sue的值等于O,则表明在所述阈值Ctsv的约束下无法设计成功M条绑定后测试外壳扫描链,结束优化; 步骤十八、根据步骤十七中M个集合S1, S2,…,Si,…,Sm所含的扫描元素,分别将每个集合中的扫描元素进行连接,从而形成优化后的绑定前测试外壳扫描链和绑定后测试外壳扫描链。
2.根据权利要求1所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,所述步骤六中各电路层所含的绑定前测试外壳扫描链数量由式(2)获得:
3.根据权利要求1所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,所述步骤八是按如下步骤进行: 步骤3.1、将j赋值为Nv ; 步骤3.2、将编号为j的虚拟层中所含的内部扫描链按照长度进行降序排列,形成降序的q条内部扫描链,记为SCjl, SCj2,..., SCjp,..., SCjq ;SCJp表不第j层虚拟层中的第P条内部扫描链;记SCjp位于所述N层电路的第kjp层,I≤P≤q,I≤kjp≤N ; 步骤3.3、令P的值为I ; 步骤3.4、将所述内部扫描链SCjp分配到集合S1, S2,…,Si,…,Sm中的某个集合; 步骤3.5、若步骤3.4分配成功,则执行步骤3.6 ;若步骤3.4分配失败,则退出步骤八; 步骤3.6、将p+1的值赋予P ; 步骤3.7、若p>q,则执行步骤3.8,否则转到步骤3.4开始执行; 步骤3.8、将j-Ι的值赋予j ; 步骤3.9、若j>0,则转到步骤3.2开始执行;若j=0,则表明分配成功,退出步骤八。
4.根据权利要求3所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,所述步骤3.4是按照如下步骤进行: 步骤4.1、令1的值为I ; 步骤4.2、令η的值为O ; 步骤4.3、若跨度SLi大于等于kf则执行步骤4.4 ;否则执行步骤4.10 ; 步骤4.4、将所述内部扫描链SC#分配到集合Si中; 步骤4.5、假定将集合Si中所含的扫描元素按照测试外壳输入扫描单元、内部扫描链和测试外壳输出扫描单元的顺序连接形成当前的第i条测试外壳扫描链,将当前的第i条测试外壳扫描链中所使用的TSV数量记为NUMi ;步骤4.6、将所述内部扫描链SC#从集合Si中去掉; 步骤4.7、若NUMi小于等于整数Ci,则执行步骤4.8,否则执行步骤4.10 ; 步骤4.8、针对所述步骤4.6完成后的集合S1, S2,…,Si,…,SM,假定将M个集合中所含的扫描元素分别按照测试外壳输入扫描单元、内部扫描链和测试外壳输出扫描单元的顺序依次进行虚拟连接形成虚拟的M条测试外壳扫描链,记为WL1, WL2,…,WLi,…,WLm, WLi表不虚拟的第i条测试外壳扫描链; 步骤4.9、通过式(4)获得变量Ti的值:
Tj=f (Lmax, | WLi | +1 SCjp |) +f (Laymax, IayffLi+1 SCjp ) (4) 式(4)中,Lmax为虚拟的M条测试外壳扫描链的长度最大值,Laymax为虚拟的M条测试外壳扫描链在第层中的长度最大值,LayWLi为虚拟的第i条测试外壳扫描链WLi在第kJP层的长度,IWLiI表示虚拟的第i条测试外壳扫描链WLi的长度,|SCjp|表示内部扫描链SCjp的长度,并有函数f:
5.根据权利要求1所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,在所述步骤十中是先将测试外壳输出扫描单元当作长度为I的内部扫描链,再按照步骤八的方法进行分配。
6.根据权利要求1所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,所述步骤十二是先将测试外壳输出扫描单元当作长度为I的内部扫描链,再按照步骤八的方法进行分配。
7.根据权利要求1所述的一种三维IP核测试外壳扫描链的优化方法,其特征是,在所述步骤十五中,三维IP核的测试总时间T是由式(6)获得:
T=Tpost+Tpre (6) 式(6)中,Tpost是三维IP核绑定后的测试时间,Tpre表示绑定前的测试时间,并有: Tpost=max(SI, SO) Xpat+min(SI, SO) (7)
【文档编号】G01R31/28GK104007383SQ201410083824
【公开日】2014年8月27日 申请日期:2014年3月7日 优先权日:2014年3月7日
【发明者】刘军, 吴玺, 王伟, 陈 田, 钱庆庆 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1