电子说
边界扫描测试(Boundary scan)是为了解决印制威廉希尔官方网站 板(PCB)上芯片与芯片之间的互连测试而提出的一种解决方案。它与内部扫描有明显的区别,前者是在威廉希尔官方网站 的输入/输出端口增加扫描单元,并将这些扫描单元连成扫描通路,后者是将威廉希尔官方网站 中普通的时序单元替换成为具有扫描能力的时序单元,再将它们连成扫描通路。
一、边界扫描测试原理
边界扫描的原理是在核心逻辑威廉希尔官方网站 的输入和输出端口都增加一个寄存器,通过将这些I/O上的寄存器连接起来,可以将数据串行输入被测单元,并且从相应端口串行读出。在这个过程中,它可以实现3方面的测试。
首先是芯片级测试,即可以对芯片本身进行测试和调试,使芯片工作在正常功能模式,通过输入端输入测试矢量,并通过观察串行移位的输出响应进行调试。
其次是板级测试,检测集成威廉希尔官方网站 和PCB之间的互连。实现原理是将一块PCB上所有具有边界扫描的IC中的扫描寄存器连接在一起,通过一定的测试矢量,可以发现元件是否丢失或者摆放错误,同时可以检测引脚的开路和短路故障。
最后是系统级测试,在板级集成后,可以通过对板上CPLD或者Flash的在线编程,实现系统级测试。
其中,最主要的功能是进行板级芯片的互连测试,如图1所示。
图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。
图2 IEEE 1149.1结构
图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表示指令寄存器。
图4 TAP控制器的状态转移图
4.寄存器组
(1)指令寄存器(IR,Instruction Register)
如图5所示,指令寄存器由移位寄存器和锁存器组成,长度等于指令的长度。IR可以连接在TDI和TDO的两端,经TDI串行输入指令,并且送入锁存器,保存当前指令。在这两部分中有个译码单元,负责识别当前指令。由于JTAG有3个强制指令,所以该寄存器的宽度至少为2位。
图5 指令寄存器
(2)旁路寄存器(BR,Bypass Register)
旁路寄存器也可以直接连接在TDI和TDO两端,只有1位组成。若一块PCB上有多个具有边界扫描设计的IC,可将每个IC中的边界扫描链串接起来。如果此时需要对其中的某几个IC进行测试,就可以通过BYPASS指令来旁路无须测试的IC。如图6所示,如果需要测试Chip2和Chip3,则在TDI输入110000就可以配置旁路寄存器,此时Chip1的旁路寄存器被置位,表示该芯片在测试过程中被旁路。
图6 旁路寄存器使用举例
(3)标志寄存器(IDR,Identification Register)
如图7所示,在一般的边界扫描设计中,都包含一个固化有该器件标志的寄存器,它是一个32位的标准寄存器,其内容有关于该器件的版本号、器件型号、制造厂商等信息,用途是在PCB生产线上,可以检查IC的型号和版本,以便检修和替换。
在器件标志寄存器的标准格式中,最低位(第0位)为1,用于识别标志寄存器和旁路寄存器的标志位。第1~11位为制造厂商的标识位。根据国际联合电子器件工程委员会所提出的方案,这11位共允许有2032个生产厂家的标识。第12~27位表示器件的型号,总计可以表示216=65536种不同的型号。余下的4位表示同一型号器件的不同版本。
图7 标志寄存器
(4)边界扫描寄存器
边界扫描寄存器是边界扫描中最重要的结构单元,它完成测试数据的输入、输出锁存和移位过程中必要的数据操作。其工作在多种模式,首先是满足扫描链上的串行移位模式,其次是正常模式下威廉希尔官方网站 的数据捕获和更新,如图8所示。
图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可以识别该文件,并自动生成相应的测试程序,完成芯片在板上的漏电流等参数的测试。
图9 边界扫描设计流程
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !