文献标识码: A
文章编号: 0258-7998(2013)01-0079-04
随着微电子技术、表面贴装技术和印制电路板制造技术的不断发展,单芯片多核设计、片上系统和叠层裸片技术等成为主流技术。现有的边界扫描测试方法(JTAG)已很难满足来自于测试、调试和功能等多方面的挑战:测试时需同时对多个测试存取端口(TAP)进行控制和扫描;调试时需缩短扫描链长度及支持调试数据的传输;功能上需减少测试引脚并且实现更低的功耗。在此背景下,可测试性总线标准委员会于2009年表决通过 IEEE 1149.7 标准,提出了紧凑型边界扫描技术(CJTAG)[1]。CJTAG在兼容IEEE 1149.1标准的基础上增加了新特性[2],完全满足现阶段芯片设计过程中测试与调试的新要求,且不影响目前市面上基于IEEE 1149.1标准设计的芯片进行测试与调试操作。
标准公布以后,在国内外电子业界引起了高度关注。CJTAG的研究主要包括两个方面[3],一方面是设计支持CJTAG测试的电路芯片:充分利用待测芯片的紧凑型边界扫描测试逻辑结构,提高电路芯片的测试与调试的效率,国内徐志磊等人对此研究设计和验证了CJTAG接口[4];另一方面是对支持CJTAG测试的电路芯片设计相应的测试系统:产生符合IEEE 1149.7标准的测试信号[5-6]。本文主要研究后一问题,即在IEEE1149.7标准所提出的边界扫描测试的基础上,研究组建1149.7边界扫描测试系统的设计方法。
1 IEEE 1149.7标准简介
IEEE1149.7标准以IEEE 1149.1-2001边界扫描标准为基础,提供可升级的测试方法满足集成电路种类繁多及功能复杂的需要,从功能上划分为T0~T5六层[7],每一层都在它上一层的基础上增加新的功能,如图1所示。
T0层确保符合IEEE 1149.1标准测试基础构架的可行性,支持多片上TAPC(测试存取引脚控制器)串行结构,可通过选择序列控制共享DTS的技术分支。T1层用零位DR扫描(ZBS)设定TAP.7控制器的状态,在不影响TAP.1控制器的前提下实现控制器命令。T2层通过芯片级的旁路扫描路径大幅缩短扫描链从而提高调试芯片的效率。T3层增加了4线星型(Star-4)扫描拓扑,可直接对TAP.7控制器进行寻址。T4层实现了质的飞跃,增加的2线星型(Star-2)扫描拓扑将TAP.7所需要的引脚数从4减少为2。T5层支持自定义的通信协议,且使用8个数据通道支持后台数据的传输,使测试引脚能同时进行待测芯片的调试与基本操作。
IEEE 1149.7标准根据测试与调试所需引脚数规定了标准协议和高级协议:标准协议指使用TCK、TMS引脚控制TAP控制器(支持IEEE 1149.x标准的TAP控制器)的状态进程,使用TDI、TDO引脚完成测试数据的传输;高级协议指使用TCKC与TMSC引脚不仅能控制TAPC的状态进程,而且还能完成测试数据的传输,TDIC和TDOC引脚可以闲置或做其他功能使用。IEEE 1149.7标准规定CJTAG的T4和T5层使用高级协议。根据IEEE 1149.7标准,T2和T5层的功能在调试方面更具优势,本文所设计的CJTAG测试控制器主要解决待测芯片的测试问题,故本文重点实现支持CJTAG的T0、T1、T3和T4层的测试。
2 基于IEEE 1149.7标准的边界扫描测试系统设计
在具有TAP.7接口的被测电路系统中进行边界扫描测试,需要满足两项条件:首先,被测系统的设计需符合IEEE 1149.7标准的规范;其次,需要有紧凑型边界扫描测试系统的支持。虽然标准提出了测试系统的功能要求,但对测试系统的构建方式与实现途径没有制定相应的规范。在深入研究IEEE 1149.7标准的结构与规范后,确定紧凑型边界扫描测试系统的设计方法。
2.1 系统功能总体设计
CJTAG测试体系包括测试软件和硬件平台,如图2所示。测试系统硬件包括两大功能模块:边界扫描测试控制器和USB接口电路,其中测试控制器将PC机并行发送的测试信号转化为满足IEEE 1149.7标准的串行测试信号,在系统软件控制下进行扫描测试操作。
USB接口电路负责测试数据的交换及对测试控制器的管理。
系统软件功能:提取被测电路的信息;根据提取的信息产生测试矢量发送至硬件平台,并对响应数据进行分析与故障诊断等。即在PC上完成测试的设置、测试矢量的生成、测试数据的发送、响应数据的接收、响应数据的分析、测试结果的存储及测试控制器的USB驱动。
2.2 测试系统硬件设计
CJTAG测试控制器作为测试体系最核心的部分,实际上是一种智能化的并行到串行的协议转换器:将PC机并行发送的测试数据或测试指令转化为待测芯片识别的串行CJTAG测试信号,且将待测芯片串行发送的响应数据并行发送至PC机。具体完成的工作:
(1)根据PC机的设置产生CJTAG测试时钟。
(2)读取PC机中的测试数据,并将这些并行的测试数据转化为串行的CJTAG测试信号。当无测试数据时,停止读取PC机的测试数据。
(3)采集待测芯片返回的响应数据,并将这些串行的响应数据并行写入PC机。当无响应数据时,停止采集响应数据。
2.2.1 控制器总体设计
根据CJTAG测试控制器的功能需求,将此控制器的设计分为五个子模块和一个顶层模块。五个子模块分别为基本测试控制模块、选择机制控制模块、命令控制模块、Star-4控制模块和Star-2控制模块,分别实现了CJTAG的T0、T1、T3和T4层的功能。顶层模块包括处理器接口模块和TAP.7接口模块,作为该控制器连接PC机和待测芯片的桥梁。具体硬件总体框图如图3所示。
2.2.2 基本测试控制模块设计
基本测试控制模块实现T0层的串行扫描测试,以TAP.7控制器状态机为基础设计一个模块状态机,产生串行扫描所需要的测试信号实时控制待测芯片。
此模块的工作过程:首先PC机将并行发送的测试数据和测试指令存储在该模块的数据存储器中。其次通过TMS引脚控制TAP.7控制器进入Shift-xR状态且自循环,测试数据或测试指令通过TDO引脚串行发送至待测芯片中,同时响应数据通过TDI引脚由待测芯片串行传输到该模块的数据存储器中,最后将响应数据并行输出至PC机。
Shift-xR状态测试数据或测试指令传输的操作流程如图4所示,图中ram_address为缓冲器地址,ram_reload表明装载缓冲器,test_data为测试数据或测试指令,shift_cnt为移位计数器。据此设计一个8×8的测试缓冲器,通过测试数据管脚并行接收PC机的测试数据或测试指令,在数据传输过程中通过TDO串行输出。
2.2.3 选择机制控制模块设计
选择机制控制模块实现T0层的选择序列。首先TMS(C)与TCK(C)信号产生相应的逻辑序列实现选择逃脱或警报初始化选择序列。初始化选择序列后,通过TMS(C)在TCK(C)下降沿产生指定的逻辑序列生成选择序列。
生成选择序列的操作流程如图5所示。
2.2.4 其他控制模块设计
其他控制模块设计过程类似,命令控制模块实现T1层的控制器命令,以TAP.7控制器状态机为基础设计一个模块状态机,产生所需要的测试信号实时控制待测芯片,依次实现待测芯片的ZBS以及控制器命令。
Star-4控制模块实现T3层的Star-4测试信号,以TAP.7控制器状态机为基础设计一个模块状态机,产生所需要的测试信号实时控制待测芯片,在允许停泊的状态发送SSD指令,选择目标控制器传输数据。
Star-2控制模块实现T4层Star-2测试信号,以TAP.7控制器状态机为基础设计一个模块状态机,产生所需要的测试信号实时控制待测芯片调用高级协议,在Star-4控制模块的基础上实例化调用高级扫描生成模块,产生Star-2扫描拓扑测试信号。
2.3测试系统软件平台
测试系统软件主要包括文本编译模块、测试矢量生成模块、测试运行模块、故障诊断模块、交互调试模块等部分。
测试系统软件总体框图如图6所示。测试软件从操作界面输入电路板网表文件,结合器件BSDL.1/BSDL.7/HSDL.7文件信息,通过文本编译生成扫描链信息,分析可测互连网络,确定互连网络节点的结构类型,选定测试矢量生成算法。根据测试任务类型生成对应的测试矢量集,利用测试运行模块测试操作。最后通过诊断模块对测试结果进行故障诊断,判定故障类型及故障位置。
3 测试及验证
本文中设计的测试控制器利用FPGA硬件平台进行设计和QuartusⅡ软件进行仿真验证。对五个子模块功能,以选择机制控制模块为例进行设计验证。
选择机制控制模块的主要功能是生成选择序列。分别对选择逃脱、警报及生成的选择序列进行仿真,验证设计的正确性。
3.1选择逃脱及短型选择序列的仿真
选择逃脱及短型选择序列的仿真如图7所示,由仿真图可知选择机制控制模块实现了选择逃脱和短型选择序列。
3.2 警报及长型选择序列的仿真
警报及长型选择序列的仿真如图8所示,由仿真图可知选择机制控制模块实现了警报和长型选择序列。
由以上分析可知,选择机制控制模块实现的测试信号满足了IEEE 1149.7标准中关于选择序列的要求。
边界扫描测试技术广泛应用于超大规模的集成电路中,IEEE 1149.7测试标准的发展为测试设计提出了更高的要求。本文从IEEE1149.7标准分层理论入手,针对测试问题设计了CJTAG测试控制器。该控制器以CJTAG的六个功能层为理论依据,提供了一种可扩展的设计方案。通过构建测试系统,仿真实验验证证明了设计的正确性。
参考文献
[1] IEEE Std 1149.7. IEEE standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture[S]. IEEE Standard Board, 2009.
[2] IEEE Std 1149.1-2001. IEEE standard test access port and Boundary-Scan Architecture[S]. IEEE Standard Board, 2001.
[3] LAU S. 在SoC调试中重塑JTAG的作用[J].电子设计应用, 2009(2):26-29.
[4] 徐志磊.紧凑型JTAG接口的设计与验证[D].上海:上海交通大学,2010.
[5] 黄文君.基于IEEE1149.7边界扫描技术的研究[D].桂林:桂林电子科技大学, 2011.
[6] 建真真. CJTAG测试控制器的研究设计[D].桂林:桂林电子科技大学,2012.
[7] LEY A W. Doing more with less-an IEEE 1149.7 embedded tutorial: standard for reduced-pin and enhanced-functionality test access port and boundary-scan architecture[J]. International Test conference, 2009.