边界扫描测试解决方案的原理及应用分析

电子说

1.3w人已加入

描述

边界扫描测试(Boundary scan)是为了解决印制威廉希尔官方网站 板(PCB)上芯片与芯片之间的互连测试而提出的一种解决方案。它与内部扫描有明显的区别,前者是在威廉希尔官方网站 的输入/输出端口增加扫描单元,并将这些扫描单元连成扫描通路,后者是将威廉希尔官方网站 中普通的时序单元替换成为具有扫描能力的时序单元,再将它们连成扫描通路。

一、边界扫描测试原理

边界扫描的原理是在核心逻辑威廉希尔官方网站 的输入和输出端口都增加一个寄存器,通过将这些I/O上的寄存器连接起来,可以将数据串行输入被测单元,并且从相应端口串行读出。在这个过程中,它可以实现3方面的测试。

首先是芯片级测试,即可以对芯片本身进行测试和调试,使芯片工作在正常功能模式,通过输入端输入测试矢量,并通过观察串行移位的输出响应进行调试。

其次是板级测试,检测集成威廉希尔官方网站 和PCB之间的互连。实现原理是将一块PCB上所有具有边界扫描的IC中的扫描寄存器连接在一起,通过一定的测试矢量,可以发现元件是否丢失或者摆放错误,同时可以检测引脚的开路和短路故障。

最后是系统级测试,在板级集成后,可以通过对板上CPLD或者Flash的在线编程,实现系统级测试。

其中,最主要的功能是进行板级芯片的互连测试,如图1所示。

pcb

图1 基于边界扫描的板级互连测试

二、IEEE 1149.1标准

边界扫描是欧美一些大公司联合成立的一个组织——联合测试行动小组(JTAG),为了解决印制威廉希尔官方网站 板(PCB)上芯片与芯片之间互连测试而提出的一种解决方案。由于该方案的合理性,它于1990年被IEEE采纳而成为一个标准,即IEEE 1149.1。该标准规定了边界扫描的测试端口、测试结构和操作指令。

1.IEEE 1149.1结构

IEEE 1149.1结构如图2所示,其主要包括TAP控制器和寄存器组。其中,TAP控制器如图3所示;寄存器组包括边界扫描寄存器、旁路寄存器、标志寄存器和指令寄存器,主要端口为TCK、TMS、TDI、TDO,另外还有一个用户可选择的端口TRST。

pcb

图2 IEEE 1149.1结构

pcb

图3 TAP控制器

2.端口定义如下

(1)TCK(Test Clock)

边界扫描设计中的测试时钟是独立的,因此与原来IC或PCB上的时钟是无关的,也可以复用原来的时钟。

(2)TMS(Test Mode Select)

由于在测试过程中,需要有数据捕获、移位、暂停等不同的工作模式,因此需要有一个信号来控制。在IEEE 1149.1中,仅有这样一根控制信号,通过特定的输入序列来确定工作模式,采用有限状态机来实现。该信号在测试时钟TCK的上升沿采样。

(3)TDI(Test Data In)

以串行方式输入的数据TDI有两种。一种是指令信号,送入指令寄存器;另一种是测试数据(激励、输出响应和其他信号),它输入到相应的边界扫描寄存器中去。

(4)TDO(Test Data Out)

以串行输出的数据也有两种,一种是从指令寄存器移位出来的指令,另一种是从边界扫描寄存器移位出来的数据。

除此之外,还有一个可选端口TRST,为测试系统复位信号,作用是强制复位。

3.TAP控制器

TAP控制器的作用是将串行输入的TMS信号进行译码,使边界扫描系统进入相应的测试模式,并且产生该模式下所需的各个控制信号。IEEE 1149.1的TAP控制器由有限状态机来实现,图4所示为状态转移图。DR表示数据寄存器,IR表示指令寄存器。

pcb

图4 TAP控制器的状态转移图

4.寄存器组

(1)指令寄存器(IR,Instruction Register)

如图5所示,指令寄存器由移位寄存器和锁存器组成,长度等于指令的长度。IR可以连接在TDI和TDO的两端,经TDI串行输入指令,并且送入锁存器,保存当前指令。在这两部分中有个译码单元,负责识别当前指令。由于JTAG有3个强制指令,所以该寄存器的宽度至少为2位。

pcb

图5 指令寄存器

(2)旁路寄存器(BR,Bypass Register)

旁路寄存器也可以直接连接在TDI和TDO两端,只有1位组成。若一块PCB上有多个具有边界扫描设计的IC,可将每个IC中的边界扫描链串接起来。如果此时需要对其中的某几个IC进行测试,就可以通过BYPASS指令来旁路无须测试的IC。如图6所示,如果需要测试Chip2和Chip3,则在TDI输入110000就可以配置旁路寄存器,此时Chip1的旁路寄存器被置位,表示该芯片在测试过程中被旁路。

