一种边界扫描测试的实现方法及装置制造方法及图纸

技术编号:2866216 阅读:170 留言:0更新日期:2012-04-11 18:40
一种边界扫描测试的实现方法,该方法通过终端、测试总线控制器配合对边界扫描器件进行测试,所述终端向测试总线控制器提供边界扫描测试数据,所述总线控制器向边界扫描器件提供测试数据输入数据和测试模式选择;其特征在于该方法包括步骤:    A、终端根据边界扫描测试数据中的命令,将该边界扫描测试数据中的测试向量数、扫描链长度及测试模式选择序列分别写入测试总线控制器的测试向量计数器、扫描链长度寄存器和测试模式选择序列移位寄存器;    B、测试时钟控制测试总线控制器状态机将扫描链长度值写入扫描链长度计数器,以及移出测试模式选择序列移位寄存器的值,同时将移出的该值返回到该寄存器的尾部重新排队以形成循环移位;    C、在测试模式选择序列的第8位移出时,检测扫描链长度计数器;如果扫描链长度计数器的值表示无测试数据输入数据移出,则继续循环移位,然后进行步骤E;否则,测试模式选择序列移位寄存器停止移位,并保持测试模式选择值为该第8位值不变;    D、测试总线控制器状态机在测试时钟控制下将测试数据输入移位寄存器中的数据移出,每移出一位将扫描链长度计数器减1,直到扫描链长度为1时移出最后一位数据;    E、继续循环移位测试模式选择序列移位寄存器,并在移出第16位时检查测试向量计数器,如果测试向量计数器的值表明所有测试向量已全部传送完,则测试总线控制器状态机停止测试,否则将测试向量计数器的值减1并进行步骤B。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及测试技术,特别涉及一种边界扫描测试的实现方法及装置
技术介绍
在边界扫描器件中,每个重要的输入输出管脚,都增加了一个多用途的存储单元,被称为边界扫描单元。输入管脚上的边界扫描单元称为输入单元,输出管脚上的边界扫描单元称为输出单元,输入和输出是相对器件的内部逻辑来看的。在边界扫描器件中,边界扫描单元被组织成并行输入PI(Paralell Input)、并行输出PO(Paralell Output)的移位寄存器,如图1所示。并行输入(Capture)操作,使器件输入管脚上的信号值,被装入输入单元中;器件内部逻辑的值被装入输出单元中。并行输出(Update)操作,使输出单元里的值送到器件的输出管脚上;输入单元里的值送到器件内部逻辑上。图2是一种常见的边界扫描单元,称之为BC_1(Boundary-Scan Cell)。边界扫描单元里的值还可以串行地移位,从器件专用的输入管脚TDI开始,到器件的专用输出管脚TDO结束。测试时钟从器件的另一个专用输入管脚TCK输入,而运行模式由器件的专用输入管脚TMS来串行控制。JTAG组织建议的芯片边界扫描测试结构如图3,其中包含以下内容1、四个专用测试管脚,测试数据输入TDI(Test Data In),测试数据输出TDO(Test Data Out),测试模式选择TMS(Test Mode Select)和测试时钟TCK(Test Clock),一个可选的测试复位管脚TRST(Test Reset)。这些测试管脚一起被称之为测试通道口TAP(Test Access Port)。2、器件每个重要的输入输出管脚上都有一个边界扫描单元,内部连接成串行的边界扫描寄存器(Boundary Scan)。3、由输入信号TCK、TMS和TRST来控制TAP有限状态机。4、一个N(N>=2)位的指令寄存器(除指令寄存器外的寄存器统称为数据寄存器)。5、一个1位的直通(Bypass)寄存器。6、一个可选的32位识别码寄存器,用来保留一个永久的器件识别码。TAP控制器,根据指令寄存器中的命令码,在Update_IR时译码指令。不同的指令选中不同的寄存器,命令译码后,TDI至被选中寄存器至TDO串接在一起。JTAG组织定义的强制测试命令如下1、外部测试(Extest)指令,选中边界扫描寄存器,指令码为全0。2、直通(Bypass)指令,选中直通寄存器,指令码为全1。3、预装/采样(Preload/Sample)指令,选中边界扫描寄存器,指令码未作规定。图4表示的是TAP控制器的16状态机,在TAP状态框外的数字是TMS的值。TAP控制器的状态在TCK的上升沿改变,而控制器的输出值在TCK的下降沿改变。从图中可以看到,16状态机中有6个稳定状态(在TMS不变时,状态机状态不变)测试逻辑复位(Test_Logic_Reset),空闭(Run_Test_Idle),指令移位(Shift_IR),数据移位(Shift_DR),指令移位暂停(Pause_IR)和数据移位暂停(Pause_DR)。TAP控制器,在上电初始化和TRST=0时,状态为Test_Logic_Reset,当TMS保持为1(缺省值)时,状态机状态保持不变。另外,无论状态机处在什么状态,保持TMS为高,输入连续5个TCK时钟后,状态机都能回到Test_Logic_Reset状态。在Test_Logic_Reset状态下,选中的寄存器是直通寄存器或识别码寄存器(如器件有识别码寄存器,则选中识别码寄存器;如没有识别码寄存器则选中直通寄存器)。在TMS和TCK的控制下,可将指令移入指令寄存器(选择图4中的右侧路径),在更新指令(Update_IR)时,指令将会被译码,同时会选中相应的数据寄存器。此时,TMS和TCK控制状态机,走图4左边的路径(不经过Test_Logic_eset),可将数据从TDI移入,同时数据寄存器中原来的数据从TDO移出。图5是JTAG测试的基本原理。图中是由4个器件组成的JTAG链,TCK和TMS送到每个器件上,这样,每个器件的TAP状态机是同步运行的。TDI接到右上的第一个器件U1上,它的TDO输出接至下一个器件U2的TDI输入,将4个器件连成一条串行链,最后U4的输出接至TDO。这样,就可以将指令和测试数据串行地送到各个器件上,对各器件的信号连接关系进行测试。在图5连接成的JTAG链中,假定所有器件的命令寄存器均为2位,每个器件管脚的边界扫描单元均为1位,器件上方为输入管脚,下方为输出管脚。如果要测试器件U3的O1输出与器件U2的I3输入的连接关系,可以让U3的O1管脚,分别输出高电平和低电平,在U2的I3上进检测。具体实现步骤,从Test_Logic_Reset开始,控制TMS,使所有器件的TAP状态均进入Shift_IR,链上U1和U4两个器件移入Bypass指令,U2和U3两个器件移入Extest外部测试命令指令,数据序列如下,X为任意值TMS01100 00000001 10TDIXXXXX 11000011 XX上面的TMS和TDI数据,在TCK时钟的控制下移入器件后,U1和U4装入了直通指令,U2和U3装入了外部测试指令。所有器件均处在Run_Test_Idle状态。然后控制TMS,使所有器件的TAP状态进入到Shift_DR,移入测试数据(由于U1和U4器件是Bypass,移位21次后,最先移入的TDI数据,到达U3器件最后一个管脚的扫描单元),TDI和TMS的数据序列如下 TMS 100 000000000000000000001 10TDI XXX 11111XXXXX11111XXXXXX XX走完上面的状态时,所有器件的TAP状态,又处在Run_Test_Idle。但在经过更新数据(Updata_DR)状态时,从左至右第8个TDI的值1将从U3的O1管脚上输出。上面的两次边界扫描单元移动数据时,都没有关注TDO的输出,在每次从TDI输入数据到器件的同时,也从器件的TDO输出数据。当再次从Run_Test_Idle状态进入Shift_DR,中间的捕获数据(Capture_DR)会将输入管脚脚上的值装入移位寄存器中。对器件U2的I3脚来说,在执行Capture_DR时,会将U3的O1输出值捕到移位寄存器中,接着进入到Shift_DR时,移出的数据如下TMS 100 000000000000000000001 10TDO XXX XXXXXXXXXXXXXXXXXX1XX XXTDI XXX XXXXXXXXXXXXXXXXXXXXX XX由于U2的I3排在扫描链的第19位(从TDO开始计数),所以值1会在TDO数据的第22个时候移出来(前面有3位TAP走状态机时的TDO移出值)。同理可让O1输出0,从I3上采回0。以上是边界扫描测试的基本原理。用来产生和采样这些边界扫描信号(TRST、TCK、TMS、TDI和TDO)的器件或系统称为测试总线控制器TBC(Test_Bus_Control)。在测试示例中可以看到,如果扫描链上有较多的边界扫描单元,测试数据量将会相当大(TMS、TDI和TDO);如果希望测试的连接关系越多,测试的数据量也越大。因此,如何组织本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利