1、1,第7章 边界扫描法,南京航空航天大学 信息科学与技术学院 电子工程系,因为板级与系统级的测试不仅是对单个IC或模块的测试问 题 ,还有IC之间或PCB之间连接的测试问题,此时电路的测试 就更复杂。另外,板级测试一般采用带有专用夹具的测试器通 过单个I/O脚来完成,随着板上元器件数量的日益增多及表面贴 片技术的广泛应用,测试的难度也越来越大。 解决这些问题的一个方法就是把扫描路径法扩展到整个板 级或系统级,此即边界扫描法(boundary scan)。边界扫描法几 经修订,目前最新版本是IEEE 1149.1-2001。其中JTAG是 (Joint Test Action Group),即联
2、合测试行动小组,是专门为制 定这方面的标准而成立的小组。 边界扫描标准对数字集成电路以及混合集成电路的数字电 路 部分提供规范化的测试存取端口和边界扫描结构,一是试图 对板级、基于复杂的数字集成电路和高密度的表面贴片技,2,术的产品提供测试解决方案,二是对具有嵌入式可测性设计特 征的数字集成电路提供测试存取和测试控制方法。IEEE 1149.1 标准主要涉及的范围为: 规范板级或其他系统中集成电路之间连接的测试方法; 规范集成电路本身的测试方法; 规范元器件在正常工作条件下对其观察或控制的方法。 7.1 边界扫描法的基本结构 同扫描路径法类似,基于边界扫描设计法的元器件的所有与 外部交换的信息
3、(指令、测试数据和测试结果)都采用串行通信方 式,允许测试指令及相关的测试数据串行送给元器件,然后允 许把测试指令的执行结果从元器件串行读出。为完成此功能, 边界扫描技术中包含了一个与元器件的每个引脚相接、包含在边 界扫描寄存器单元中的寄存器链,这样元器件的边界扫描信号可 用扫描测试原理进行控制和观察,这就是边界扫描的含义。,3,边界扫描的整体结构如图7.1所示,主要由以下硬件组成: 具有4个或5个引脚的测试存取通道(Test Access Port, TAP); 一组边界扫描寄存器,指令寄存器(Instruction Register, IR)和数据寄存器(Data Register,DR)
4、; 一个TAP 控制器。 元器件与外部通信的信号必须通过TAP,这些信号是测试 数据输入TDI (Test Data Input)、测试数据输出TDO (Test Data Output)、测试方式选择TMS (Test Mode Select)和测试时钟 (Test Clock),有时还有测试系统复位TRST (Test Reset)信号。 对元器件的测试控制是通过TMS和TCK信号施加给元器件的, 测试数据通过信号TDI串行输入到器件,测试结果通过信号 TDO从元器件串行读取。,4,5,指令寄存器用于接受、解释指令。 测试数据寄存器链包括边界扫描寄存器(BSR)和旁路寄存器 (BYR),测
5、试数据寄存器链有时还包括一个或几个专用的其他寄 存器。边界扫描寄存器由边界扫描单元BSC (Boundary Scan Cells)组成。图7.2是边界扫描单元的设计举例,可以连接到IC的 I/O引脚。,图7.2 边界扫描单元,6,根据施加到多路选择器的控制信号,数据既可以通过信号输入 端口加载给扫描寄存器,BSC单元内的信号也可以通过输出端 口送出去。图7.2中由B控制的触发器并非必须,它的功能是保 证把BSC单元内的信号送出去。如果在BSC单元信号发送过程 中出现了时钟A把新的数据移入到BSC单元,则有时钟B控制 的触发器可以保持原先的数据。 为元器件的引脚所设计的边界扫描单元(BSC)相
6、互连接, 形成了围绕原形设计边缘的一个移位寄存器链,通过对这个路 径提供串行输入和输出连接、时钟以及控制信号,实现对原形 设计的测试。 如果产品包含多个IC,或一个系统包含多个元器件或模 块,所有组成单元中的边界扫描单元(BSC)可以串联起来,对 整个产品或系统形成一个单一的路径,如图7.3所示。一个系统 也可以包含多个独立的边界扫描路径。,7,8,7.2 测试存取通道及控制 本节所指系统均为片内系统。 7.2.1 测试存取通道的信号 测试存取通道(TAP)是访问元器件内嵌入式测试支持功能(包 括IEEE 1149.1标准定义的测试逻辑)的通用端口。IEEE 1149.1 至少包括3个输入信号
7、(TCK、TMS和TDI) 的连接和一个输出信 号(TDO)的连接。如果TAP控制器上电后不能复位,则需要加 上第4个输入信号(TRST)。TAP所有的输入、输出必须专用,不 能有其他用处。 1.测试时钟(TCK) 测试时钟(TCK)是为测试逻辑提供的专用时钟信号,是测 试过程中各个步骤的基准,许多测试逻辑是在TCK的上升沿或下 降沿完成的。,9,元器件间测试数据可以用测试时钟(TCK)串行移入、移出, 也可以在元器件正常的工作条件下并行移入。 2.测试方式选择(TMS) 测试方式选择(TMS)传送的是测试控制信息,由TAP控制器 译码并控制相应的测试操作。由于仅用一根输入线控制许多元器 件,
8、所以必须用一个输入序列来确定测试方式,同时也必须确 保序列传输和译码的准确性。 测试逻辑在TCK的上升沿采样TMS传输的信号值,因此最 好在TCK的下降沿把TMS改变为下一个要传输的值。 3. 串行测试数据输入(TDI) TDI以串行方式移入输入数据,传输的数据有两种:供指令 寄存器译码的指令数据;传输到测试数据寄存器的测试数据。 测试逻辑在TCK的上升沿采样TDI信号。,10,4.串行测试数据输出(TDO) TDO以串行方式移出数据,传输的数据也是两种:测试指 令和测试数据。 测试逻辑在TCK的下降沿采样TDO信号。 5.测试系统复位(TRST) 该信号是可供选择的,功能是控制TAP控制器异
9、步初始化。 为了保证测试逻辑的确定性,当TRST上施加的信号从0到1时, TMS在逻辑1上要保持几个TCK时钟周期。 7.2.2 TAP控制器 TAP控制器是一个同步状态机,把接收到的TMS和TCK信 号译码,产生所需要的操作控制序列,控制电路进入相应的测 试方式。TAP控制器所有的状态转换都必须根据TMS在TCK的 上升沿出现的值,所有测试逻辑的变化必须出现在TCK的 上升沿或下降沿。,11,图7.4表示IEEE 1149.1 标准定义的TAP控制器状态图。箭头边上的数字0或1表示TMS信号在TCK上升沿的值。,12,对于TAP控制器及控制器每一个状态中的其他测试逻辑的行 为,简单描述如下:
10、 1.测试逻辑复位(Test Logic Reset) TAP控制器处于“测试逻辑复位”状态时,测试逻辑失效,电 路处于正常工作方式。测试逻辑失效可以通过初始化包含 IDCODE指令的指令寄存器来实现。如果边界扫描设计中没有可 选择的器件识别寄存器,则测试逻辑失效也可以通过BYPASS指 令实现。 不管TAP控制器原先的状态如何,只要TMS在5个或5个以上 的TCK上升沿保持高电平,TAP控制器就会到“测试逻辑复位”状 态,而且只要TMS为高电平,此状态就会保持。 如果TCK上升沿时TMS为低电平,那么TAP控制器就会离 开“测试逻辑复位”状态,但在TMS又保持为高电平期间,3 个TCK上升沿
11、后TAP控制器又恢复到“测试逻辑复位状态”。,13,当TAP控制器离开“测试逻辑复位”状态后,会进入到“运行测 试/空闲”状态。 当TRST端出现低电平或器件上电时,也可以使TAP控制器 进入到“测试逻辑复位”状态。 2.运行测试/空闲(Run-Test/Idle) 这是边界扫描操作期间TAP控制器所处的一个状态。只要 TMS保持为低电平,TAP控制器就处于这个状态,当TMS为高 电平时且TCK出现上升沿时,TAP控制器就离开这个状态。 当TAP控制器处于“运行测试/空闲”状态时,只有出现指 令时才有选择测试逻辑的操作。 3. 选择数据寄存器扫描(Select-DR-Scan) 这是TAP控制
12、器的一个临时状态,当TAP控制器处于这个 状态时,当前指令所选择的测试数据寄存器保持先前状态。 当TAP控制器处于该状态、TCK出现上升沿时:如果,14,TMS保持为低电平,TAP控制器就会进入到“捕获数据”状态; 如果TMS保持为高电平,TAP控制器就会进入到“选择指令寄 存器扫描”状态。 4.选择指令寄存器扫描(Select-IR-Scan) 是一个临时状态。当TAP控制器处于该状态时,当前指令 选择的测试数据寄存器保持先前状态。 当TAP控制器处于该状态、TCK上升沿时:如果TMS保持 为低电平,TAP控制器就会进入到“捕获指令”状态;如果TMS 保持为高电平,TAP控制器就会进入“测试
13、逻辑复位”状态。 5.捕获数据寄存器(Capture-DR) 当TAP控制器处于这个状态时,在TCK的上升沿可以采用 并行方式对当前指令所选择的测试数据寄存器加载数据。如果测 试数据寄存器无并行输入端,或者选择的测试不需要装载 数据,则寄存器保持先前状态。,15,当TAP控制器处于该状态、TCK上升沿时:如果TMS保持为低 电平,出现上升沿时TAP控制器就会进入到“数据寄存器移位” 状态;如果TMS保持为高电平,TAP控制器就会进入到“退出1- DR(Exit1-DR)”状态。 6.数据寄存器移位(Shift-DR) 当TAP控制器处于这个状态时,在TCK的控制下,扫描链 上的移位寄存器都向T
14、DO方向移位,不在扫描链上的寄存器保 持先前状态。 当TAP控制器处于该状态,TCK出现上升沿时:如果TMS 信号保持为高电平,TAP控制器就会进入到“退出1-DR (Exit1- DR)”状态;如果TMS保持为低电平,TAP控制器就会进入到 “数据寄存器移位”状态。 7.数据锁存器刷新(Update-DR) 一些数据寄存器是具有并行输出的锁存器,TAP控制,16,器处于这个状态可以防止并行输出上的数据变化,这种情况一 般出现在某些指令(例如EXTEST、INTEST和RUNBIST)的响 应数据要移入到相应的移位寄存器路径上。 当TAP控制器处于“数据锁存器刷新”状态,在TCK的下降 沿把数
15、据从移位寄存器路径锁存到并行输出上,即所谓的数据 锁存刷新,除了这个状态以及自测试要求外,锁存器中的内容 均不会变化。 当TAP控制器处于“数据锁存器刷新”状态、TCK出现上升 沿时:如果TMS保持为高电平,TAP控制器就会进入到“选择 数据寄存器扫描”状态;如果TMS保持为低电平,TAP控制器 就会进入到“运行-测试/空闲”状态。 8.捕获指令寄存器(Capture-IR) 当TAP控制器处于这个状态时,指令寄存器中的移位寄存 器在TCK的上升沿装载固定逻辑值的图形,专门设计的数据也 可以装入到移位寄存器。,17,当TMS保持为高电平时,在TCK的上升沿TAP控制器进入 到“Exit1-DR
16、”状态;当TMS为低电平时,在TCK的上升沿TAP 控制器进入到“指令寄存器移位”状态。 9.指令寄存器移位(Shift-IR) 当TAP控制器处于这个状态时,对于每一个TCK的上升沿, 连接在TDI和TDO之间的指令寄存器组中的移位寄存器向串行 输出方向移一位。 当TMS保持为高电平时,在TCK的上升沿TAP控制器进入 到“Exit1-IR”状态;当TMS信号为低电平时,TAP控制器保持 在“指令寄存器移位”状态。 10.指令锁存器刷新(Update-IR) 指令寄存器IR带有相应的锁存器。当TAP控制器处于这个 状态时,在TCK的下降沿把数据从移位寄存器路径锁存到并行 输出上,当新的指令得
17、到锁存后就变成当前指令。 当TAP控制器处于“指令锁存器刷新”状态,TCK出现上升 沿时:TMS保持为高电平,TAP控制器会进入到“选择数据 寄存器扫描状态”,如果TMS保持为低电平,TAP控制器会,18,进入到“运行-测试/空闲”状态。 11.退出(Exit) 指令和数据流程中都设置了两个退出状态,作用是提供状 态分支转移。 TAP控制器共有4个退出状态,分别是“Exit1-DR”、“Exit2- DR”、“Exit1-IR”和“Exit2-IR”。当TMS保持为高电平时,在 TCK的上升沿会中毒扫描过程,TAP控制器就会进入到相应 的刷新状态;当TMS为低电平时,TAP控制器会进入到相应的
18、 移位状态。 12.暂停(Pause) 暂停方式用于协调测试时钟和系统时钟。TAP控制器处于 “暂停”时,寄存器的状态保持不变,可利用系统时钟操作。,19,7.2.3 TAP控制器的操作 TAP控制器的操作必须符合以下要求: (1)TAP控制器只有在响应下列事件之一后才能改变状态: TCK上升沿; TRST上的信号转换到逻辑0; 上电。 (2)TAP控制器只能按图7.5和图7.6的要求产生信号来控制 测试数据寄存器、 指令寄存器以及相关的电路。,20,21,此图有问题,22,(3)TDO输出缓冲器以及信号输出给TDO的电路应该按表7.1 所示。,表7.1 TAP控制器的测试逻辑操作,23,表7
19、.1续 TAP控制器的测试逻辑操作,(4)表7.1所定义的TDO的变化应发生在TAP进入相应的状态后,TCK的下降沿。,24,7.3 寄存器及指令 指令寄存器IR的操作必须符合以下要求: (1)每一个TAP控制器状态中指令寄存器的行为应符合表7.2 的描述; (2)当不同的指令传输给指令寄存器的并行输出后,基于当前 指令的所有操作都要终止(即TAP控制器处于“指令锁存器刷新”或 “测试逻辑复位”); (3)所有移位寄存器链的操作应在TAP进入相应的状态后、 TCK的上升沿; (4)出现在指令寄存器并行输出的数据应是TAP控制器处于 “指令锁存器刷新”、在TCK的下降沿锁存、来自移位寄存器链的
20、数据; (5)TAP控制器进入“测试逻辑复位”后,TAP控制器将在TCK 的下降沿把IDCODE指令装载到指令寄存器,如果没有器件,25,表7.2 TAP控制器状态中指令寄存器的操作,26,识别寄存器,被装载的是BYPASS指令; (6)如果边界扫描结构中有TRST信号,一旦该信号为低电 平,锁存的指令会异步改变为IDCODE指令,如果没有器件识 别寄存器会改变为BYPASS指令。,图7.7 是按照上述要求设计的指令寄存器的例子,图中“指令位”代表的是并行输出。当TAP控制器处于“指令锁存器刷新” 状态期间,在TCK的下降沿、指令扫描周期的后期对“指令,27,位”刷新。如果没有这种时序上的设计
21、,边界扫描寄存器的操作 可能导致锁存的指令发生变化,引起系统输出引脚的变化。 图7.7的设计中,只在TAP控制器的“指令锁存器刷新”或“指 令寄存器移位”对串行路径上的寄存器施加时钟信号。当TAP控 制器处于“测试逻辑复位”时,“复位”信号为逻辑0,并行输出就 会“复位”。需说明的是并行数据输入的最低两位应接到固定逻 辑:最低位接逻辑1,次低位接逻辑0。 7.3.2 测试数据寄存器 测试逻辑结构中至少包含两种测试数据寄存器:旁路寄存 器(Bypass Register,BR)和边界扫描寄存器(Boundary-Scan,Register,BSR),第三种寄存器器件标志寄存器(Device Id
22、entification Register,DIR)是可选择的,它们在IEEE 1149.1中均有定义。,28,其他类型的寄存器则按照用户测试要求设计,称作设计专 用测试数据寄存器。IEEE 1149.1未进行定义,这类寄存器可能 包括扫描测试寄存器、自测试寄存器或者设计中与存取有关的 关键寄存器。 每一个命名的寄存器的长度都是固定的,可由一个或多个 指令访问。图7.8是测试数据寄存器实现的一个例子。 在图7.8中,基于移位寄存器链的旁路寄存器、边界扫描寄 存器和设计专用测试数据寄存器并联,置于公用的串行输入(TDI) 和串行输出(TDO)之间,选择哪个寄存器形成扫描路径由指令寄 存器控制,图
23、7.8用多路选择器选择寄存器。,29,图7.8 测试数据寄存器,30,1.旁路寄存器(BR) 旁路寄存器提供的串行连接只有一位,可以将大概年轻不进 行测试的IC的扫描链短接起来,使TDI和TDO之间的扫描逻辑最 短化。 图7.9是一个旁路寄存器设计的例子,遵循以下设计规则: (1)旁路寄存器只能由单级的移位寄存器构成; (2)当旁路寄存器由当前的指令选中置于TDI和TDO之间的 串行路径时, 其移位寄存器 应该在TAP进 入到“捕获数据 寄存器”状态后、 TCK的上升沿被 置于逻辑0;,31,2.边界扫描寄存器(BSR) 边界扫描寄存器是边界扫描设计中最重要也最复杂的寄存器, 它既允许器件内测
24、试数据的输入/输出等操作,也允许对器件外电 路的测试。 每一个边界扫描寄存器单元至少有两个数据端子、一定数目的 时钟输入和控制输入,每一个单元内包含一个单级的移位寄存器, 移位寄存器提供一个并行输入和一个并行输出(也可以是带锁存 的)。移位寄存器同时还把两个数据的连接端作为串行输入和串行 输出,通过上述方式的连接,应该边界扫描寄存器单元与其他边 界扫描寄存器单元首尾相接就形成边界扫描寄存器。 如果一个边界扫描寄存器单元具有3个“出入”器件的系统逻辑 的数据端,而第三个数据端又作为一个并行输入、串行输出,(3)旁路寄存器所用的移位寄存器是专用的; (4)旁路寄存器的操作不应影响片上系统逻辑的操作
25、。,32,移位寄存器级的并行输入,则称之为只观察(不控制)的单元。 如果一个边界扫描寄存器单元具有4个“出入”器件的系统逻辑 或更多的数据端,就可称为控制观察边界扫描寄存器单元。 一个概念性的控制-观察边界扫描寄存器单元如图7.10所示, 包含一个并行输入、并行输出的移位寄存器级。,图7.10 概念性的控制-观察边界扫描寄存器单元,33,信号经标识为“并行输入”的端子流入单元,从标识为“并行输出” 的端子流出单元,单元的路线逻辑(典型的是多路选择器)决定了 单元的并行输入到单元并行输出的路线。信号可以流经PIPO(并 行输入、并行输出移位寄存器级)的并行端子并行输入(PI)和 并行输出(PO)
26、,或者(在器件的正常工作方式)路线逻辑使得信号 从单元的并行输入直接驱动到单元的并行输出。 边界扫描寄存器的输入、输出端口一般有3种: 输入端仅是一个输入缓冲器; 输出端具有使能端的输出缓冲器,无使能信号时呈开 路状态; 双向输入输出端既作为输入又可作为输出的端口。 设计时应选择边界扫描单元相应端口的工作方式。 利用边界扫描寄存器可提供4种主要功能: 器件外电路测试。例如,IC之间互连的测试、采用外,34,部测试指令“EXTEST”的外部器件间的测试。 器件内嵌的内建自测试,采用内测试指令INTEST。 输入/输出信号的采样和移位检查。 当扫描路径处于空闲状态时,对原形设计逻辑没有影响。 3.
27、器件标志寄存器(DIR) 器件标志寄存器是一个可选的、IEEE 1149.1标准定义的、32 位的标准寄存器,包含器件的版本号、器件型号、制造厂商等信 息。器件标志寄存器的一个用途是当一块PCB上有多个器件时可 用来识别器件的制造厂商。另一个用途是系统诊断,当一个系统 中有多个具有器件标志寄存器的器件时,可以随机查询板级设计 以确定每一个位置上器件的类型。器件标志寄存器内的信息也可 用于生产过程监控和装配板的失效性分析。 器件标志寄存器的设计规则为: (1)器件标志寄存器应是基于具有并行输入、无并行输,35,出的移位寄存器的结构; (2)器件标志寄存器所用的移位寄存器电路是专用的; (3)应该
28、这样设置器件标志寄存器:当TAP控制器处于“捕获 数据寄存器”状态时,在TCK的上升沿从TDO串行移出标志码; (4)器件标志寄存器应该包含制造厂商定义的编码,结构如图 7.11所示,用IDCODE指令访问; MSB LSB,31 28 27 12 11 1 0,图7.11 器件标志寄存器的结构,(5)对于可编程器件,常用指令并不能完成所有的编程,应该允许用户编程一组32位的辅助标志编码,响应USERCODE指令时把这组辅助标志编码装载到器件标志寄存器; (6)器件标志寄存器的操作不影响片上系统逻辑的操作。,36,在图7.11所示的器件标志寄存器的结构中,最低位是用于识 别标志寄存器和旁路寄存
29、器的标志位,应为1。如果IC不存在器 件标志寄存器,则在执行器件标志编码(IDCODE)时自动置该位 为0,后果是选中旁路寄存器,不使扫描链中断。 第111位为制造厂商的标志位,根据EIA/JEP-106规定的编 码压缩而成。IEEE 1149.1标准规定编码“00001111111”用于测试 中的无效编码,厂商标志的编码中不能使用这个编码。,37,器件标志寄存器中的第1227位用以表示器件的型号。IEEE 1149.1的标准规定:即使在相同的位置上配置了TAP引脚而且封装 完全相同的两种器件,也不能使用相同的器件型号编码。 器件标志寄存器中的第2831位用以表示器件的版本编码,据 此可以识别
30、器件类型的变化。 7.3.3 指令 在指令寄存器扫描周期,质量寄存器允许指令串行进入测试 逻辑。当TAP控制器处于“数据寄存器移位”时,对于每一个指令 确定一个串行的测试数据寄存器路径,用以在TDI和TDO之间移 入数据。当TAP控制器处于“指令寄存器移位”时,指令从TDI装 载,移入到指令寄存器(IR)中。,38,指令,专用指令,公用指令,强制性指令,可选指令,旁路指令(BYPASS) 采样指令(SAMPLE) 预装指令(PRELOAD) 外测试指令(EXTEST) 内测试指令(INTEST) 运行内建自测试(RUNBIST) 取器件标志指令(IDCODE) 用户编码指令(USERCODE)
31、 组件指令(CLAMP) 输出高组指令(HIGH),39,1.旁路指令(BYPASS) 旁路指令是一条强制性指令,可使旁路寄存器(BR)提供单个 位的串行连接,把不进行测试的IC的扫描链短接起来,使得TDI和 TDO之间的扫描路径最短化。 旁路指令的二进制形式是111的全1串。旁路指令也可以采 用其他二进制编码。 2.采样指令(SAMPLE) 采样指令也是一条强制性指令,允许“快拍”正常工作条件下 被测器件输入/输出状态,以便监测和分析被测器件的工作状态。 “快拍”动作发生在TAP控制器的“捕获数据寄存器”状态、TCK的 上升沿,数据可以通过移出器件的TDO输出观察。 在TAP控制器的“移位数
32、据寄存器”状态,采样指令选择的只 是预置于TDI与TDO之间、用于串行存取的边界扫描寄存器。一 旦选择了采样指令,所有的信号,包括来自片内的系统逻辑,40,或者流经系统管脚的信号,都应该在TAP控制器的“捕获数据寄存 器”状态、TCK的上升沿装载到边界扫描寄存器。 一旦选择了采样指令,就允许这样的操作:边界扫描寄存器 单元中的并行输出寄存器/锁存器可以在TAP控制器的“数据锁存 器刷新”状态、TCK的下降沿装载保持香港的移位寄存器级的数 据。 采样指令的数据流如图7.13所示,可以看出,采用采样指令 可以不影响片内系统逻辑的正常运行,系统输入引脚接收的数据 不会改变片内系统逻辑,由系统逻辑驱动
33、的数据流经系统输出引 脚时也不会改变。当SAMPLE指令被选择时,通过加载0到模式 输入来完成。,41,图7.13 采样指令数据流,42,3.预装指令(PRELOAD) 预装指令也是一条强制性指令。在选择其他边界扫描测试 指令之前,预装指令允许把数据装载到边界扫描移位寄存器的 带锁存的并行输出。 在TAP控制器的“移位数据寄存器”状态,选择欲置于TDI和 TDO之间、用于串行存取的边界扫描寄存器。一旦选择了预装 指令,边界扫描寄存器单元中的并行输出寄存器/锁存器应该在 TAP控制器的“更新数据寄存器”状态、TCK的下降沿装载保持 在相关移位寄存器级的数据。 一旦选择了预装指令,允许这样方式的操
34、作:流经系统管 脚的所有信号的状态,应该在TAP控制器的“捕获数据寄存器” 状态、TCK的上升沿装载到边界扫描寄存器。 预装指令对应的二进制编码页可由器件设计者选择。,43,4.外测试指令(EXTEST) 外测试指令也是一条强制性指令,主要用于测试IC或PCB之 间的互连或边界扫描设计以外的逻辑。执行该指令装载数据的典 型做法是:在选择外测试指令之前,采用预装指令把数据装载到 边界扫描移位寄存器级的带锁存的并行输出。 在TAP控制器的“数据寄存器移位”状态,外测试指令选择的 只是预置于TDI与TDO之间、用于串行存取的边界扫描寄存器。 选择了外测试指令就应该控制系统逻辑,不置引脚信号改变。 一
35、旦选择了外测试指令,所有由系统管脚驱动的信号的状态 应该完全由保持在边界扫描寄存器的数据确定。如果要改变,只 能发生在TAP控制器的“数据锁存器刷新”状态、TCK的下降沿。 所有在系统输入引脚接收到的信号的状态应该在TAP控制器的 “捕获数据寄存器”状态、TCK的上升沿装载到边界扫描寄存 器级。,44,外测试指令对应的二进制编码也可由器件设计者选择。 5.内测试 内测试指令是一条可选指令,允许器件装配在PCB也可进行 片内系统逻辑测试。采用内测试指令时,一次移入一个激励信号, 然后施加给片内系统逻辑,测试结果捕获到边界扫描寄存器,然 后移出并进行分析。 执行该指令装载数据的典型做法是:在选择内
36、测试指令之前, 采用预装指令把数据装载到边界扫描移位寄存器级的带锁存的并 行输出。 在TAP控制器的“数据锁存器移位”状态,内测试指令选择的 只是欲置于TDI与TDO之间、用于串行存取的边界扫描寄存器。 选择了内测试指令、片内系统逻辑就可以执行单步操作。 一旦选择了内测试指令,所有来自器件的系统的输出应 该这样确定:,45,(1)所有流出器件的信号应该由保持在边界扫描寄存器的数 据确定,如果要改变,只能发生在TAP控制器的“数据锁存器刷新” 状态、TCK的下降沿; (2)所有来自器件的输出应置于驱动失效状态,例如高阻状态。 所有从系统逻辑到边界扫描寄存器的输出信号的状态,应该 在TAP控制器的
37、“捕获数据寄存器”状态、TCK的上升沿装载到寄 存器。所有由边界扫描寄存器流入到系统逻辑的非时钟信号的状 态应该完全由保持在扫描寄存器的数据确定。 内测试指令对应的二进制编码也可由器件设计者选择。 6.运行内建自测试指令(RUNTEST) 该指令也是一条可选指令,用于运行器件内嵌的自测试功能。 一般运行内建自测试指令不需要装载复杂的测试图形,也不需要内 测试指令那样的单步操作。测试速度高,甚至可以达到器件的工作 速度。选择运行内建自测试指令,所有系统输出管脚的状态,46,由测试逻辑确定,确定方式有两种:一是管脚状态由保持在边界 扫描寄存器的数据确定,在每一个寄存器通过扫描序列的期间移 入到寄存
38、器带锁存的并行输出;而是把每一个系统输出管脚强制 置成驱动失效状态。 要完成“运行内建自测试”,可以采取以下步骤: (1)(可选)边界扫描寄存器初始化:如果内建自测试期间管脚 状态由保持在边界扫描寄存器的数据确定,则初始化是必然的; (2)内建自测试初始化:把运行内建自测试指令扫描到指令寄 存器; (3)运行内建自测试:TAP控制器保持在“运行-测试/空闲”状 态,给完成“运行内建自测试”留有一定的时间; (4)分析内建自测试结果:TAP控制器置于“数据寄存器移位” 状态,从连接在TDI和TDO之间的寄存器把测试结果扫描出来。 运行内建自测试对应的二进制编码可由器件设计者选择。,47,7.取器
39、件标志指令(IDCODE) 取器件标志指令也是一条可选指令。器件标志寄存器允许从 器件串行读取器件的信息,包括器件的制造厂商、器件的编码及 其版本。读取器件标志寄存器的指令有两条:取器件标志指令和 用户编码指令。 采用取器件标志指令读取器件信息的方法是:在TAP控制器 的“测试逻辑复位”状态,把取器件标志指令置于指令寄存器的并 行输出锁存,可用指令寄存器扫描操作,通过TMS和TCK信号将 器件信息移出。 取器件标志指令对应的二进制编码也可由器件设计者选择。 8.用户编码指令(USERCODE) 用户编码指令也是一条可选指令,允许把用户可编程的标志 码移出器件以供检查,这条指令只为可编程器件所用
40、。 在TAP控制器的“数据寄存器移位”状态,用户编程指令,48,选择的只是预置于TDI与TDO之间、用于串行存取的器件标志寄 存器。 一旦选择了用户编码指令,就应该在TAP控制器的“捕获数 据寄存器”状态、TCK的上升沿把32位用户编码装载到器件标志 寄存器。所有系统方式或测试方式可操作的测试数据寄存器应该 完成其系统功能。 用户编码指令对应的二进制编码也可由器件设计者选择。 9.组件指令(CLAMP) 该指令也是一条可选指令,它采用边界扫描寄存器单元,控 制器件的输出信号为固定电平。 如果要把不涉及测试的引脚保持为固定的逻辑值,组件指令 特别有用,但增加测试时间。需要这些信号时,可把它们与其
41、他 测试图形一起装载,组件指令对应的二进制编码也可由器件 设计者选择。,49,10.输出高阻指令(HIGH) 该指令是一条可选指令。它使器件的所有系统逻辑输出为高 阻状态,即无效状态,测试系统只对器件驱动正常的节点作用, 防止对器件的损伤。 在TAP控制器的“数据锁存器刷新”状态,输出高阻指令应该 选择旁路寄存器,使之连接在TDI和TDO之间,形成串行存取。 一旦选择了输出高阻指令,迄今内所有的系统逻辑输出应立 即置于驱动无效状态。应该控制系统逻辑,使之不受系统输入或 系统时钟输入引脚信号的影响。 输出高阻指令对应的二进制编码也可由器件设计者选择。 7.4 操作方式 在边界扫描结构中,对多个测
42、试支持的功能,TAP起着存取 端口的作用。TAP从TMS和TCK信号接收信息,把信息传递给 选择的指令寄存器或数据寄存器,边界扫描寄存器(BSR),50,则根据指令选择操作。 7.4.1 正常操作 正常操作方式时,边界扫描寄存器单元是透明的,允许输入 和输出信号自由地通过测试单元,如图7.14所示,器件能够完成 设计的功能。TAP控制器处于“测试逻辑复位”状态,TMS保持高 电平。,51,7.4.2 测试方式操作 1.外测试 测试器件间互连是边界扫描测试的主要目的之一,采用的是 外测试指令。这种操作还能测试其他逻辑,如RAM、ROM或影 子逻辑。在这种测试方式操作下,器件内部逻辑与器件输入和输
43、 出引脚互相隔离,如图7.15所示。,52,外测试可以这样完成。首先,把外测试指令装载到指令寄存 器并译码,然后执行下列步骤: (1)移位数据寄存器。在这个状态,激励数据从TDI通过边界 扫描寄存器移入到与器件输出引脚相关的单元。 (2)刷新数据寄存器。当所有的数据都进入后,激励数据锁存 到输出单元,然后施加到器件外的互连。 (3)捕获数据寄存器。互连上的数据由接收器件输入引脚的输 入单元捕获。如图7.16(c)所示的片内系统逻辑2。 (4)移位数据寄存器。测试结果通过边界扫描寄存器向TDO方 向移出。 上述步骤能够测试故障,例如开路故障、固定型故障或桥接 故障等。 图7.16对上述步骤进行了
44、解释。需说明的是图中只用一个边 界扫描单元来代表输入边界扫描寄存器,也只用一个边界,53,扫描单元来代表输出边界扫描寄存器,每一个步骤中起作用的器 件用不同线条加以区别。,图 当外测试指令被选中时的测试数据流,54,图7.16 外部测试操作,55,56,57,2.测试内部逻辑操作 这种操作可以通过内测试指令完成。它是测试数据施加给器 件,如图7.17所示,激励通过TDI进入,然后施加到片内系统逻 辑,再用外部测试操作相同的方法移出测试响应: (1)移位数据寄存器,从TDI通过与器件输出引脚相关单元的 寄存器移入激励数据; (2)刷新数据寄存器,把激励数据施加到器件内部逻辑。 (3)捕获数据寄存
45、器,在器件输出引脚捕获逻辑状态。 (4)移位数据寄存器,测试结果通过边界扫描寄存器向TDO方 向移出。 这种测试操作只能测试有限的故障,因为它依赖于器件内部 DFT结构。,58,59,60,3.执行内建自测试 这种操作通过TAP控制器处于“运行-测试/空闲”状态时执行 运行内建自测试指令来完成,特点是数据交换量小,因为指令只 触发片内测试。测试施加完成以前不允许测试响应出现在输出, 测试结果由边界扫描寄存器捕获,通过TDO移出。 7.4.3 测试边界扫描寄存器 所有的测试操作都采用边界扫描寄存器来扫描移入数据和 移出数据,因此应全面测试这些寄存器,以保证器件测试和互连 测试的正确性。,61,7
46、.5 边界扫描描述语言 边界扫描描述语言(Boundary-Scan Description Language, BSDL)是IEEE 1149.1 标准文件所附的格式严谨的语言,描述符 合标准的器件的可测性特征,是设计符合IEEE 1149.1标准的测 试逻辑的公司、设计应用者和EDA工具之间的标准化信息交换语 言。它是基于器件知识的描述,描述的是已完成设计的器件,而 不是“正在设计”的器件。 BSDL描述硬件主要由三部分组成:主体(entity)、组件 (package)和组件体(package body)。 7.5.1 主体 主体描述和支持主体描述的VHDL组件组成了器件的BSDL 模型
47、,实际上也就是测试逻辑的电子数据表格。主体组件包含参 数的说明,描述结构为:,62,63,1.generic parameter(参数) 通用参数描述用于选择BSDL描述的器件的结构,应定义器 件的物理封装引脚与器件的端口元件之间的映射关系。,2.Logical port description(逻辑通道描述) BSDL的端口描述是一个专用的VHDL端口列表,此处应该对 器件的引脚赋以有意义的名称,并给与必要的说明。IEEE 1149.1 强烈推荐,对于非数字引脚(例如电源、地、无连接和模拟信号等) 需采用linkage 描述。逻辑通道描述的格式如下:,64,例如:,65,3. Standar
48、d use statement(使用标准说明) 这里应说明采用哪一个标准的VHDL组件及其定义的属性、 类型、常数以及供参考的信息。格式为:,例如:,4. use statement(使用说明) 这项说明是可选项,用于确认所采用的用户定义的VHDL组 件及其定义的属性、类型、常数以及供参考的信息。,66,例如:,5. component conformance statement(器件符合性说明) 这里说明的是器件的可测性电路所符合的标准的版本。格式 为:,例如:,6. package pin mapping(组件管脚映射) 信号到器件管脚的映射应该用属性和相关的BSDL字符串来 定义,格式如
49、下:,67,例如:,68,7.grouped port identification(端口的组标志) 这也是一个可选项,描述的是具有相同特性的多少个I/O信 号。格式为:,69,例如:,70,71,8.Scan port identification(扫描通道标志) 扫描通道中使用的通道名称必须在通道描述中定义。格式为:,72,其中在CLOCK的描述中,第一个数字表示最高的工作频率, 第二个字符可以是low或both。 例如:,73,9. compliance-enable description(符合性描述) 这部分描述的也是一个可选项。如果器件或者裸片已具有标准 描述的可选择的符合性特征,就应该出现BSDL描述,格式为:,例如:,10. instruction register description(指令寄存器描述) BSDL应该对指令寄存器的相关特征进行描述,包括指令寄存 器的