《《JTAG测试介绍》PPT课件》由会员分享,可在线阅读,更多相关《《JTAG测试介绍》PPT课件(54页珍藏版)》请在金锄头文库上搜索。
1、JTAG测试JTAG测试的两大优点测试的两大优点:n n1、方便芯片的故障定位,迅速准确地测试两个芯片管脚的连接是否可靠,提高测试检验效率。n n2、具有J TAG接口的芯片,内置一些预先定义好的功能模式,通过边界扫描通道来使芯片处于某个特定的功能模式,以提高系统控制的灵活性和方便系统设计。边界扫描边界扫描n边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-Scan Register Cell)。n边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片。JTAG测试
2、原理测试原理n n边界扫描测试是通过边界扫描单元以及一些附边界扫描测试是通过边界扫描单元以及一些附加的测试控制逻辑实现的。加的测试控制逻辑实现的。n当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。n n每个每个I/ O I/ O 管脚都有一个管脚都有一个BSC ,BSC ,每个每个BSC BSC 有两个数据通道有两个数据通道: :一一个是测试数据通道个是测试数据通道, ,测试数据输入测试数据输入TDI (
3、test data input ) TDI ( test data input ) 、测试数据输出测试数据输出TDO (test data output) ;TDO (test data output) ;另一个是正常数据另一个是正常数据通道通道, ,正常数据输入正常数据输入NDI ( normal data input ) NDI ( normal data input ) 、正常数据、正常数据出出NDONDO(normal data output) (normal data output) 。如图。如图1 1 所示。所示。n n在正常工作状态,输入和输出数据可以自由通过每个BSC ,正常工
4、作数据从NDI 进,从NDO 出。在测试状态,可以选择数据流动的通道:对于输入的IC管脚,可以选择从NDI 或从TDI 输入数据;对于输出的IC 管脚,可以选择从BSC 输出数据至NDO ,也可以选择从BSC输出数据至TDO。n另外,芯片输入输出管脚上的边界扫描寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片。图2 所示是边界扫描测试应用的示意图。为了测试两个J TAG 设备
5、的连接,首先将J TAG 设备1某个输出测试脚的BSC 置为高或低电平,输出至NDO ,然后,让J TAG设备2 的输入测试脚来捕获(capture)从管脚输入的NDI 值,再通过测试数据通道将捕获到的数据输出至TDO ,对比测试结果,即可快速准确的判断这两脚是否连接可靠JTAG电路结构nJTAG控制器的电路结构如图3 所示。nJ TAG控制器主要由三个部分组成: 测试端口( TAP ,test access port) 控制器指令寄存器(包括指令译码器) 数据寄存器JTAG电路结构电路结构(1) TAP 控制器是边界扫描测试核心控制器。TAP 有以下5个控制信号:nTCK: TCK为TAP的
6、操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。TCK在IEEE1149.1标准里是强制要求的。nTMS : TMS 信号用来控制TAP 状态机的转换。通过TMS 信号,可以控制TAP 在不同的状态间相互转换。TMS 信号在TCK 的上升沿有效。TMS 在IEEE 1149.1 标准里是强制要求的。nTDI : TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。TDI在IEEE1149.1标准里是强制要求的。nTDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(
7、由TCK驱动)。TDO在IEEE1149.1标准里是强制要求的。nTRST: TRST可以用来对TAP Controller 进行复位(初始化)。不过这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。因为通过TMS 也可以对TAP 进行复位(初始化)。( (2) 2) 指令寄存器:指令寄存器:若执行数据寄存器边界扫描测试若执行数据寄存器边界扫描测试, ,则指令寄存器负责提供地址和控制信则指令寄存器负责提供地址和控制信号去选择某个特定的数据寄存器号去选择某个特定的数据寄存器; ;也可以通过指令寄存器执行边界扫描测也可以通过指令寄存器执行边界扫描测试试, ,这时这时,TAP ,
8、TAP 输出的输出的SEL ECT SEL ECT 信号选择指令寄存器的输出去驱动信号选择指令寄存器的输出去驱动TDOTDO。(3) (3) 数据寄存器:边界扫描链属于数据寄存器中很重要一种。规定数据寄存器:边界扫描链属于数据寄存器中很重要一种。规定, ,必须具必须具有的两个数据寄存器是有的两个数据寄存器是边界扫描寄存器边界扫描寄存器边界扫描寄存器边界扫描寄存器(boundary scan register) (boundary scan register) 、旁通旁通旁通旁通(bypass) (bypass) 寄存器寄存器寄存器寄存器。其它的寄存器是任选的。由指令寄存器选择某个特定。其它的寄
9、存器是任选的。由指令寄存器选择某个特定的数据寄存器作为边界扫描测试寄存器的数据寄存器作为边界扫描测试寄存器, ,当一个扫描路径选定后当一个扫描路径选定后, ,其它的其它的路径处于高阻态。路径处于高阻态。边界扫描寄存器边界扫描寄存器边界扫描寄存器边界扫描寄存器是由围绕是由围绕IC IC 管脚的一系列的管脚的一系列的BSC BSC 组成的组成的, ,正是由它来正是由它来实现测试管脚信号的输入、输出实现测试管脚信号的输入、输出; ;旁通寄存器旁通寄存器旁通寄存器旁通寄存器只由一个扫描寄存器位组成只由一个扫描寄存器位组成, ,当选择了旁通寄存器当选择了旁通寄存器, TDI , TDI 和和TDO TD
10、O 之间只有一位寄存器之间只有一位寄存器, ,实际上没有执行边界扫描测试。实际上没有执行边界扫描测试。旁通寄存器的作用是为了缩短扫描路径而对不需要进行测试的旁通寄存器的作用是为了缩短扫描路径而对不需要进行测试的IC IC 进行进行旁通。旁通。JTAG电路结构图电路结构图n n如上所述如上所述,TAP ,TAP 控制器是边界扫描测试在控制器是边界扫描测试在TCKTCK和和TMS TMS 的控制的控制下下, ,可以选择使用指令寄存器扫描或数据寄存器扫描可以选择使用指令寄存器扫描或数据寄存器扫描, ,以及控以及控制边界扫描测试的各个状态。制边界扫描测试的各个状态。TMS TMS 和和TDITDI是在
11、是在TCK TCK 的上跳的上跳沿被采样沿被采样, TDO , TDO 是在是在TCK TCK 的下降沿变化。的下降沿变化。TAP 控制器的状态机接下来,我们再了解下接下来,我们再了解下TAPTAP控制器状态机:控制器状态机:n n图图4 4 所示所示,TAP ,TAP 控制器的状态机只有控制器的状态机只有6 6 个稳定状态个稳定状态: :测试逻辑复位测试逻辑复位( test-( test-logic-reset ) logic-reset ) 、测试、测试/ / 等待等待(run-test/idle) (run-test/idle) 、数据寄存器移位、数据寄存器移位( shift-DR) (
12、 shift-DR) 、数据寄存器移位暂停、数据寄存器移位暂停(pause-DR) (pause-DR) 、指令寄存器移位、指令寄存器移位( shift-IR) ( shift-IR) 、指、指令寄存器移位暂停令寄存器移位暂停(pause-IR) (pause-IR) 。其它状态都不是稳态。其它状态都不是稳态, ,而只是暂态而只是暂态. .n n在上电或在上电或IC IC 的正常运行时的正常运行时, ,必须使必须使TMS TMS 在最少持续在最少持续5 5个个TCK TCK 保持为高保持为高电平电平, ,则则TAP TAP 进入测试逻辑复位态。这时进入测试逻辑复位态。这时,TAP ,TAP 发
13、出复位信号使所有的发出复位信号使所有的测试逻辑不影响元件的正常运行。若需要进行边界扫描测试测试逻辑不影响元件的正常运行。若需要进行边界扫描测试, ,可以在可以在TMS TMS 与与TCK TCK 的配合控制下的配合控制下, ,退出复位退出复位, ,进入边界扫描测试需要的各个进入边界扫描测试需要的各个状态。状态。n n对于我们需要进行对于我们需要进行IC IC 元件测试的设计人员来说元件测试的设计人员来说, ,只要根据只要根据TAP TAP 控制控制器的状态机器的状态机, ,设计特定的控制逻辑设计特定的控制逻辑, ,就可以进行就可以进行IC IC 元件的边界扫描测试元件的边界扫描测试或利用或利用
14、J TAGJ TAG接口使接口使IC IC 元件处于某个特定的功能模式。元件处于某个特定的功能模式。n假设在我们设计的一个系统中,需要利用J TAG 控制使其进入一种高阻模式(HIGHZ 模式,这是IEEE 1149. 1 推荐的任选模式之一) ,在这种模式下,芯片的所有输出管脚都处于无效态即高阻态。要使此IC 进入HIGHZ , 定义将位码00101 写入指令寄存器,这时,边界测试数据寄存器选择的是旁通寄存器。 设计举例设计举例n(1) TRST = 1 。(使其进入测试模式)n(2) 进入SHIFT - IR 状态: 在连续5 个TCK(上升沿) ,使TMS = 01100 ,则进入SHI
15、FT- IR 状态。n(3) 将指令码写入指令寄存器:在SHIFT - IR状态,通过TDI 将00101 写入指令寄存器,需要5个时钟周期。n(4) 进入EXIT1 - IR 状态:在SHIFT- IR状态的第5 个TCK 的上升沿(最后一个指令码) , 使TMS = 1 ,则进入EXIT1 IR 状态。n(5) 进入Update - IR 状态:进入EXIT1 - IR 状态后,再使TMS = 1 ,则进入Update - IR 状态。n(6) 进入Run - Test/ Idle 状态:进入Update - IR状态后,再使TMS = 0 ,则进入Run - Test/ Idle 状态,
16、此时,IC进入HIGHZ 状态。(以上描述可用VHDL代码生成)JTAG 应用应用n nInfra test: Infra-structure to check if the Boundary- Scan connections are correct.n nInter test:Interconnections in-between Boundary-Scan components.n nMemory cluster test:test memory.test memory.n nCluster test:Interconnections in-between no Boundary-Sca
17、n components.n nFlash Prog : FLASH programmer.n nPLD Prog : IC programmer.IC programmer.INFRANotice yellow line4 Boundary-Scan :D3, D4, D5 and D6.Non Boundary-Scan SRAM D1. Non Boundary-Scan FLASH D2. Non Boundary-Scan D7. INFRA (PASS (PASS) INFRA (PASS)nCAPTURE Test The CAPTURE is a fixed value fro
18、m the INSTRUCTION REGISTER. It is used to check the TDI - TDO and the TCK and TMS connections. The FLAG is added to test the connection from TDI of the tester to the board.nIDENT Test Optional IDENTETY REGISTER is checked to check if the correct chips are used.nTRST Test To test the optional TRST si
19、gnal. * If NO TRST - CAPTURE is checked. * If TRST - IDENTETY REGISTER is checked. INFRA (PASSPASS) INFRA ( Failure)( Failure) INFRA ( Failure)( Failure)Boundary-Scan ICD6, D3 and D 5 are OK.* D4 and FLAG are BAD.# Something wrong in-between D6 and D4. INTERNotice green line INTER (PASS)(PASS)Single
20、 lineH = Drive value for a Boundary Scan output cell.L = Drive value for a Boundary Scan output cell.1 = Sense value for a Boundary Scan input cell.0 = Sense value for a Boundary Scan input cell.Z = Disabled Boundary Scan output cell.X = Sense value for a Boundary Scan input cell unknown.- = No acti
21、ve Boundary Scan cells on the net. INTER (Failure)(Failure) INTER (Failure)(Failure)FailureFailureNets A2 and A3 have some errors.* When A2 needs to go low, whilst A3 is high, error.* When A3 needs to go low, whilst A2 is high, error.# Bridge between nets A2 and A3.INTER FAIL INTER (Failure)(Failure
22、)Where errorMemory cluster Memory cluster (pass)One can select an address.One can Write data to this address.One can Read-back this data.If the same, OK; If wrong ERROR. Memory cluster (Failure) Memory cluster (Failure)Address are the stimuli only.Data is stimuli (write) as well as response (read).S
23、o the conclusions of address errors have to come from the Data response. Memory cluster (Failure)Cluster Cluster (pass)ALE is Input for AND_D7 cluster (Boundary scan drives H, L).WRITE is Input for AND_D7 cluster (Boundary scan drives H, L).WR_HT is Output for AND_D7 cluster (Boundary scan sense 1,
24、0).AND_D7 Cluster (Failure) Cluster (Failure)Function (of AND_D7) is embedded in the test vectors.Thus the diagnose is only output oriented.ALE is Input for AND_D7 cluster (Boundary scan drives H, L).WRITE is Input for AND_D7 cluster (Boundary scan drives H, L).WR_HT is Output for AND_D7 cluster (Bo
25、undary scan sense 1, 0). Cluster (Failure)FailureFlash Prog Flash PrognFLASH cannot be tested like RAM ! FLASH has a programming protocol, meaning: You have to full-fill the programming protocols in order to write, before you can read backnToo much effort, so an ID (Identity) is checked.nSend RD_ID
26、protocols (vectors 1 until 12). Read Manufacturer ID protocols (vector 13). Read Device ID (vector 14). Close (vectors 15 until 17). Flash Prog (pass) Flash Prog (Failure)(Failure)On failure, the process is stopped, and an indication aboutthe place where the error occurred (failing address) is given
27、.PLD Prog PLD Prog (pass)Status of a programming action is given.In the case of the programming of a JEDEC file, the “bitmap” of the JEDEC file can be compared with the “bitmap” inside the PLD,and erroneous bits can be displayed. PLD Prog (Failure)(Failure)一. Infra 开发方块图:JTAG开发简单方块图BTPG(引擎)Net List(
28、CAD).JTNBSDL(BSD).DSH.SEL(DSH Location).GENPIL(Parts Information List)RUNJTAG开发n n关于JTAG的开发,后面列出了JTAG开发方框图。每一个开发项目都是由几个固定文件组成,然后驱动BTPG引擎,再经过编绎,运行。就可完成一个开发。n n值得注意的是,开发人员必须熟悉所测试电路元件的连接关系并加以定义,查阅芯片的资料,在开发过程中还要借助设计人员所提供的文档加以整合。JTAG开发简单方块图二. Interconnection 开发方块图BTPG_I.NIF(Net Information File).DIF(Devi
29、ce Information File).BIL(BS Information List)ECN.APLBSXCompiler若.APL有問題,則要重新改:.NIF,.DIF,.BILJTAG开发简单方块图三. Memory Cluster 开发方块图:BTPG_M.NIF(Net Information File).MCD(Memory Cluster Definition).BIL(BS Information List).APLBSXCompilerSDESLFJTAG开发简单方块图 四. Cluster 开发方块图:BTPG_C.NIF(Net Information File).SD
30、F (Signal Definition File).BIL(BS Information List).APLBSXCompiler.SLF (Signal Level File)ANDABCSDF:A 1 IB 2 IC 3 OJTAG开发简单方块图五. Flash Programmer 开发方块图:BTPG.NIF(Net Information File).FSH(Flash Data Sheet).FSHSEL.APLBSXCompilerJTAG开发简单方块图 六. PLD Programmer 开发方块图:BTPG.NIF(Net Information File).SVFJEDECIEEE 1532.BIL(BS Information List).PRGRUN Thank !