自从集成电路出现以来,对其功能的检查一直以来都很有必要。对于数字电路,测试很简单:相继应用所有可能的测试矢量,然后将电路反馈的输出(实际值)与期望值相比较。如果两者没有差异,那么这个电路是正确的。根据摩尔定律和麦克拉斯基法,一个带有两个输入端的简单与门电路,可以根据以下规则计算出最少测试矢量数:
因为与门一般不会有存储单元,所以只有4个必要的测试矢量——这是一个可以控制的数量。如果这是一个有25个输入和50个存储单元的电路,工程师在20世纪70年代所面临芯片发展中的问题是显而易见的。
IEEE1149.1边界扫描标准
IEEE1149.1边界扫描标准描述的是静态数字互连测试。它决定了边界扫描器件的结构,以及每一个边界扫描器件都附有唯一的“边界扫描描述语言(BSDL)”文件。IEEE 1149.1定义了边界扫描芯片内部架构,它必须包括四个基本组成部分:一个测试访问端口(TAP),一个TAP控制器,一个指令寄存器和一个或多个数据寄存器。
“ 测试访问端口” 是外部电路与器件内边界扫描逻辑电路的接口。它有三个输入信号(第四个输入信号为可选)和一个输出信号。其输入信号是:测试时钟( T C K ) , 测试模式选择(TMS),测试数据输入( T D I ) 和测试重置(TRST)——可选。输出信号为测试数据输出(TDO)。
TCK和TMS以及可选的TRST信号都是广播信号,借此在TDI和TDO间建立了串行链,即所谓的扫描链或扫描路径。在板级,被称为测试总线。无论扫描链上有多少器件,不会有需要超过4个(可选为5个)信号线。
在边界扫描芯片里,TCK,TMS以及TRST直接(静态地)与TAP控制器相连。TAP控制器的状态完全由这些信号控制。这意味着,在一个扫描链中的所有边界扫描器件具有相同的TAP状态。不过,这并不意味着所有的器件都必须具有相同的运作模式/指令。
“TAP控制器”对整个芯片的边界扫描逻辑进行完全控制,也就是说,由它决定边界扫描单元是否有效以及是否实行测试或者得到激励。“TAP控制器”的核心是“TAP状态机”,由它产生的状态来控制内部边界扫描逻辑。
“指令寄存器”决定了边界扫描IC的运作模式,这反过来又影响了边界扫描单元的控制,以及在实际扫描链上转换的数据寄存器(TDI和TDO之间的寄存器)选择。 IEEE 1149.1标准定义了三个强制性指令:旁路、采样/预装和外部测试。
每条指令都有一个各自的指令代码(bit码)。指令代码可以由芯片制造商自由定义(旁路指令例外,它必须完全由数字1组成)。指令寄存器的长度可以任意定义,表1所示的例子中,指令寄存器的长度定义为2位。
边界扫描器件可能包含多个数据寄存器,它们被用来移入或读出器件内的信息。IEEE 1149.1定义了至少需要两个强制性数据寄存器:旁路寄存器和边界扫描寄存器。另外,还可以加入其它的寄存器,例如,“id码”寄存器。
“旁路寄存器”用于从边界扫描IC互连组件中将器件旁路,其最小长度只有一个比特。该比特的值定义为0,且不可改变的。“边界扫描”寄存器就是一连串的单个边界扫描单元。由于每个芯片有不同数量的边界扫描单元,所以该寄存器的长度是可变的。
边界扫描单元
边界扫描单元是边界扫描测试方法的基本要素,其所有构造函数都是用于正确控制各边界扫描单元的。
边界扫描单元使器件引脚脱离其正常功能,即驱动或测量一个特定电平。为此,它位于器件的核心逻辑和外围引脚之间(输出驱动,输入驱动)。因为它们的功能类似于在线测试技术的物理探针,对板上测试点进行访问测试,所以边界扫描单元也被称为“电子探针”。
边界扫描单元的内部结构是可变的。2001年的版本中,IEEE1149.1介绍了10种不同的单元类型(从BC_1到BC_10)。虽然边界扫描单元有各自独特的结构,但排列往往很相似。
边界扫描描述语言
每一个边界扫描器件都有一个特殊的边界扫描结构,这对测试工程师或测试软件能否很好地测试这个器件很重要。IEEE 1149.1标准具有强制执行的核心要求,但也必需给个体发展留出空间。因为一个有20个引脚的IC与一个有1500个引脚的IC相比,它具有较少的单元。
边界扫描描述语言(BSDL)是对边界扫描特性的描述,它是芯片制造商(只有他们知道芯片内部结构)和测试工程师(他们想要使用其芯片内部结构)之间的交流平台。BSDL文件提供的内容包括:
• 可用的测试总线信号(尤其是关于可选的TRST信号是否存在,及驱动该器件的最大TCK频率的信息)
• 可能的 “服从”引脚
• 指令寄存器(包括比特码的可用指令,指令寄存器长度)
• 数据寄存器(可用的数据寄存器,包括预设值,例如,芯片的ID码)
• 边界扫描单元结构(数量、类型、功能和IC引脚的分配等)
IEEE 1149.1的应用范围和局限
凡属于数字领域的,并且没有时间限制的所有器件,都可以按IEEE 1149.1标准进行数字电路静态互连测试。因此,它可以测试电阻(是否存在?)、晶振、IC驱动、逻辑门、IC复位,甚至可以测试RAM IC或Flash IC(并行和串行皆可)。例如,对于后者,必要的读写协议只要通过边界扫描器件引脚仿真,这与功能测试具有相同的功能,但由于是串行边界扫描链,所以速度较慢。
该测试方法的局限性是:最大可能的IC引脚转换/测试频率,这与边界扫描单元数(从而影响到边界扫描寄存器长度)和测试时钟频率有关。无论是要改变一个还是多个器件引脚的信号电平,每一次转换都必须通过所有单元。
一个具有500个边界扫描单元及10MHz典型频率的中等尺寸边界扫描器件的整个转换过程需要50μs。然而,一个转换过程可以使一个IC引脚的信号发生变化。另外,需要另一个转换过程来实现一个可达到的最大100μs-1的 频率,即10kHz。
现代化工具带来了什么好处?
由于新知识的应用,人们对边界扫描测试系统提出一些新的基本要求。用户不希望费心为TMS信号的正确转换,来控制“TAP状态机”的正确波形,也不想为“TAP状态机”烦心,而是最想确定边界扫描IC的工作模式。
幸运的是,现代化工具有效地减轻了这种烦人的工作。边界扫描工具的一般意义是什么?边界扫描测试系统由硬件和软件组成。硬件的“唯一”作用是控制TAP信号。全世界每一个边界扫描的硬件都具备这个基本功能(但部分在性能上有差异,如实际产出量和灵活性)。
边界扫描系统供应商提供的软件也有区别,这就是为什么在谈及边界扫描工具时,常常会涉及到软件。现代边界扫描软件可以自动生成必要的测试矢量,并指导操作员迅速找到测试对象的故障区域,即最优可能诊断。如果在生产线或其它测试系统中考虑使用边界扫描测试集成,这就要求现代边界扫描工具必须提供相应的接口。
可测试性设计(DFT)
如果在原理图设计过程中或在器件选择上不遵守详细的设计规则,那么,最好的边界扫描测试系统即使有着最强大的自动测试程序产生器(ATPG)也是无用的。下列标准列出部分最重要的“可测试性设计”规则:
• 认证测试码型(Compliance Pattern)
使用边界扫描器件,多种功能共同使用TAP引脚是很普遍的,例如调试。因此,这样的器件通常有一个引脚来确定此功能。此引脚被命名为JTAG#/DEBUG,在该引脚施加高电平时启动调试模式。在这个例子中,必须在此引脚上施加低电平,这样才能进行边界扫描测试。
• 测试总线终端
一个良好的测试总线终端(见图5)对于快速测试是必不可少的。作为指导原则,测试时间与 测试时钟频率成正比的。现代测试系统能够处理80M甚至100MHz的TCK信号;其在TAP信号连线时,需要格外关注。
• 灵活的扫描链
生产不同装配版本的板子是很普遍的。需要注意的是,如果这样的不同装配版本是在边界扫描器件上,那么在此扫描链上的一个IC可能缺失,也就是说,TDI → TDO的串行路径会断开,这将产生一个完全失效的结果。
• 访问等于成功
“访问=成功”,这个“可测试性设计”的关键原则对于边界扫描测试技术如同经典的在线测试方法一样,都是同样有效的;只是实现方式不同而已。
对于在线测试,需要尽可能设置测试点。相反,对于边界扫描,那些没有引线出来的IC引脚在边界扫描器件里有一部分是不使用的。通常,这些引脚(尤其是在可编程逻辑器件中)在正常的PCB功能下是不需要的。
两个典型的例子说明了那些没有用到的“测试点” 是如何被用于显著地提高测试覆盖率的。
在第一个例子中,图6所示的RAM组,其时钟信号由锁相环分配。但边界扫描测试RAM器件必需静态访问所有IC管脚,这不是由锁相环提供的时钟信号,损失了较高的测试覆盖率。
图7所示,访问单个IC引脚是为了整个器件的可测试性。该图显示一个集成NAND tree测试的器件;它可以在每次边界扫描时优化测试,当特定的信号电平在预定的IC引脚(“TEST”)输入时,NAND tree测试被激活。
未来标准
JTAG/边界扫描标准IEEE1149.1的成功,激发并鼓励所有参与者提高测试技术,从而提高测试覆盖率。在众多新开发并通过的标准中,以下介绍两个标准:
• IEEE1149.4
IEEE1149.4标准的突破,可能意味着经典在线测试的结束,因为它是一个混合信号测试标准,主要针对模拟信号互连测试。该方法非常简单,除了4个(可选5个)TAP信号,还需要两个模拟信号测试访问端口(ATAP)“模拟信号测试1(AT1)”和“模拟信号测试2(AT2)”。这些额外的引脚可以在内部转换成彼此独立的测试总线,连接到符合IEEE 1149.4标准的器件引脚上。可以说,IEEE1149.4器件有一个内部继电器矩阵,可通过测试总线转换到任何引脚。如果ATAP与一些外部方法相连,便可建立一个有限制功能的经典在线测试仪。
• IEEE1149.6
IEEE1149.6标准可以测试串行的数字高速连接线路,它描述了“高级数字网络”互连测试,使用现有的TAP信号是其最大的优势。该标准需要一些额外的指令,一个扩展的边界扫描单元和一个集成测试图形生成器。
这一标准也是非常简单的。符合IEEE 1149.6标准的IC的一些引脚连接到新型的边界扫描单元。相对于旧的单元类型,这种新单元有一个特殊的输入连接到内部测试图生成器。边界扫描单元输入到新输入端的每个指令,测试图生成器都向边界扫描单元发送测试图形。器件引脚独立于测试时钟信号,以用于发送。
与此同时,在接收端上,测试向量读入并写入缓冲区。随后,与来自发送端的测试图形pass/ fail标准比较。这项标准是在一个边界扫描单元里的,且其值为0或1,可以由测试系统读出并评估。
总结
JTAG/边界扫描是一个创新的测试技术,从用有限的物理接入一块板子的走线(ICT),跃进到了一个电子技术上的无限接入。JTAG/边界扫描只需要4根控制线,和一些重要的可测性设计规则。
谈到JTAG/边界扫描,IEEE 1149.1标准在静态数字互连测试中的局限性是模拟信号测试和高速互连测试。但是,IEEE 1149.4和IEEE 1149.6这两个崭新的标准扩展了JTAG/边界扫描在这些领域的应用。边界扫描测试开发者没有必要处理该技术的每个细节性问题,因为基于器件模型的现代工具,替他们完成了大部分的任务。