当前位置:首页 > 申请书大全 > [系统芯片的可测性设计] 系统芯片设计原理
 

[系统芯片的可测性设计] 系统芯片设计原理

发布时间:2019-02-21 04:04:38 影响了:

  摘要:系统芯片SoC可以实现一个系统的功能,为了保证系统芯片的功能正确性与可靠性,在它的设计与制造的多个阶段必需进行测试。由于系统芯片的集成度高,结构和连接关系复杂,使得对它进行测试的难度越来越大,因此需要采用专门的测试结构。本文对系统芯片的可测性设计以及测试结构的设计方法等进行了介绍和综述。
  关键词:系统芯片;可测性设计;测试方法;测试存取机制。
  中图分类号: TN407;TP302。
  
  Design for Testability of System on Chip
  
  Chen Ling, Pan Zhongliang
  ( Dept. of Electronics, School of Physics and Telecommunication Engineering,
  South China Normal University, Guangzhou 510006 )
  
  Abstract: The system on chip (SoC) is able to implement the functions of a system. It is necessary to carry out test in the several steps of SoC design in order to insure the functional correctness and reliability. It is more and more diffcult to perform the test for system on chip because there are many cores and user defined logics in a SoC, therefore the special test mechanism is needed. The designs of test mode and test access mechanism for SoC are introduced and reviewed in this paper.
  Keywords: System on chip, design for testability, test mode, test access mechanism.
  
  1 引 言
   近年来,集成电路设计技术得到了不断增加,使电子产品升级换代的速度越来越快,同时电子产品的个性化趋势也越来越明显,生产厂家对产品成本和进入市场的时间的要求越来越苛刻。因此出现了将多个甚至整个系统集成在一个芯片上的产品即系统芯片(SoC,System on a Chip),它具有小型、轻量、多功能、低功耗、高可靠性和低成本等特征[1,2]。
   系统芯片是将原先由多个芯片完成的功能,集中到单芯片中完成。它是在单一硅芯片上实现信号采集、转换、存储、处理和 I/O 等功能,或者说在单一硅芯片上集成了数字电路、模拟电路、信号采集与转换电路、存储器、微处理器、数字信号处理器等,实现了一个系统的功能。系统芯片并不是各个芯片功能的简单叠加,而是从整个系统的功能和性能出发,用软硬结合的设计和验证方法,利用芯核复用和深亚微米电路设计技术,在一个芯片上实现复杂功能[3]。在进行SoC设计时,使用的基本部件是预先设计的芯核。
   由于系统芯片的集成度高,结构和连接关系复杂,使得对系统芯片进行测试的复杂度和难度越来越高[4,5]。对系统芯片的测试存在许多困难,首先芯核可能是其他的人或公司所设计的,选用芯核的设计者对芯核不一定十分了解,可能不具备对芯核进行测试的知识与能力。其次,芯核深埋在芯片之中,不能用测试单个独立芯核的方法去处理集成后的芯核的测试,只能通过一些电路模块的接入将芯核和外围测试资源接通。
   系统芯片的测试所面临的最大挑战是在保持高的故障覆盖率的情况下,如何降低测试的总成本[6-8],为此,人们正在进行持续不断地研究。这需要在设计SoC时事先考虑测试问题,即进行可测性设计,要允许测试系统可以同时存取SoC芯片内的多个不同的芯核,而且各个芯核之间的隔离要好,以使彼此之间的干扰较少。
  
  2 系统芯片的测试模式
   对电路的测试,通常是在测试系统所提供的硬件和软件环境下实现的。测试的工作流程如下:测试矢量被测电路与标准响应比较测试结果分析。首先由软件在计算机
  上生成可以检测电路故障的测试矢量;其次使用数据信号发生器根据这些测试矢量的具体格式产生测试波形,并加载到被测电路上;通过使用逻辑分析仪等设备采集被测电路的响应信号并进行一定的分析,从而得出电路中是否存在有故障。如果被测电路在测试矢量的激励下响应正常,则说明被测电路无故障;如果为错误响应,即可由测试算法得出被测电路中故障的性质和位置,并通过输出设备显示或打印测试结果。这里,在测试的整个过程中,测试矢量是影响测试效果的关键,它可以通过测试生成算法获得。测试矢量也被称为测试激励。
  电路的可测性一般可定义为测试的简便性或经济而有效地测试的能力,它主要涉及如下三个基本方面:测试矢量的产生、测试的评估和计算、测试的施加。总体上说,人们认为一个电路是可测的,则意味着在预定的经费开支和一定的时间内可以产生电路的一个测试集,且可以实际予以评估和计算、以及实际施加这些测试矢量,以便完成预定故障的检测或定位。
  对系统芯片SoC进行测试时不能使用针对一般电路的常规测试方法。由于多个芯核深埋在系统芯片之中,因此需要设计专门的测试结构。把存储或创建测试激励的地点(位置)称为测试源;而存储或分析测试响应的地点(位置)则称为测试宿。如图1所示。
  在图1这种测试结构中,测试激励被存储在测试源,并且通过测试存取机制(TAM)把它传送到可测单元,此时的可测单元是一个芯核。测试响应也由TAM进行传送,并到达测试宿。为了减轻在芯核和TAM之间测试数据的存取,在芯核的外围设计了一个测试外壳,提供对芯核的常规功能存取和通过TAM对芯核进行测试数据的存取。
  一个芯核可以拥有一个测试外壳,该测试外壳是作为在芯核与测试存取机制TAM间的接口。在进行测试期间,它可以把芯核与其他的系统芯片上的芯核隔离开来。测试外壳具有如下三种模式:常规操作模式、外测试模式、内测试模式。
   对测试而言,主要是使用外测试模式和内测试模式。在内测试模式,处在当前测试外壳处的芯核被测试;在外测试模式,在两个测试外壳之间的互连以及处于互连之上的逻辑模块被测试。图2给出了一个系统芯片的例子,该系统芯片有芯核1,芯核2和芯核3等三个芯核。
  在图2中,芯核1和芯核2有测试外壳,因此它们有与TAM的接口。对具有测试外壳的芯核的测试,和对不具有测试外壳的芯核的测试,所使用的方法是不相同的。对具有测试外壳的芯核的测试,例如对图2中的芯核1,是把它的测试外壳置于内测试模式,把测试激励由TAM传送到芯核1,然后由TAM把芯核1的测试响应传出。
  对不具有测试外壳的芯核的测试,例如对图2中的芯核3,这时则必须使用芯核1和芯核2的测试外壳,这是因为芯核3没有与TAM连接的专用接口。这里需要处理的一个问题是:在一个确定的时刻,测试外壳只能处于一种工作模式,即常规操作模式,内测试模式或外测试模式之一。在图2中,这意味着当芯核1被测试时,它的测试外壳是处于内测试模式。而当芯核3被测试时,芯核1的测试外壳和芯核2的测试外壳都需要处于外测试模式,芯核3的测试激励首先被传送到芯核1,而芯核3的测试响应则被传送到芯核2的测试宿。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文   通常可以把测试源和测试宿统称为测试资源。测试资源可以被放置在整个芯片上或者不放在芯片上,分别称为在线测试资源和离线测试资源。测试源存储或创建测试激励;测试宿则存储或分析测试响应。它们可以是离线的自动测试设备(ATE),或者是在线的线性反馈移位寄存器(LFSR),嵌入式处理器,存储器等。例如,对一个可测单元的一次测试,测试源和测试宿都可能是ATE;或者测试源和测试宿都是在芯片上实现的。此外,使用一个离线测试源和一个在线测试宿;或者是使用一个在线测试源,和使用一个离线测试宿;这都是可能的。图3是一个系统芯片的例子,这里ATE是作为离线测试源和离线测试宿;LFSR是作为在线测试源;嵌入式处理器(CPU)是作为在线测试宿。
  对图3中的芯核1或芯核2每进行一次测试,必须使用一种测试源和一种测试宿。例如,可以定义一次测试,使得把ATE作为测试源和测试宿;也可以定义另一次测试,使得把LFSR作为测试源而把CPU作为测试宿;也可以定义一次测试,使得把LFSR作为测试源,而把ATE作为测试宿。
  
  3 测试存取机制的设计
   在系统芯片中测试存取机制TAM是把芯核的测试源和测试宿相连接,并负责测试数据的传送。测试存取机制可以仅仅是为测试的目的而专用的,也可以是使用系统中已有的电路结构。对一个特定的系统芯片而言,也可能是这两者的一个组合。对测试存取机制的设计,可以使用多路复用结构、分布式结构、测试总线结构等。
   (1)多路复用结构。这是把所有的TAM信号线都分配给每一个芯核,把来自所有芯核的输出进行多路复用,因此TAM可以与所有芯核相连。在这种多路复用结构下,对芯核只能以串行方式进行测试,即在一个特定的时刻只能测试一个芯核。此外,在这种多路复用结构结构中,可以增加一种旁路结构,以缩短对单个芯核的存取路径,这种结构被称为菊花链结构。
   (2)分布式结构。在这种分布式结构中,对每一个芯核,给定了它自己专用的TAM信号线的个数。这里的一个主要问题是:分配TAM的信号线,把相关的触发器与每一个芯核的扫描链相连,使得整个系统芯片的测试时间达到最小。
   (3)测试总线结构。可以把多路复用结构和分布式结构进行结合,而构成测试总线结构。若只使用单个测试总线,则所有的测试被串行地执行。这里,在一个给定的时刻,所有的TAM带宽被分配给一个芯核使用。然而,若使用多个测试总线,则在每一个测试总线上,对测试的执行是串行的;但从多个测试总线整体而言,则可以进行并发测试。这是因为在一个给定的时刻可以激活多个测试总线。
  
  4 结语
   由于系统芯片的结构极其复杂,因此需要设计专门的测试结构与测试数据存取方法。其中测试存取机制TAM可以是为了测试的目的而专门设计的;也可以是使用芯片上已有的结构来实现其功能,而不是对它进行专门的设计。使用芯片上已有的结构来实现TAM的优点是,可以使所需增加的额外信号线达到最小;而使用专门设计的专用结构的优点是具有较好的灵活性。此外,也可以使用系统芯片的功能总线来实现TAM的功能,在芯核进行常规操作时,使用功能总线传送芯核工作时的相关数据;而在对芯核进行测试期间,该总线则用于传送测试数据。这种方法的优点是,功能总线几乎在所有的系统中都存在,可以不需要增加额外的信号线。
  
  参考文献
  [1] 潘中良. 系统芯片SoC的设计与测试[M]. 北京:科学出版社,2009.
   [2] Appello D, Bernardi P, Grosso M. Effective diagnostic pattern generation strategy for transition-delay faults in full-scan SoCs [J]. IEEE Trans. VLSI, 2009, 17(11):1654-1659.
   [3] Gerstlauer A, Dongwan S, Junyu P. Automatic layer-based generation of system-on-chip bus communication models [J]. IEEE Trans. CAD, 2007, 26(9):1676-1687.
   [4]Saleh R, Wilton S, Mirabbasi S. System-on-chip: reuse and integration [J]. Proceedings of the IEEE, 2006, 94(6):1050-1069.
   [5] Zhanglei W, Chakrabarty K, Seongmoon W. Integrated LFSR reseeding, test access optimization, and test scheduling for core-based system-on-chip [J]. IEEE Trans. CAD, 2009, 28(8): 1251-1264.
   [6] Lingappan L, Ravi S, Raghunathan A. Test-volume reduction in systems-on-a-chip using heterogeneous and multilevel compression techniques [J]. IEEE Trans. CAD, 2006, 25(10): 2193-2206.
   [7] George K, Chen C. Logic built-in self-test for core-based designs on system-on-a-chip [J]. IEEE Trans. Instrumentation and Measurement, 2009, 58(5):1495-1504.
   [8] Bahukudumbi S, Chakrabarty K. Test-length and TAM optimization for wafer-level reduced pin-count testing of core-based SoCs [J]. IEEE Trans. CAD, 2009, 28(1):111-120.
  
  基金项目:广东省自然科学基金项目(7005833)、广东省教育部产学研结合项目(090300339)资助。
  
  作者简介:陈 翎(1968),女,四川成都人,本科,工程师,主要从事电路与系统等方面的研究工作。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3