《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于IEEE P1500芯核测试控制结构设计
基于IEEE P1500芯核测试控制结构设计
潘鹏程1, 蔡承宇2
1. 温州医学院, 浙江 温州 325035; 2. 浙江工贸职业技术学院, 浙江 温州 32500
摘要: 讨论了IEEE P1500测试架构,详细分析并实现了IP核的测试环(Wrapper)结构,给出了一种支持该标准的芯片级测试控制结构。该结构能控制基于总线结构的TAM以及P1500 Wrapper,通过芯片级CTAP控制器,支持串行或并行测试访问,实现了核内测试以及核间互连测试。同时该结构只需5根额外测试管脚。
Abstract:
Key words :

摘   要: 讨论了IEEE P1500测试架构,详细分析并实现了IP核测试环(Wrapper)结构,给出了一种支持该标准的芯片级测试控制结构。该结构能控制基于总线结构的TAM以及P1500 Wrapper,通过芯片级CTAP控制器,支持串行或并行测试访问,实现了核内测试以及核间互连测试。同时该结构只需5根额外测试管脚。
关键词: 片上系统; 测试环; 测试访问机制; IP核

  片上系统SoC已经发展成为当今的一种主流技术,但由于系统集成商从IP核供应商处得到的芯核信息非常有限,给芯片级测试集成开发带来新的挑战,SoC测试也被认为是SoC设计流程中的一个瓶颈。IEEE P1500工作组正在制定的新标准便是以各种型态及用途的核测试是否能以即插即用(Plug-and-Play)的方式整合于SoC内为考虑[1]。IEEE P1500对芯核测试环(Wrapper)和用于传递核测试信息的核测试语言(CTL)做了规定,但为了适应多供应方提供芯核的事实,P1500对Wrapper只有行为上的定义,同时并行测试访问机制(TAM)也留给用户自己定义[2]。参考文献[3]、[4]对P1500 和Wrapper的设计进行了讨论;参考文献[5]、[6]提出了层次化测试结构的设计方案,能够支持多种类型的IP核,但结构较复杂。本文构建并实现了一个可行的测试架构,该架构包括标准规定的P1500 Wrapper、用户自定义的并行TAM以及芯片级测试控制器。该测试控制结构简单,硬件资源花费较少。
1 P1500 Wrapper及实现
  P1500的Wrapper由1个指令寄存器(WIR),1位旁路寄存器(WBY)和边界寄存器(WBR)构成[3-4],并通过Wrapper接口端口(WIP)访问这些寄存器,如图1所示。WIP是标准中强制要求的,共6个信号线,其定义如下:

                 图1 P1500 Wrapper结构

  WRSTN:低电平有效的异步复位信号,复位有效时,测试环工作在正常模式。
  WRCK:P1500提供给WIR,WBY、WBR的专用时钟信号。
  SelectWIR:指令与测试数据选择端。为1时,WIR连入 WSI-WSO,传送测试指令;为0时,根据WIR指令,选择WBR、WBY或核内部数据寄存器,传送测试数据。
  CaptureWR、ShiftWR、UpdateWR:分别为Wrapper数据、指令的捕获端、移位端和更新端。
整个Wrapper的设计由Wrapper单元和指令控制模块两部分组成。
1.1  Wrapper单元(WBC)
  P1500规定每个数字核的功能管脚有1个WBC,它们共同构成WBR,Wrapper单元具有移位、捕获、更新等功能;能够提供正常的功能路径,实现核输入可控性和输出可观性。IEEE P1500只定义了WBC的行为,并没有具体实现,允许用户扩展WBC功能,本设计除了实现标准要求的以上功能外,还提供并行TAM的接口,供WPI-WPO的输入输出,整个操作由WIP信号和指令共同控制,图2为Wrapper输入单元的原理图,表1为其真值表。Wrapper输出单元与之类似。


1.2  指令控制模块
  指令寄存器(WIR)由1个移位寄存器以及1个等长的更新寄存器组成。指令通过WSI扫描到移位寄存器,只有当指令锁存到更新寄存器中,指令才有效。P1500 测试环有多种操作模式,除了串行测试模式外,还有可选的并行测试模式。主要有正常模式、 串行内测试、串行外测试、盘路测试、 并行内测试、并行外测试,IEEE P1500都有相对应的指令。表2是本设计的部分指令、指令码以及相应的功能描述。

  Wrapper的整个操作是由WIP的信号配合载入到WIR的指令共同完成的。图3中SelectWIR和ShiftWR在第2个WRCK上升沿之前为1。接下来3个时钟保持这2个信号不变(本设计指令长度为3 bit), 开始了3位WIR指令的移位操作,移位完成后,ShiftWR信号置为0,而UpdateWR信号置为1。在随后的WRCK的下降沿时,指令存到WIR的更新寄存器中。在WIR更新后,SelectWIR信号置为0,在下个WRCK时钟来的时候,被Wrapper指令寄存器选中的数据寄存器进行移位操作。

2 SoC级测试控制结构
  基于IEEE P1500的SOC测试架构如图4所示。主要由串行数据开关DS、并行数据开关PDS、测试配置寄存器TCR以及1个可以控制多个P1500核的CTAP控制器构成。该结构硬件开销少,只需5个额外的测试管脚,其中TAM可以复用SoC的功能管脚,Source和Sink可以是片内的,也可以由片外ATE提供。

