西安电子科技大学 电路CAD研究所
陕西 西安 710071
摘要:在设计基于IP模块的SoC同时,必须引入可测性设计以解决SoC的测试问题。为了简化SoC中的可测性设计的工作,本文设计了一种新型测试结构复用技术,通过分析SoC内部的各种测试应用情况,实现了一个兼容IEEE1149.1标准的通用测试访问逻辑IP。在运动视觉SoC中的应用以及仿真结果验证了这种测试复用结构的有效性,并有助于提高SoC的测试覆盖率。
关键词:可测性设计;系统芯片;知识产权;测试复用结构
中图分类号:TN43 ;TN407 文献标识码: A 文章编号:1003-353X(2004)02-0048-03
1 引言
目前,随着系统芯片(SoC)设计的广泛应用 ,半导体行业的竞争日益激烈,要设计出工艺先进、功能强大并能快速投入市场的产品,IP复用已成为关键手段。在这种形势下,对于IP以及SoC的测试,已经无法采用以往的外部测试方法,而只能采用可测性设计的方法解决SoC的测试以及故障诊断问题 [3]。
采用可测性的设计方法可以给测试工作带来很多益处:如减少测试时间;简化测试过程;提高故障覆盖率等。可测性设计有很多种,如BIST、扫描设计等等。而IEEE1149.1边界扫描测试结构[2]
是在数字系统中已经广泛使用的一种可测性设计方法,已经形成了设计规范,目前绝大多数的数字芯片都支持它。在考虑SoC可测性设计中,也有必要引入这一结构。随着SoC设计中使用IP复用越来越多,也给可测性设计带来了启示,即能否使可测性设计结构在SoC中能像功能IP一样复用。复用的测试结构既有利于规范SoC的测试结构设计,又能提高测试设计的效率,减少重复性的测试设计工作[4,5]。本文将介绍一种基于边界扫描结构的测试复用结构,可以在不同的SoC中广泛使用。
2 测试设计的内容
SoC中采用的IP复用技术,不能保证已经过设计验证的IP核在制造时不出现故障。因此必须要对其应用可测性设计结构以及通过测试结构对IP施加测试向量。在SoC的IP之间存在大量的端口连接,因此IP之间的互联测试也是需要解决的重要问题。
IP的通用测试结构可以适当参考规范的测试结构设计方法。如IEEE P1500的测试结构 的应用[1],它对SoC内部的IP测试结构有详尽的规定,包括IP 测试隔离、IP测试矢量的施加、内部测试接口等内容。
但目前而言,最常用的测试结构仍是边界扫描设计。所以在设计SoC测试结构时,必须考虑边界扫描设计。对于系统芯片的可测性设计,一般还包括RAM的自测试结构、测试通路的构成等。对于内部的测试通路,需要测试控制器对内部进行控制。
SoC以及IP的可测性必须经过测试集成。测试集成将在高层次的设计内容,进行系统的逻辑综合与实现。若采用复用的测试结构,其规范的设计对自动测试集成会有很好的支持。
3 测试结构复用设计
3.1 插入的扫描单元
为IP设计的边界扫描测试单元可以采用IEEE1149.1的边界扫描定义的测试单元结构。边界扫描单元设计规整,有利于测试集成。本文采用了一种灵活的扫描单元插入方法,使其可以对IP测试进行隔离,或者由于时延参数等因素的限制,只进行支持在线测试的数据采集。扫描单元的应用如图1所示。
扫描单元与SoC内部的测试总线有相应的接口,可以通过测试控制逻辑实现对部分或全部测试结构的控制和访问。测试结构支持IP的所有输入、输出和双向的端口。扫描单元的测试控制端能够保证在非测试状态下信号从SI到SO的信号传输,而且经过最少的逻辑传递其信号。而在时延要求非常严格的传输路径则不必插入扫描单元,而只需将输出端多扇出一路信号作为测试结构的输入,或者在IP的3态输出时利用扫描单元给IP的输入置位。测试数据通过TDI、TDO使测试结构与测试总线相连,测试矢量的施加与测试响应的处理则在测试总线控制器的控制下完成。
扫描单元可以设计成为库单元,供设计者调用。或者,通过对SoC内部IP端口以及连接关系的分析,用软件自动插入必要的扫描单元。
3.2 测试访问逻辑
测试总线控制逻辑的设计必须是兼容IEEE1149.1 测试访问机制的内部测试总线控制器,它负责产生测试所需的控制信号,并负责组织测试数据在测试总线上有序地传输。测试总线控制器与外部也有相应的接口,符合JTAG协议的要求。为了保证它可以满足SoC中基本的测试控制功能,首先考察一下SoC内部应用的可测性设计结构有哪些。一般在 SoC中的可测性结构可用如图2所示的结构表示。
从图中可以看出,在SoC中,有自带可测性结构的如IP1和IP2,包括有P1500结构、JTAG结构或BIST结构。IP3和UDL(user defined logic)不包括可测性结构,对于这些模块,可以通过如上一小节所述的插入扫描单元方法改善其可测性。
在这种复杂的环境下设计测试访问逻辑,如果只考虑控制插入的扫描单元,对无可测性设计的模块实施边界扫描测试,则这个测试访问结构的适用范围将受到限制。在某些SoC中可以应用,而在其它SoC中无法满足测试的需要。
针对上述的测试结构分析,按照IP的测试设计方法实现的测试访问逻辑,它的功能应包括提供外部测试主控器对SoC内部所有测试结构访问的接口与控制。为了使其适应各种应用环境,以及为了使其能够设计成为可复用的测试IP设计,设计出的测试访问逻辑IP的内部结构如图3所示。
标准的边界扫描测试访问逻辑包括有限状态机,它与指令寄存器之中的指令一道产生测试时序及内部控制信号。BYPASS寄存器提供旁路测试单元的功能。而ID寄存器则提供一个与其他测试访问逻辑相区别的识别码。
在标准结构的基础上,可复用的测试访问测试逻辑IP提供了更多的测试通路。增加的用户定义测试控制器将根据测试的需要选择适当的测试通路。对于边界扫描测试,插入扫描单元的IP与自带JTAG的IP测试选择串联的结构,其测试过程与通常的边界扫描测试一样。而对于带有BIST的模块,通过内部的BIST控制器提供测试运行的触发信号,在BIST测试结束之后,将测试结果通过接口送到外部。
由于测试访问逻辑充分考虑到了各种IP的应用情况,所以在其它的SoC中应用测试访问逻辑时,可以直接以IP复用的形式加入,无需再次开发。
3.3 测试矢量的复用
由于IP的设计一般都是在SoC之前完成的,所以,所有可复用的IP在设计阶段经过了验证。IP在设计阶段可由测试生成软件自动生成测试矢量,也可由设计者提供。
对各IP的测试,在上述的扫描测试结构基础上,可以采用IP设计验证阶段产生的测试矢量在SoC测试中直接应用,这大大减少了测试生成的开销。
3.4 测试结构综合
在设计上述的测试复用结构时,整个测试结构的综合流程如图4所示。
对于测试结构的综合,首先从原始设计和设计规则开始,在这里可以得到系统的结构信息以及关于各个IP的应用组成情况,并且了解一些诸如端口使用、测试限制等内容。之后,才能开始对测试访问逻辑、测试复用单元、测试控制器等部件进行选择与应用。选定测试结构之后,需要从全局的角度安排测试总线和测试单元,并在此基础上结合其它的可测性设计结构,从而形成完整的测试结构。最后这些测试结构通过测试综合,以及布局布线就结合到了整个SoC的设计当中,实现最终的设计结果。在设计结构上的基础上,提取出的测试信息和原先IP的测试矢量一起,合成SoC的测试矢量,之后就可以通过测试控制器完成测试。
4 应用
所设计运动视觉SoC应用了具有先进的并行处理体系结构,包括并行处理SIMD(single instruction multi data,单指令多数据)体系结构技术、流水线技术以及运动估计协处理技术等。其中运动协处理器包括有多种功能不同的运动处理IP,如运动物体识别IP、运动参数计算IP、运动估计、动态跟踪控制IP等。
对于这样的一个复杂SoC,我们采用了前面提到的测试复用结构。通过在EDA软件环境下的仿真实验,对应于SoC中常见的固定型S-A-1和S-A-0单故障,达到了较高的测试覆盖率,其中IP的测试覆盖率平均达到95%以上,总的测试覆盖率在85 %以上。而设计的测试结构所占总SoC的比例以等效门计算约为5.6%,结果令人满意。通过这样的设计,达到了测试要求,较好地解决了SoC中的实际测试问题。
5 结束语
由于IP复用的应用在不断的增加,加之DFT设计的普遍应用,有理由相信,SoC内部的测试结构甚至专用测试IP的复用,也一定会不断增加,以至于形成电子设计行业的测试复用设计标准。本文中使用的测试复用方法如果在此基础上得到一些补充和提高,如扩充自定义测试功能、支持层次化的BS测试总线等,则可应用到更为广泛的范围之中,当然也一定会使SoC的测试设计强度更加降低,设计效率更加提高。
摘自《半导体技术》