pcb

图6 旁路寄存器使用举例

(3)标志寄存器(IDR,Identification Register)

如图7所示,在一般的边界扫描设计中,都包含一个固化有该器件标志的寄存器,它是一个32位的标准寄存器,其内容有关于该器件的版本号、器件型号、制造厂商等信息,用途是在PCB生产线上,可以检查IC的型号和版本,以便检修和替换。

在器件标志寄存器的标准格式中,最低位(第0位)为1,用于识别标志寄存器和旁路寄存器的标志位。第1~11位为制造厂商的标识位。根据国际联合电子器件工程委员会所提出的方案,这11位共允许有2032个生产厂家的标识。第12~27位表示器件的型号,总计可以表示216=65536种不同的型号。余下的4位表示同一型号器件的不同版本。

pcb

图7 标志寄存器

(4)边界扫描寄存器

边界扫描寄存器是边界扫描中最重要的结构单元,它完成测试数据的输入、输出锁存和移位过程中必要的数据操作。其工作在多种模式,首先是满足扫描链上的串行移位模式,其次是正常模式下威廉希尔官方网站 的数据捕获和更新,如图8所示。

pcb

图8 边界扫描寄存器

利用边界扫描寄存器可提供如下的主要测试功能:

▪ 对被测IC的外部威廉希尔官方网站 进行测试,如可测IC之间的互连,此时可以使用外部测试指令EXTEST;

▪ 使用INTEST进行被测威廉希尔官方网站 的内部自测;

▪ 对输入、输出信号进行采样和更新,此时可以完全不影响核心逻辑威廉希尔官方网站 的工作状态。

5.相关指令

JTAG规定了3个强制指令:EXTEST、BYPASS、SAMPLE/PRELOAD。

(1)EXTEST:外测试指令

外测试指令主要用于测试IC和PCB之间的连线或边界扫描设计以外的逻辑威廉希尔官方网站 。执行该指令的主要操作为,将测试矢量串行移位至边界扫描寄存器,以激励被测的连线或外部逻辑威廉希尔官方网站 ,同时该寄存器又捕获响应数据,并串行移出测试结果,以便检查。

(2)BYPASS:旁路指令

这是一条由1组成的全1指令串,它的功能是选择该IC中的旁路寄存器BR,决定该IC是否被测试。

(3)SAMPLE/PRELOAD:采样/预装指令

采样指令用于不影响核心逻辑正常工作的条件下,将边界扫描设计中的并行输入端的信号捕获至边界扫描寄存器中,在测试时,通过采样指令捕获所测试逻辑威廉希尔官方网站 的响应。预装指令功能与采样基本相同,只是此时装入边界扫描寄存器的数据是编程者已知或确定的。除了上述必须的指令外,JTAG还定义了部分可选择的指令:INTEST、IDCODE、RUNBIST、CLAMP、HIGHZ。

▪ INTEST为内测试指令,用于测试核心逻辑威廉希尔官方网站 。执行过程与外测试指令基本相似,只是由于被测对象的位置恰好相反,它的激励端和响应测试端正好相反。

▪ IDCODE指令用于从标志寄存器中取出标志代码。

▪ RUNBIST为运行自测试指令,用来执行被测逻辑的自测试功能,需要保证威廉希尔官方网站 本身具有

▪ 自测结构。

▪ CLAMP是组件指令,有两个功能,一是使旁路寄存器为0,另一个是使边界扫描寄存器BSR的输出为一组给定的固定电平。

▪ HIGHZ是输出高阻指令,可以使IC的所有输出端都呈高阻状态,即无效状态。

三、边界扫描测试策略和相关工具

1.板级测试策略

利用边界扫描IEEE 1149.1进行板级测试的策略分以下3步。

① 根据IEEE 1149.1标准建立边界扫描的测试结构。

② 利用边界扫描测试结构,对被测部分之间的连接进行矢量输入和响应分析。这是板级测试的主要环节,也是边界扫描结构的主要应用。可以用来检测由于电气、机械和温度导致的板级集成故障。

③ 对单个核心逻辑进行测试,可以初始化该逻辑并且利用其本身的测试结构。

2.相关EDA工具

工业界主要采用的边界扫描工具为Mentor的BSDArchitect和Synopsys的BSD Compiler。以后者为例,其主要设计流程如图9所示。该流程会生成BSDL文件,该文件是边界扫描测试描述文件,该文件内容包括引脚定义和边界扫描链的组成结构。一般的ATE可以识别该文件,并自动生成相应的测试程序,完成芯片在板上的漏电流等参数的测试。

pcb

图9 边界扫描设计流程

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分