2.1 CTAP控制器
  CTAP是一个19 bit的有限状态机,它类似于1149.1的TAP控制器,是整个测试控制结构的核心部分,与1149.1的TAP控制器相比,增加了3个状态:Select TCR Scan、Shift TCR、Update TCR。在TMS信号的控制下,产生TCR所需的信号(shift_tc,update_tc,select_tc),测试时,通过这3个状态对测试配置寄存器进行配置,选择指定的核。CTAP的其余状态结合TMS信号产生P1500所需要的WIP信号,控制Wrapper操作。其状态机描述如图5所示。

2.2  测试配置寄存器TCR
  测试配置由一组移位更新寄存器组成,其中寄存器的位数是由核的个数决定的。其输入信号由CTAP控制器产生,测试配置数据由TDI输入,图6是一个m位的移位更新寄存器,用来控制m个核,从更新寄存器出来的信号连到串行数据开关以及并行数据开关的en端,当某个核的en端为1时,该核被选中,进行核内相应测试;当en为全1时,核全部被选中,可以进行核间互连测试。

2.3  数据开关(DS和PDS)
  数据开关用来控制串行测试数据的路径,连接芯片与IP核。其结构如图7所示。

  当DS的en信号为1时,芯片串行测试数据路径就与IP核的串行测试数据路径连接,通过它,可以移入指令或者测试数据到IP核中。同理,在基于总线的TAM上,也为每个核配置1个总线数据开关,其原理与串行线上的DS相同,只是将1位TAM,改为连接多位TAM。如图7所示。
3  测试步骤
   测试步骤如下:
   (1) 进行测试配置:由TSM信号控制CTAP状态机,通过TDI进行测试配置,输入m位二进制数,表示相对应IP核选中情况。如100…0,表示选中第1个IP核进行测试。
  (2) 测试指令输入:由TSM信号控制CTAP状态机,通过TDI输入测试指令,将指令输入到选中的IP的WIR中。
  (3) 测试数据的输入:通过TSM信号控制CTAP状态机,根据输入的指令,选择串行或者并行测试,将测试数据输入WBR,结合指令,进行相应的测试。
  (4) 重复以上步骤,完成所有核的内部测试,不同核有不同的测试方法与要求,如BIST、Iddq、扫描测试等,要根据具体的核供应商以及所要求的故障覆盖率决定。
  (5) 测试完所有的IP核后,将测试配置寄存器设置为全1,即111…1,选中所有核,然后移入互连测试指令,进行核间互连测试。
4   仿真实现
  为验证该结构,依次设计了3个简单的逻辑核,1个计数器、1个四位加法器和1个频率计。以4位加法器核为例,为核进行Wrapper,其管脚为a(3:0)、b(3:0)、cin、s(3:0)、cout。例化WBC单元,为每个功能管脚加入WBC,并连入指令控制模块。设TAM宽度为3 bit,为减少测试时间,平衡扫描链的长度,该3条扫描链为:PI(0),b(1),b(0),cin,s(0),cout,PO(0);PI(1),a(0),b(3),b(2),s(2),s(1),PO(1);PI(2),a(3),a(2),a(1),s(3),PO(2)。以同样方式对其他核进行Wrapper并搭建SoC测试架构。下面以4位加法器核并行内测试指令为例,将010二进制码输入配置寄存器,选中4位加法器核进行测试,然后再控制TMS信号,将并行测试指令111移入指令寄存器并进行更新,随后通过TAM信号输入测试激励,进行功能测试。为方便说明,这里只选010作为测试矢量,如果核的功能正确,根据Wrapper与TAM的连接情况,其TAM输出应为100和×11。从仿真波形中可以看出,测试数据移位更新捕获后,输出结果一致,功能正确。仿真波形如图8所示。


  为了实现SoC的并行测试,本文设计的P1500 Wrapper提供并行TAM的接口,供WPI-WPO的输入输出,同时给出了基于IEEE P1500的SoC测试架构,该结构充分考虑IEEE 1149.1 TAP的成熟技术,通过增设配置寄存器状态,并结合P1500的WIP信号,实现了对多个P1500核的测试控制。但对于Wrapper的优化设计以及对多种类型芯核的测试控制器的设计,还需进一步研究。
参考文献
[1]   MARINISSEN E J, ZORIAN Y, KAPUR R, et al.  towards a standard for embedded core test: an example. Proc. IEEE Int’l Test Conf.(ITC 99), IEEE Press, Pisca taway, N.J., 1999:616-627.
[2]  IEEE P1500 Web Site.http://grouper.ieee.org/groups/1500/.
[3]  MARINISSEN E J, GOEL S K, LOUSBERG M. Wrapper  design for embedded core test, Proc. IEEE International  Test Conference, AtIantic City, NJ,USA,2000:911-920.
[4]  陆思安,严晓浪,李浩亮.面向IP核测试复用的测试环设计.浙江大学学报(工学版), 2004,38(1):93-97.
[5]  LEE K J, HUANG C I,CHEN J B, et al. A hierarchical  test control architecture for core based design. In Proc.  Ninth IEEE Asian Test Symp. (ATS), Taipei, Dec, 2000:248-253.
[6]  LI J F, HUANG H J. A hierarchical test methodology for systems on chip. IEEE Design and Test of Computer, 2002:69-81.
[7]  WU Cheng Wen. SOC testing methodology and practice.  Design, Automation and Test in Europe,2005:1120-1121.

此内容为AET网站原创,未经授权禁止转载。