1、第7章 边界扫描法,南京航空航天大学 信息科学与技术学院 电子工程系,本章主要内容 边界扫描法的基本结构 测试存取通道的信号 寄存器及指令 操作方式 边界扫描描述语言 板级测试,第7章 边界扫描法,南京航空航天大学 信息科学与技术学院 电子工程系,参考文献 IEEE Standard Test Access Port and Boundary-Scan Architecture, IEEE Std 1149.1-2001 雷绍充、邵志标、梁峰,VLSI测试方法学和可测性设计,北京,电子工业出版社,2005 陈光禹,潘中良编著,可测试性设计技术,电子工业 出版社,1997 杨士元,数字系统的故障
2、诊断与可靠性设计,北京,清华大学出版社,2000,边界扫描技术的背景,传统测试技术面临挑战,芯片封装技术不断朝着高度集成化、高性能化、多引线和细间距化方向发展 ; 表面安装器件(SMD)、多层印制板(MPCB)等技术在电路板中的应用; 导致可供测试的结点间距也越来越小,有的甚至完全成为隐性的不可达结点.,边界扫描技术的提出与发展,20世纪80年代,提出可测性设计的思想; 19851988 JTAG小组成立,并提出JTAG2.0; IEEE 1149.1标准的批准与完善.,边界扫描测试基本思想,在靠近器件的每一输入/输出管脚处增加一个移位寄存器单元。在测试期间,这些寄存器单元用于控制输入管脚的状
3、态,并读出输出管脚的状态,这样就可测试出电路板中器件的好坏及相互连接的正确性。在正常工作期间,这些附加的移位寄存器单元是“透明的”,不影响电路板的正常工作。,7.1 边界扫描法的基本结构,边界扫描的基本结构如右图,主要由以下硬件组成: 测试存取通道(TAP) TMS, TCK, TDI, TDO, TRST* (可选) TAP控制器 指令寄存器(IR) 测试数据寄存器(TDR) (边界扫描寄存器、器件ID寄存器、旁路寄存器及专用测试寄存器) 它们在TDI和TDO之间并联,选择哪个寄存器形成扫描路径由指令寄存器控制。,南京航空航天大学 信息科学与技术学院 电子工程系,其中必选:边界扫描寄存器、旁
4、路寄存器 可选:器件ID寄存器、 专用测试数据寄存器,测试存取通道(TAP)的信号,TAP是访问元器件内嵌入式测试支持功能的通用端口。IEEE 1149.1标准中规定测试存取通道为4(或5)线端口。 TCK是为测试逻辑提供的专用时钟信号,是测试过程中各个步骤的基准,许多测试逻辑是在TCK的上升沿或下降沿完成。 TMS传送的是测试控制信息,由TAP控制器译码并控制相应的测试操作。由于仅用一根输入线控制许多元器件,所以必须用一个输入序列来确定测试方式,同时也必须确保序列传输和译码的准确性(如,0110001000010000110000是指令扫描方式)。 TDI以串行方式移入输入数据,传输的数据有
5、两种:供指令寄存器译码的指令数据和传输到测试数据寄存器的测试数据。 TDO以串行方式移出输出数据,传输的数据有两种:测试指令和测试数据。 TRST是一个可选的测试线,当逻辑“0”施加于TRST端口时,TAP的测试逻辑强制进入异步复位方式。,寄存器,指令寄存器,测试数据寄存器,其行为由TAP控制器的状态决定,根据移入指令的内容将某一数据寄存器连接到TDI和TDO之间。,旁路寄存器(BR):BR是一个移位寄存器。它提供了一条TDI到TDO的最短通道,用于将不参与串行扫描的数据寄存器旁路掉,以减少不必要的扫描时间。 边界扫描寄存器(BSR):BSR是边界扫描设计中最重要的工作寄存器。它负责完成测试数
6、据的输入、输出、锁存和移位等测试所必需的操作。 器件标志寄存器(DIR):DIR是一个存储器件制造商、器件序列号和器件版本号信息的32位寄存器。 设计专用测试寄存器:IEEE1149.1标准中没有定义的专用数据寄存器,并设计专用的指令来使用它。,南京航空航天大学 信息科学与技术学院 电子工程系,操作模式: 1. 正常工作: Mode=0; Signal In Signal Out 2. 扫描操作: Shift=1,ClockA; Scan In Scan Out 3. 捕获操作: Shift=0, ClcokA; Signal In QA 4. 刷新操作: Mode=1, ClockB; QA
7、 Signal Out,基本边界扫描单元(BSC),边界扫描寄存器BSR由边界扫描单元BSC 组成。 边界扫描单元的设计举例如下,可以连接到IC的I/O引脚。,南京航空航天大学 信息科学与技术学院 电子工程系,基本边界扫描单元(BSC),操作模式: 1. 正常工作: Mode=0; 输入I/O 系统逻辑 2. 扫描操作: ShiftDR=1,ClockDR; TDI TDO 3. 捕获操作: ShiftDR=0, ClcokDR; 输入I/O QA 载入扫描通路 4. 刷新操作: Mode=1, UpdateDR; QA 系统逻辑 前级捕获并输出,边界扫描寄存器BSR由边界扫描单元BSC 组成
8、。 边界扫描单元的设计举例如下,可以连接到IC的I/O引脚。,引脚与边界扫描单元的关系,(书上这个图有错误),芯片管脚包括输入管脚,输出管脚。 输出管脚包括三态、两态和双向管脚。,南京航空航天大学 信息科学与技术学院 电子工程系,测试工作流程,下面以芯片的内测试介绍测试的工作流程,南京航空航天大学 信息科学与技术学院 电子工程系,7.2 TAP控制器,南京航空航天大学 信息科学与技术学院 电子工程系,TAP控制器是一个状态机,输入TCK、TMS TAP对接收到的这两个信号译码,产生对应的操作控制序列,控制电路进入相应的测试方式。,TAP控制器所有的状态转换都必须根据TMS在TCK的上升沿出现的
9、值,所有测试逻辑的变化必须出现在TCK的上升沿或下降沿。,右图表示IEEE 1149.1 标准定义的TAP控制器状态图。箭头边上的数字0或1表示TMS信号在TCK上升沿的值。,输出9 或 10个信号: ClockDR、 UpdateDR、ShiftDR、 ClockIR、 UpdateIR, ShiftIR、 Select、 Enable、TCK 和可选的TRST*. 控制器根据不同的状态输出信号来控制寄存器。如,之前介绍的BSC对应的控制信号如下: ClockDR-ClockA UpdateDR-ClockB ShiftDR-Shift/Load*,南京航空航天大学 信息科学与技术学院 电子
10、工程系,TAP控制器是一个状态机,各个状态的功能与意义,由状态机可以看出: 有6个状态是稳定态 Test-Logic-Reset、 Run-Test/Idle、 Shift-DR、 Shift-IR、 Pause-DR、 Pause-IR。,南京航空航天大学 信息科学与技术学院 电子工程系,各个状态的功能:,(1)测试逻辑复位 (Test-Logic-Reset ) 当芯片上电或在主逻辑正常工作时,TAP控制器通过保持TMS 5个时钟周期以上的高信号来强迫边界扫描结构处于测试逻辑复位状态。,各个状态的功能与意义,南京航空航天大学 信息科学与技术学院 电子工程系,(1)测试逻辑复位 (Test-
11、Logic-Reset ),该状态下,边界扫描测试结构完全失效,从而保证主IC逻辑正常工作。,(2)测试运行/空闲(Run-Test/Idle ) 是测试过程中的一个过渡状态,只要TMS信号保持为低,TAP控制器则始终维持这种状态,此时测试逻辑的操作取决于之前送入指令寄存器中的命令。,当需要进行边界扫描测试时,通过采样TMS信号,TAP控制器退出测试逻辑复位状态,按照适当的路径经过Run-Test-Idle状态选择扫描数据链或扫描指令链。,各个状态的功能与意义,(3)数据寄存器捕获 (Capture-DR),南京航空航天大学 信息科学与技术学院 电子工程系,(4)数据寄存器移位(Shift-D
12、R) 该状态下,当前指令所选择的数据寄存器(扫描链上的移位寄存器)中的数据在每一个TCK的上升沿时刻,都向TDO方向移动一位。,该状态下,数据在TCK的上升沿被并行的装入由当前指令选择的测试数据寄存器中。,如果当前指令选择的数据寄存器不具有并行输入,或者所选的测试不需要捕获操作(如BYPASS操作),则该数据寄存器中的内容保持不变。,各个状态的功能与意义,该状态下,数据在TCK的下降沿从移位寄存器并行锁存到数据锁存器中(并行输出)。,(6)指令寄存器捕获(Capture-IR) 该状态下,固定逻辑值(或特殊定义值)在TCK的上升沿被装载到指令寄存器,并在Shift-IR状态下移出指令寄存器。,
13、(5)数据锁存器更新(Update-DR),当测试数据寄存器进行数据捕获或数据移位操作时,锁存器中的数据都不会变化,只有在数据锁存器更新状态下,其内容才被移位寄存器中的内容所代替。,各个状态的功能与意义,(7)指令寄存器移位 (Shift-IR) 与Shift-DR相似,只是移位的对象为指令寄存器中的数据。,(8)指令锁存器更新(Update-IR ) 与Update- DR类似,在该状态下,串行移入到指令寄存器中的数据在TCK的下降沿被并行锁存到锁存器中。新的指令一旦被锁存,它就立刻被执行成为当前的测试指令。,除上述8中状态外,还有Select-DR-Scan、Select-IR-Scan都
14、是临时状态,不影响数据寄存器的状态。 暂停(Pause) 协调系统时钟和测试时钟,退出(Exit 1, Exit2 )提供状态分支转移。,指令移位状态转移图,南京航空航天大学 信息科学与技术学院 电子工程系,指令移位时序图,南京航空航天大学 信息科学与技术学院 电子工程系,数据移位状态转移图,南京航空航天大学 信息科学与技术学院 电子工程系,数据移位时序图,南京航空航天大学 信息科学与技术学院 电子工程系,7.3 指令,南京航空航天大学 信息科学与技术学院 电子工程系,BYPASS指令,目的: 这个1bit寄存器(旁路寄存器)用来提供TDI和TDO的最小串行通道。利用该寄存器旁路扫描链。 该寄
15、存器的数据流如右图所示。,下图中,为了对IC57测试,将IC56和IC58旁路掉,减少测试数据移位量。,南京航空航天大学 信息科学与技术学院 电子工程系,EXTEST指令,该指令主要用于测试板级互连,下面是测试芯片互连的数据流。,(1) 正常工作: Mode=0; 输入I/O 系统逻辑 (2) 扫描操作: ShiftDR=1,ClockDR; TDI TDO (3) 捕获操作: ShiftDR=0, ClcokDR; 输入I/O QA 载入扫描通路 (4) 刷新操作: Mode=1, UpdateDR; QA 系统逻辑 前级捕获并输出,EXTEST指令,下面是芯片输入输出边界扫描单元的数据流,
16、南京航空航天大学 信息科学与技术学院 电子工程系,SAMPLE/PRELOAD指令,捕获/预置指令用于 (1)捕获和将数据移出 捕获正常工作条件下PI/PO状态,(2)预置数据,捕获操作: ShiftDR=0, ClcokDR; 输入PI QA , 输出PO QA , 载入扫描通路。,ShiftDR=1, ClcokDR; TDI QA Mode=1, UpdateDR; QA 系统逻辑,INTEST指令,TDO,1.Shift-DR,TAP Controller,0,Internal Logic,Registers,TDI,TDO,2.Update-DR,TAP Controller,0,I
17、nternal Logic,Registers,TDI,TDO,3.Capture-DR,TAP Controller,0,Internal Logic,Registers,TDI,4. Shift-DR,内测试指令用于测试片内系统逻辑。,南京航空航天大学 信息科学与技术学院 电子工程系,(1) 正常工作: Mode=0; 输入I/O 系统逻辑 (2) 扫描操作: ShiftDR=1,ClockDR; TDI TDO (3) 捕获操作: ShiftDR=0, ClcokDR; 输入I/O QA 载入扫描通路 (4) 刷新操作: Mode=1, UpdateDR; QA 系统逻辑 前级捕获并输出
18、,INTEST指令,南京航空航天大学 信息科学与技术学院 电子工程系,其他指令,南京航空航天大学 信息科学与技术学院 电子工程系,要完成“运行内建自测试”,可以采取以下步骤: (1)通过预装指令对BSR初始化(如果内建自测试期间管脚状态由保持在BSR的数据确定,则初始化是必然的),为可选项; (2)内建自测试初始化:把运行内建自测试指令扫描到指令寄存器; (3)运行内建自测试:TAP控制器保持在“运行-测试/空闲”状态,给完成“运行内建自测试”留有一定的时间; (4)分析内建自测试结果:TAP控制器置于“数据寄存器移位” 状态,从连接在TDI和TDO之间的寄存器把测试结果扫描出来。,取器件标志
19、指令(IDCODE) 器件标志寄存器允许从器件串行读取器件的信息,包括器件的制造厂商、器件的编码及其版本。,内建自测试指令(RUNBIST) 用于运行器件内嵌的自测试功能。 运行内建自测试指令不需要装载复杂的测试图形,也不需要内测试指令那样的单步操作。测试速度高,甚至可以达到器件的工作速度。,其他指令,例如,Altera公司的FPGA器件EP1C3T144的IDCODE编码: “0000“ -Mandatory LSB,31 28 27 12 11 1 0,用户编码指令(USERCODE) 允许把用户可编程的标志码移出器件以供检查,这条指令只为可编程器件所用。 组件指令(CLAMP) 借助于边
20、界扫描单元来控制器件的输出信号为固定电平。 输出高阻指令(HIGH) 该指令是一条可选指令。它使器件的所有系统逻辑输出为高 阻状态,测试系统只对器件驱动正常的节点作用,防止对器件的损伤。,7.4 边界扫描描述语言(BSDL),BSDL是VHDL(甚高速硬件描述语言)的一个子集,并与之完全兼容。 BSDL 文件由主体(entity)、组件(package)和组件体(package body)三个部分组成。 主体是一个 BSDL 文件的主要部分,用来描述器件中输入输出通道上的边界扫描设计参数和属性,这些参数和属性分别来自预定义的标准组件 (package)和组件体。,BSDL简介 在 IEEE 1
21、149.1 标准正式发布之后,越来越多应用此标准的人认识到需要一个用于描述带有标准边界扫描结构的器件的方法。利用这种通用的表达形式,各个厂商或用户之间可以交换有关器件边界扫描结构的信息。 IEEE 1149.1委员会专门成立了一个制定器件描述语言的开发小组,于 1994 年正式提出边界扫描描述语言并将其作为IEEE 1149.1标准的附录。,主体,BSDL主体描述结构如右图所示。 主要包括: 通用参数(Generic Parameter) 逻辑通道描述(Logic Port Description) 使用标准说明(Standard Use Statement) 组件管脚映射(device Pa
22、ckage Pin Mapping) 扫描通道标志(Scan Port Identification) TAP描述(TAP Description) 边界扫描寄存器描述(Boundary-scan Register Description),BSDL文件举例说明,以Altera公司的FPGA芯片EP1C3T144的BSDL文件ep1c3t144.bsd为例,来分析测试相关的信息,主要包括TAP描述、管脚映射描述和 边界扫描寄存器描述。 1. 通用参数 在BSDL中,通用参数使得易于在多个BSDL中描述的元件封装选项间作出选择,标准中推荐使用给定元件数据单中的元件封装名来作为相关的“管脚映射名”
23、 ,例如SSOP_56、PGA18x18等。 EP1C3T144的BSDL文件中描述如下: generic (PHYSICAL_PIN_MAP : string := “TQFP144“); 说明此文件对应的芯片封装形式为144脚的TQFP封装,即扁平方形封装( Thin Quad Flat Pack)。 2. 逻辑通道描述 BSDL的端口描述是一个专用的VHDL端口列表,此处应该对器件的引脚赋以有意义的名称,并给与必要的说明。,BSDL文件举例说明,逻辑通道描述在EP1C3T144的BSDL文件中如下(部分节选): port (-I/O Pins IO1, IO2, IO3, IO4, IO
24、5, IO6, IO7, IO143, IO144: inout bit; -双向引脚 -Cyclone系列专用引脚 CLK0, CLK2, DATA0, MSEL0, MSEL1: in bit; DCLK: inout bit; CLK1, CLK3, CONF_DONE, NCE, NCEO, NCONFIG, NSTATUS: linkage bit; -非数字引脚 TCK, TMS, TDI : in bit; -JTAG端口引脚 TDO : out bit; VCC : linkage bit_vector (1 to 13); -电源引脚 GND: linkage bit_vec
25、tor (1 to 14) -地引脚 );,南京航空航天大学 信息科学与技术学院 电子工程系,BSDL文件举例说明,3. 标准使用说明 说明采用哪一个标准的VHDL组件及其定义的属性、类型、常数以及供参考的信息。 标准使用说明在EP1C3T144的BSDL文件中为: use STD_1149_1_1994.all; - 使用IEEE 1149.1_1994标准 4. 扫描通道标志 扫描通道中使用的通道名称必须在通道描述中定义。其中在CLOCK的描述中,第一个数字表示最高的工作频率,第二个字符可以是low或both。 在EP1C3T144的BSDL文件中此部分为: attribute TAP_S
26、CAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (10.00e6,BOTH);,在EP1C3T144的逻辑端口描述中使用的信号名为:TDI、TDO、TMS及TCK,使用的名字均在本标准中进行了定义。 TCK最高的工作频率为10MHz。,BSDL文件举例说明,5. TAP描述 说明TAP控制器相关的特性
27、。 TAP控制器包括4个或5个控制信号,一个用户定义的指令集(IEEE 1149.1标准规定范围内)和一些可选择的数据寄存器。 EP1C3T144的BSDL文件中TAP描述包括如下(主要包括指令寄存器长度(至少2位)、指令二进制编码和指令捕获等): attribute INSTRUCTION_LENGTH of EP1C3T144 : entity is 10; 指令长度(INSTRUCTION_LENGTH)属性定义所有操作码 的长度都为10位。,南京航空航天大学 信息科学与技术学院 电子工程系,attribute INSTRUCTION_OPCODE of EP1C3T144 : enti
28、ty is “BYPASS (1111111111), “& “EXTEST (0000000000), “& “SAMPLE (0000000101), “& “IDCODE (0000000110), “&,BSDL文件举例说明,南京航空航天大学 信息科学与技术学院 电子工程系,“USERCODE (0000000111), “ 指令操作码(INSTRUCTION_OPCODE)属性指出器件所支 持的指令的二进制代码,所有字 串中最右边的位最靠近TDO。 主要包含前面介绍的一些指令,例如旁路、外测试、采样等。,attribute INSTRUCTION_CAPTURE of EP1C3T1
29、44 : entity is “0101010101”; -指令捕获 指令捕获属性定义了当TAP控制器处于捕获指令(Capture_IR)状态时,被装入指令寄存器的移位寄存器部分的向量为“0101010101”。当送入新指令时,此向量被移出。 IEEE 1149.1标准规定其最低两位为“01“,其余位由厂商自行定义。,BSDL文件举例说明,南京航空航天大学 信息科学与技术学院 电子工程系,6. 组件管脚映射 EP1C3T144的BSDL文件中管脚映射部分如下(节选): attribute PIN_MAP of EP1C3T144 : entity is PHYSICAL_PIN_MAP; co
30、nstant TQFP144 : PIN_MAP_STRING := “IO1 : 1 , IO2 : 2 , IO3 : 3 , IO4 : 4 , “ 管脚映射部分描述了管脚逻辑名和物理管脚号的对应关系,例如EP1C3T144的逻辑名IO1的管脚对应的物理管脚号为1。,attribute IDCODE_REGISTER of EP1C3T144 : entity is “0000“ -器件标志寄存器为4位版本号+16位芯片型号+11位厂商代码号+强制最低位为“1”,BSDL文件举例说明(7),南京航空航天大学 信息科学与技术学院 电子工程系,7. 边界扫描寄存器描述 是整体结构的最重要部分
31、,它描述了边界扫描单元的长度及每个单元的属性。 EP1C3T144的BSDL文件中扫描寄存器描述部分包括如下: attribute BOUNDARY_LENGTH of EP1C3T144 : entity is 339; -扫描链长度 边界扫描长度属性表示EP1C3T144芯片共有339个边界扫描单 元。扫描单元的排列顺序可以是任意的,但每个单元 都必须被定义。单元号从0到338进行编号,0单元是 最靠近TDO的单元。,attribute BOUNDARY_REGISTER of EP1C3T144 : entity is -BSC group 0 for I/O pin 144 “0 (B
32、C_1, IO144, input, X),“ & “1 (BC_1, *, control, 1),“ & “2 (BC_1, IO144, output3, X, 1, 1, Z),“ & ,BSDL文件举例说明,南京航空航天大学 信息科学与技术学院 电子工程系,-BSC group 112 for I/O pin 1 “336 (BC_1, IO1, input, X),“ 以双引号括起的每一行都是一个扫描单元的描述,开头的阿拉 伯数字表示的是单元的序号。 序号后面括号中描述的是该扫描单元的属性,由四个或七个字 段表示,子段的名称为:cell,port,function,safe, cc
33、ell,disval,rslt。三个是可选子段,只有在 function子段的值为output3或bidir时才被定义。含义如: 单元子段:确定器件所使用的边界扫描单元。 EP1C3T144芯片采用的BSC 类型为标准单元BC_ 与BC_4 ,其属性已经在VHDL 组件STD_1149_1_1994 中加以定义。 通道子段:说明与对应BSC 相连的系统管脚。其名称与BSDL“logical port description”属性中描述的管脚逻辑名称相一致。“*”表示此BSC为输出控制单元或内部单元;,BSDL文件举例说明,南京航空航天大学 信息科学与技术学院 电子工程系,功能子段:表示该BSC
34、的主要功能。 EP1C3T144芯片BSC 所涉及的功能有“input”、 “control”、“output3”和“internal”4 种; 安全子段:当ATPG 软件提供一个额外随机值时,safe 子段定义了一个要装入捕获寄存器CAP与更新寄存器UPD(如果存在的话)的值,以防止系统逻辑因为过激励信号等原因造成的错误连接。这个值可以是“ 0 ”,“ 1 ” 或“ X ”。“ X ” 表示“ 0 ”,“ 1 ” 均可。 控制单元子段:说明对功能为output3 或bidir的BSC进行输出使能控制的控制单元号; 无效值子段:为禁用对应的系统管脚,要给由ccell子段指定的控制单元赋的值;
35、无效状态子段:给出被禁用驱动器的状态。这个状态可以是高阻态(Z)、弱“1” 态(weak1)或弱“0”态(weak0)。,BSDL文件举例说明,双向管脚与边界扫描单元的关系 芯片的很多管脚是双向的,例如EP1C3T144的Pin1是个双向管脚IO1,对应3个边界扫描单元336、337和338。 337号单元为器件内部连接在双向管脚上的输出控制单元,338号为输出单元,336号为输入单元。IO1作为输入管脚时,通过336将管脚值送到核心逻辑;作为输出管脚时,将控制单元置0,打开输出使能,核心逻辑的输出通过338送到管脚上。,南京航空航天大学 信息科学与技术学院 电子工程系,7.5 板级测试,随着
36、支持边界扫描结构的芯片大量使用及电路板的集成度不断提高,边界扫描技术在板级测试中的应用已经十分广泛。 板级测试的主要目的是对电路板上器件间的互连线和管脚的故障进行检测和隔离。 板级测试主要研究内容包括电路板的可测性设计和测试向量的生成。 扫描链路是边界扫描测试的基础,边界扫描链器件连接方式有三种:串行方式、并行方式和独立路径方式。,串行方式是所有器件的TMS管脚和TCK管脚并连在一起,前一级的TDO输出管脚接到下一级的TDI输入管脚的测试总线连接方式。,并行方式是两个或多个串行方式连接的JTAG扫描链并行连接,串行扫描链的TMS信号各自独立,确保只有一个串行扫描链在指定的时间内有扫描数据输出。
37、,独立路径方式是所有器件的TMS和TCK连在一起,而每个器件的TDI和TDO各自独立的测试总线连接方式。,扫描链路连接方式,南京航空航天大学 信息科学与技术学院 电子工程系,利用边界扫描测试技术可以实现PCB板边界扫描链的完备性测试、器件间的互连性测试和器件功能测试。 在板级测试的应用过程中,基本的测试策略是首先进行扫描链完备性测试,验证扫描结构是否完整、正确。然后进行互连测试,对扫描器件间的互连结构进行测试。最后对位于扫描结构之间的非边界扫描器件进行测试,就是所谓的簇测试。,边界扫描测试类型,1. 扫描链完备性测试 完整性测试主要是检验电路板边界扫描链路的完好性、器件布置的正确性以及边界扫描
38、测试总线信号是否正常。 测试内容包括: 确定TCK、TMS、TDI、TDO信号是否正常。 确定边界扫描芯片是否正确连接,检测由于相似器件的装配引起的故障。 确定芯片指令寄存器、各种数据寄存器是否正常工作。 由4个步骤组成:复位、指令寄存器移位、器件标志寄存器移位和TRST线的检查。,边界扫描测试类型(2),2. 互连测试 器件间的互连测试的基本测试方法为: 在测试控制器控制下,向互连网络一端的边界扫描单元加载测试向量,同时向网络两端的器件发送外测试(EXTEST)指令,然后在互连网络的另一端的边界扫描单元捕获测试响应值,根据分析输入、输出结果可以判断器件间是否存在开路故障、桥接短路故障和固定逻
39、辑等故障。,左图由IC1和IC2串行连接成边界扫描链电路。进行互连测试时,测试向量“1011”由IC1的TDI通过扫描路径移位施加到并行输出管脚上,由于互连线1、2的短路故障和4的断路故障,使得IC2的并行输入管脚收到响应向量“1110”。将IC2中的响应向量串行移出,与预期结果“1011”相比较即可检测出连线故障。,边界扫描测试类型,3. 器件功能测试 根据测试对象不同可分为边界扫描器件的功能测试和非边界扫描器件的簇测试两种类型。 (1)功能测试 器件功能测试主要是为了检查器件的片内逻辑是否正确,包括内测试(INTEST)和自测试(RUNBIST)。 器件内测试 (1) 将测试向量串行移位到
40、被测器件数据输入端的边界扫描单元,向器件发送内测试指令INTEST ; (2)测试执行完毕之后串行读出数据输出端的测试响应向量,将测试响应向量与预期的响应进行比较得到结果。 很多芯片内部都设计了自测试功能来测试芯片是否正常,边界扫描测试技术通过自测试指令(RUNBIST)来实现这一功能。TAP控制器接收到自测试命令,将被测器件配置为自测试模式,自动完成测试数据的加载和测试响应数据的分析,并通过边界扫描测试总线输出测试结果。,边界扫描测试类型,南京航空航天大学 信息科学与技术学院 电子工程系,(2)簇测试 簇测试即对不具有边界扫描结构的器件进行功能测试。 簇测试一般采用“虚拟测试通道”的方法,其
41、基本思想是: (1)利用具有边界扫描机制的器件给不具有边界扫描机制的器件提供测试通道,实现测试向量的加载和测试响应的读取。 (2)然后将测试响应向量与预期正确的响应向量进行比较即可得出测试结果。 测试过程中对提供“虚拟测试通道”的具有边界扫描机制的器件执行外测试(EXTEST)指令。,边界扫描测试的基本概念,网络:由通过导线连接的一系列输入、输出节点构成,记为ni,i=1,2,N,N为网络的总数。 并行测试向量(Parallel Test Vector,PTV ):在一次边界扫描测试过程中,加载到各个网络上的测试数据构成的向量,记为 ,i=1,2,P。P为PTV的个数。PTV的维数是确定的,等
42、于网络的总数N。 并行响应向量(Parallel Response Vector,PRV):采用某个PTV进行测试所得到的测试响应向量,记为 ,i=1,2,P。 串行测试向量 (Sequential Test Vector,STV):对应于多次边界扫描测试过程中施加到同一网络的测试代码,记为 ,i=1,2,N。其数目等于N,维数等于PTV数目。 串行响应向量 (Sequential Response Vector,SRV):网络在输入一定的STV后输出的响应向量称为SRV,记为 ,i=1,2,N。网络无故障时,SRV与输入的STV相同。,南京航空航天大学 信息科学与技术学院 电子工程系,边界扫
43、描测试的基本概念,南京航空航天大学 信息科学与技术学院 电子工程系,故障:在对电路板进行测试时,当网络得到的响应向量与预期值不一致时,则认为该网络发生了故障。 故障征兆:当某个网络存在故障时,表征故障的SRV称为故障征兆,记为 ,i=1,2,N。 紧凑性指标:测试向量集的大小,即STV的长度或者PTV的个数,记为P。 征兆误判(Abasing Syndrome):当测试向量集中存在某个串行测试向量 ,它同某类桥接故障的故障征兆 相同时,在故障定位时将无法确定该网络是否包含在该短路故障中。其中,m和n分别为对应串行测试向量和故障征兆的下标号。 征兆混淆(Confounding Syndrome)
44、:当存在相同的故障征兆 和 时,将会导致在故障定位时无法确定它们所标识的网络之间是否存在短路故障,其中m和n分别为对应故障征兆的下标号。,常见的互连测试生成算法,互连测试算法基本上可分为两类:经典算法和现代算法。 经典算法是根据驱动节点的一些参数及故障诊断的要求进行向量生成。优点是生成测试向量简单、编码容易。缺点是测试时间长、对复杂电路故障诊断能力差。 现代算法是结合人工神经网络、遗传算法等提出的优化算法,在向量优化上有显著的提高,能大大减少测试向量数目,缩短测试时间,并且能够处理较复杂的情况,但是其附加条件多,难于确定故障检测指标。 介绍几种常见的经典算法。 1.移位“1”算法 移位“1”算
45、法生成的测试向量集为一个单位矩阵. 该算法能够检测所有的固定、开路和短路故障,具有100%的故障检测率和隔离定位率。 算法的紧凑性指标P等于N,优点是测试向量容易产生,故障检测比较完备,故障定位准确;缺点是测试向量数目多,测试时间长。,常见的互连测试生成算法,测试响应,比较可以看出: n1:固定1故障 n2:固定0故障 n4和n5短路,表2.1给出了该算法生成的一个测试向量集,其中N=P=6。,2. 改良计数序列算法 改良计数序列算法(Modified Counting Sequence Algorithm,MCSA)的算法思想是:将长度为P,数值为从12P-2(全0及全1)的二进制数按递增顺
46、序分配给N个网络,作为各网络的STV,其紧凑性指标为 。 该算法生成的测试向量能够检测到所有的短路故障和固定型故障,具有很好的紧凑性指标,但其存在比较严重的征兆误判和征兆混淆现象。,常见的互连测试生成算法,利用该算法生成的一个测试向量集的实例如表2.2所示,其中N=10,P=4。,该算法存在故障混淆: 例如n1和n2短路时,n1、n2和n3的测试响应均为0011,无法判断n3是否有故障。,南京航空航天大学 信息科学与技术学院 电子工程系,常见的互连测试生成算法,南京航空航天大学 信息科学与技术学院 电子工程系,3. 计数补偿算法 计数补偿算法是在改良计数序列算法的基础上提出的,目的是消除征兆误
47、判现象。其主要思想就是把改良计数算法生成的STV向量集作为原向量集,给每个原向量增加一个附加向量,该附加向量是原向量的逻辑补向量,原向量和附加向量一起构成新的测试向量,因此计数补偿算法紧凑性指标P = 。 实际上由于新的测试向量是由原向量和附加补向量构成,即使原向量为全“0”或全“1”向量,最终的新向量也不会为全“0”和全“1”向量。因此可以在改良计数算法生成的原向量集中增加全“0”和全“1”向量,从而将该算法的紧凑性指标提高为 。 利用计数补偿算法生成的测试向量集进行测试时,当原向量集出现征兆误判时,其附加向量集不会发生征兆误判,因此该算法能够有效的消除测试中征兆误判现象。,常见的互连测试生成算法,利用该算法生成的一个测试向量集的实例如表2.3所示,其中N=8,P=6。(附加向量是原向量按位取反),南京航空航天大学 信息科学与技术学院 电子工程系,边界扫描测试系统的发展状况与趋势,在边界扫描测试工具方面,国外边界扫描测试系统的开发取得了很大的进展。 如ASSET InterTech公司的ScanWorks测试系统、Corelis公司的ScanPlus系列软件、Teradyne公司的BSID边界扫描诊断软件和自动生成测试程序VICTORY等。这些测试