一种边界扫描链自测方法技术

技术编号:2865708 阅读:189 留言:0更新日期:2012-04-11 18:40
一种边界扫描链自测试方法,包括:    步骤1:确定需要测试的边界扫描链;    步骤2:根据边界扫描链上的各个边界扫描器件中的各个需要测试的寄存器的位长以及边界扫描单元的个数,确定边界扫描链需要测试的内容及其对应的长度位数;    步骤3:根据边界扫描链需要测试的内容,采用大于需要测试的内容对应的长度位数的安全数据,使安全数据跟随在需要测试的内容的数据后面,共同组成被测试序列,然后对被测试序列进行移位操作,将测试内容中的数据移出扫描链;    步骤4:根据移出扫描链的数据对扫描链进行是否故障的判决。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及集成电路的测试方法,尤其是边界扫描(BSBoundaryScan)集成电路的测试方法。
技术介绍
目前对集成电路进行测试的边界扫描系统一般由以下三个部分组成计算机、边界扫描测试控制器和被测电路板,参考图1。在被测电路板上,边界扫描器件的测试数据输出(TDOTest Data Output)线和测试数据输入(TDITest Data Input)线相互串连,测试模式输入线(TMSTestMode Select input)、测试时钟输入线(TCKTest Clock input)和测试逻辑复位线(/TRSTTest Logic Reset)并连,JTAG(Join Test ActionGroup)接口是边界扫描测试控制器和被测电路板的连接接口,参考图2,U1、U2、......,Ui表示边界扫描链上的边界扫描器件,即边界扫描集成电路。在对边界扫描器件进行边界扫描测试之前,首先要保证边界扫描链是能够正常工作的,也就是需要进行边界扫描链的自测试。自测试的主要目的为一是确定扫描链从TDO到TDI的连接是否正确,有无开路、短路等故障;二是确定其余三根信号线(TMS、TCK、/TRST)连接是否正确,有无开路、短路等故障;三是确定边界扫描器件是否能够进入边界扫描测试模式并且能够正常工作。请参考图3,边界扫描器件包括指令寄存器和数据寄存器,其中,数据寄存器包括边界扫描单元、ID寄存器、旁路寄存器等。指令寄存器和数据寄存器的工作状态由测试存取端口(TAPTest Access Port)控制器的信号来控制。TAP控制器是一个时序电路,由TMS和TCK信号驱动。在边界扫描器件中,指令寄存器或数据寄存器的选择由TAP控制器直接控制。TAP控制器的工作过程由图4所示的十六状态机控制。根据IEEE1149.1标准规定,边界扫描器件进入指令寄存器捕获(Capture-IR)状态时会自动装入捕获(Capture)信号,还规定Capture信号的最低两位必定为“01”以便于用“1”检测逻辑固定为0故障,用“0”检测逻辑固定为1故障,目前通用的边界扫描链自测试正是利用这个特点完成的。预置到指令寄存器中的Capture信号可以由器件的边界扫描描述语言(BSDL)得到,如在型号为sn74bct8244的BS器件的BSDL中有下面的描述文字“attribute INSTRUCTION_CAPTURE of sn74bct8244entity is″10000001″;”则可知sn74bct8244芯片在进入Capture-IR状态时,会将“10000001”装入到指令寄存器中。目前通用的边界扫描链自测试方法如下在边界扫描器件退出Capture-IR状态以后,进入Shift-IR状态,在此状态下对指令寄存器进行一定次数的移位操作,将Capture信号串行移出进行分析,这样可以检测到扫描链的开路和短路等故障,也能发现其余信号线的故障。例如设扫描链由两个边界扫描器件U1和U2组成,U1的指令长度为4,Capture信号为0101,U2的指令长度为8,Capture信号为10000001。将上述指令合并成一个指令串,则通过12次指令移位操作,得到一组矢量为010110000001。如果不一致则可发现扫描链本身存在故障,或者边界扫描器件无法完成正常的边界扫描测试功能。上述方法的主要缺点在于存在测试不完备的问题以及测试的安全性问题。所述测试不完备表现在链路测试不完备和器件本身的测试不完备。链路测试的不完备参考图5,由于移位次数等于扫描链上所有边界扫描器件指令长度之和,所以扫描链上第一个器件,即图5中的U1与JTAG接口之间连线的开路短路等故障无法检测到。对边界扫描器件本身的测试不完备是由于目前的测试方法,只有对指令寄存器的操作过程,即只有“TDI——指令寄存器——TDO”的测试通道,其它几个通道,“TDI——旁路寄存器(Bypass Register)——TDO”通道、“TDI——器件标识寄存器(ID Register)——TDO”通道、“TDI——边界扫描单元连成的扫描链——TDO”通道没有测试到。另外,现有方法也没有对异步复位线(/TRST)进行测试。所述现有方法的测试安全性问题在于,由于现有的扫描链自测试方法是用一个数字串去将Capture信号“顶”出来,以图7为例,假设U1、U2为边界扫描器件,U1的Capture信号为010101,U2的Capture信号为1001,在移位操作中通过10个“0”将扫描链上的Capture信号顶了出来,从TDO移出来的数字如果是“0101011001”,则表明扫描链本身没有发现故障。但是在测试结束以后留在U1指令寄存器中的指令为“000000”,留在U2指令寄存器中的指令为“0000”,而按照IEEE1149.1标准规定,全0指令为外部测试(EXTEST)指令,在TAP状态机经过Update-IR状态以后,指令寄存器中的指令起作用,留在扫描单元中的数据会从引脚上传输出去,这样,如果留在扫描单元中的数据是随机的,必然存在电路的安全隐患,可能损伤电路。在JTAG指令中,能改变器件引脚状态的指令,例如外部测试指令(EXTEST)、内部测试指令(INTEST)等,这些指令可能引起安全隐患,严重时会导致损伤电路。
技术实现思路
本专利技术提供了一种边界扫描链自测试方法,以解决现有技术中存在测试不完备且安全性不高的缺点。为此,本专利技术提供的边界扫描链自测试方法,包括步骤1确定需要测试的边界扫描链;步骤2根据边界扫描链上的各个边界扫描器件中的各个需要测试的寄存器的位长以及边界扫描单元的个数,确定边界扫描链需要测试的内容及其对应的长度位数;步骤3根据边界扫描链需要测试的内容,采用大于需要测试的内容对应的长度位数的安全数据,使安全数据跟随在需要测试的内容的数据后面,共同组成被测试序列,然后对被测试序列进行移位操作,将测试内容中的数据移出扫描链;步骤4根据移出扫描链的数据对扫描链进行是否故障的判决。步骤2所述的边界扫描链需要测试的内容包括寄存器测试和边界扫描单元测试。对于寄存器测试,所述的需要测试的内容对应的长度位数为边界扫描器件中的相应寄存器的位长之和;对于扫描单元测试,所述的需要测试的内容对应的长度位数为边界扫描器件中的边界扫描单元的个数之和。步骤3所述的对被测试序列进行移位操作,将测试内容中的数据移出扫描链为对所述的被测试序列进行串行移位操作,将测试内容中的数据移出扫描链。步骤3所述的对被测试序列进行移位操作,将测试内容中的数据移出扫描链还包括使被测试的寄存器或边界扫描单元中留有安全数据,其中,对于寄存器测试,移位次数大于长度位数;对于边界扫描单元测试,移位次数大于长度位数加2。步骤3所述的安全数据为无法使边界扫描器件引脚状态改变的数据。步骤3所述的安全数据为由多位“1”构成的序列,其长度大于需要测试内容的长度位数。步骤3所述的对被测试序列进行移位操作,将测试内容中的数据移出扫描链包括在至少一次的测试中,对被测试序列采用二次移位的方法进行测试,在其中一次移位时的被测试序列中,在安全数据与需要测试的内容的数据之间,根据移位次数插入相应位数的“0”,在另一次移位时的被测试序列中,在安全数据与需要测试的内容的本文档来自技高网
...

【技术保护点】

【技术特征摘要】

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

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

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