Boundary Scan测试原理及实现资料.docx

上传人:b****7 文档编号:16299679 上传时间:2023-07-12 格式:DOCX 页数:14 大小:21.61KB
下载 相关 举报
Boundary Scan测试原理及实现资料.docx_第1页
第1页 / 共14页
Boundary Scan测试原理及实现资料.docx_第2页
第2页 / 共14页
Boundary Scan测试原理及实现资料.docx_第3页
第3页 / 共14页
Boundary Scan测试原理及实现资料.docx_第4页
第4页 / 共14页
Boundary Scan测试原理及实现资料.docx_第5页
第5页 / 共14页
Boundary Scan测试原理及实现资料.docx_第6页
第6页 / 共14页
Boundary Scan测试原理及实现资料.docx_第7页
第7页 / 共14页
Boundary Scan测试原理及实现资料.docx_第8页
第8页 / 共14页
Boundary Scan测试原理及实现资料.docx_第9页
第9页 / 共14页
Boundary Scan测试原理及实现资料.docx_第10页
第10页 / 共14页
Boundary Scan测试原理及实现资料.docx_第11页
第11页 / 共14页
Boundary Scan测试原理及实现资料.docx_第12页
第12页 / 共14页
Boundary Scan测试原理及实现资料.docx_第13页
第13页 / 共14页
Boundary Scan测试原理及实现资料.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Boundary Scan测试原理及实现资料.docx

《Boundary Scan测试原理及实现资料.docx》由会员分享,可在线阅读,更多相关《Boundary Scan测试原理及实现资料.docx(14页珍藏版)》请在冰点文库上搜索。

Boundary Scan测试原理及实现资料.docx

BoundaryScan测试原理及实现资料

BoundaryScan测试原理及实现 

 

Boundaryscan的目的:

Boundaryscan是一种用于测试数字集成电路的技术,它能找出,开路,短路,和功能不良的数字器件,另外它还能完成一些功能测试。

相对于传统的数字器件的向量测试,它还有以下几个优点:

 具有较短的测试开发时间;

 能用于探针接触有困难的那些器件的测试;

 能减少维修时间和维修成本,故障诊断范围可以到PIN脚。

 一般理论:

 Boundary-Scan测试的时候发送一组信号流到被测的数字器件的转换寄存器单元里面。

而这个单元可以在每一个输入,输出,和双向引脚以及器件的逻辑中心那里找到。

那些信号在寄存器周围转换并且从器件输出,然后用输出的信号和输入的信号之间的差异来比较并判断出错。

例如有两个引脚之间短路或者电源与地脚短路之类的,它都会报错。

 

几个boundaryscan器件可以被连接到一个链上,从而一些相同的基础测试可以同时执行。

当然,boundaryscan还有许多的附加的测试能力,但是这种使用转换寄存器来检查输出的信号流是整个boundaryscan测试理论的基础。

  

两种软件包:

 在Agilent3070上有两个不同类型的boundaryscan测试软件:

他们是:

in-circuitboundaryscan和HPinterconnectplus.其中in-circuitboundaryscan是Agilent3070标准软件包中自带的,它可以生成标准的单独的数字器件的在线boundaryscan测试。

而HPinterconnectplu是一个可选软件,它可以生成链式的boundaryscan测试程序,同时,它也能自动生成单独器件的boundaryscan测试程序。

 

 boundaryscan器件的设计

boundaryscan测试软件遵从IEEE1149.1的标准,遵从此类标准的IC在每个引脚和逻辑中心之间都有一个独立单元。

这些相互独立的单元们连接到一个转换寄存器也叫boundaryscan寄存器中,他负责控制和观察每个输入,输出,和双向引脚的值。

每一个boundaryscan的器件都有一个特殊的输入引脚(TDI),一个特殊的输出引脚(TDO),TDI作为boundaryscan寄存器的输入端,而TDO则连接到boundaryscan寄存器的输出端。

在TCK(时钟控制)的基础上,由TAP(testaccessport)来控制整个工作流程,工作模式选择(TMS)和复位信号(TRST*)

 

有两种boundary-scan测试依赖于boundary-scan器件本身,假如一个元件设计者在设计的时候把IDCODE放到寄存器中,boundary-scan就可以去确认此器件的制造商,PN,和版本号之类的信息,假如此器件还有内嵌的自测(BIST)时,boundary-scan还可以运行这种自测并且报错。

 

 

指令寄存器:

 指令寄存器包含了指令的解码。

也包含了一些数据寄存所使用的特殊指令。

 ByPass寄存器:

 

你可以使用ByPass寄存器通过那些没有被使用的Boundary–Scan寄存器链来进行数据传输的工作。

假想你有一个很复杂的IC被用其它的技术象TESTJET之类的去测试而不用boundary-Scan,你也许会决定省略掉这个Boundary-Scan寄存器的长度并用单个单元的ByPass寄存器来代替。

在下图中,使用ByPass寄存器可以包含12个boundary-Scan寄存器,事实上boundary-Scan寄存器的个数一般都很大,所以采用ByPass寄存器,会节约一些测试时间。

 

 身份辨别寄存器:

 

身份辨别寄存器是一个32位的寄存器,它包含了元器件的一些制造信息。

身份辨别寄存器有时也称IDCODE寄存器,因为IDCODE指令显示了身份辨别寄存器中的内容,并不是所有的boundary-scan器件都有IDCODE寄存器,IEEE1149.1明确指出IDCODE只是一个选项。

 Boundary-scan单元的功能:

 

下图显示了一个典型数据寄存器单元它能灵活的扮演输入或输出单元。

灰色的Internallogic和OutoutPin阐明了输出的配置。

而紫色的Inputpin和

Internallogic阐明了输入的配置,对于双向PIN来说,你可以只选用一个单独的单元就行了。

转换,更新和测试模式用其它的颜色来标明:

 TAP控制器:

 

TAP控制器是一种16位态的设备,它控制boundary-scan测试的操作。

由于TAP控制器管理着大多数的数据和指令寄存器,理解TAP控制器在另一种意义上说等于理解了boundary-Scan,TAP控制器通过TCK,TMS,TRST*来实现控制。

 

 控制线:

 

三个输入控制线:

TCK,TMS,TRST*,TCK是一个方波时钟信号,Agilent3070用一个50%的DUTYCYCLE来实现它,TMS信号通过状态图控制着TAP控制器的动作,一般在TCK的上升沿触发TMS,有时也会在TCK的下降沿触发。

而TRSTR*用于复位动作。

例如下图所示,TRST信号一般是在接近序列的中间出现。

 

 测试-逻辑-复位:

 

在测试-逻辑-复位状态时,测试逻辑被禁用从而使此器件可以正常工作,当器件第一次被打开的时候,只要有ID寄存器存在,那个指令寄存器就会引入IDCODE指令,假如没有的话,会引入ByPass寄存器。

一般的,测试-逻辑-复位在TAPcontroller上电的时候才工作的,测试程序员能够通过使TRST*为低电平或使TMS为高电平并持续至少5个TCK周期来迫使TAP控制器进入上电的状态。

 

 Run-Test/Idle:

Run-Test/Idle允许在指令寄存器的指令的基础下激活被选种的测试逻辑电平,TAPcontroller在TMS保持低电平的状态下,会保持Run-Test/Idle的状态,而当TMS转换为高电平的时候,它转移到Select-DR-Scan上去。

 Select-DR-Scan:

这个TAP控制器扮演一个开关的角色,在下一个TCK的上升沿TAP控制器会开始数据寄存器的扫描或者转到Select-IR-Scan的状态上面。

 

 Capture–DR:

 

在Capture–DR的状态时,夹具上连接到输入PIN的测试针的值,会替换一部分当前被指令选中的部分数据寄存器。

并不是所有的指令都在这个状态做任何事,一些指令可以在数据寄存器现存的数据的基础上工作,TAP控制器会在一个时钟周期内保持这种状态,然后再转移到Exit1-IR或 Shift-IR。

 

 Shift-DR:

 

在Shift-DR的状态,数据寄存器就好象一个转换寄存器在TDI和TDO数据之间并从TDI转移到数据寄存器然后再通过TDO在每一个TCK的上升沿从数据寄存器中出去。

数据寄存器会保持这种状态直到TMS变为高电平,然后设备会转移到Exit1-DR的状态。

 

 Exit1-DR

 

在到达Exit1-DR状态后,TAPcontroller转移到Pause-DR或者Update-DR在TCK下一个上升沿,转到Update-DR时,扫描的过程就结束了,当移动到Pause-DR时可以暂停TAPcontroller的状态进程,此时可以允许测试机调用内存。

 

 Pause-DR

 

当Pause-DR状态时,它允许一个暂停来通过指令寄存器来转换数据,一种情况是TAPcontroller执行其他的任务时可以使用此种状态,TAPcontroller会保持这种状态知道TMS变为高电平,然后TAPcontroller会转移到Exit2-DR状态。

 

 Exit2-DR

 

在到达Exit2-DR状态之后,在下一个TCK的上升沿时TAPcontroller会转移到Shift-DR或Update-DR。

转移到Shift-DR时会从新开始扫描,转移到Update-DR时中止扫描的进程。

 

 

 Update-DR

 

在TCK的下降沿时,Update-DR状态从boundaryscan寄存器锁住数据到boundaryscan寄存器的并联输出。

在到达这个状态之后,状态设备转移到Run-Test/Idle或Select-DR-scan,当一个测试转移到Select-DR-scan时比转移到RUN-Test/Idle要快一个时钟周期,转到RUN-Test/Idle去压制groundbounce的影响是一个好办法。

 Select-IR-Scan

 

TAPcontroller充当一个开关的角色。

在TCK下一个上升沿时,TAPcontroller开始IR扫描进程或者重置TAPcontroller到TEST-Logic-Reset状态。

IR—SCAN进程放在TDI和TDO之间的指令寄存器中,并在下一个TAPcontroller指令中转换。

 

 Capture-IR

 

Capture-IR状态在TCK的上升沿时从集成电路板上纳入一个逻辑电平到指令寄存器。

一般都是01之类的信号,用于测试boudary-Scan电路的完整性。

其他的信号被设计员另外再特指标明或把值赋给变量,在Capture-IR状态待满一个时钟周期后,TAPcontroller转移到EXIT-IR或Shift-IR。

 

 Shift–IR

 

在Shift–IR的状态,指令寄存器在TDI和TDO之间扮演一个转换寄存器的角色,在Capture-IR抓到的数据在TCK的上升沿时转换到TDO并且一个新的指令从TDI转换进来。

TAPcontroller直到TMS变为高电平才会改变状态到Exit1-IR.

 

 Exit1-IR.

 

到达Exit1-IR状态之后,在下一个TCK的上升沿时转换到Pause-IR或者Update-IR.转移到Update-IR时中止扫描的进程。

当移动到Pause-IR时可以暂停TAPcontroller的状态进程,此时可以允许测试机调用内存。

 

 Pause-IR

 

当Pause-IR状态时,它允许一个暂停来通过指令寄存器来转换数据,一种情况是TAPcontroller执行其他的任务时可以使用此种状态,TAPcontroller会保持这种状态知道TMS变为高电平,然后TAPcontroller会转移到Exit2-IR状态。

 

 Exit2-IR

 

在到达Exit2-IR状态之后,在下一个TCK的上升沿时TAPcontroller会转移到Shift-DR或Update-IR。

转移到Shift-IR时会从新开始扫描,转移到Update-IR时中止扫描的进程。

 

 Update-IR

 

在TCK的下降沿时,Update-IR状态latchestheinstructionregisterfromtheflip-flopsintolatcheswheretheinstructiondecodeed,一旦一个新的指令被锁住它立刻转变为当前的指令。

在到达这个状态之后,状态设备转移到Run-Test/Idle或Select-IR-scan,当一个测试转移到Select-IR-scan时比转移到RUN-Test/Idle要快一个时钟周期,转到RUN-Test/Idle去压制groundbounce的影响是一个好办法。

 ByPass

 

Bypass指令放在一个单独的单元,ByPass寄存器在TDI和TDO之间,它并不象其他的测试一样去确认元件的放置和方向,在Bypass指令执行时,元件仍然保持正常的操作。

根据IEEE1149.1的标准,指令代码为1的必须解码为Bypass.

 

 EXTEST

 

EXTEST指令是最有用的boundaryscan的指令,因为它允许你在对元件的逻辑核心一无所知的情况下去测试所有的输入输出和双向引脚。

EXTEST指令隔离了元件的逻辑核心测试,在元件的逻辑核心之外进行测试,他测试Boundaryscan单元,引脚到板上的连接等等。

EXTEST指令有三种模式:

 

 标准-单独模式用于测试boudary寄存器,和器件到板子上的连接情况。

 内部连接模式用于测试boudary寄存器,和连接到boundaryscan器件的电路。

 簇模式用于用于测试boudary寄存器和在boundaryscan器件和其它器件之间的电路。

根据IEEE1149.1的标准,指令代码为0的必须解码为EXTEST。

 

 Sample/preload

 

Sample/preload指令允许在元件正常工作的时候有有采样的输入和输出。

然后Boundaryscan测试可以对那些采样数据进行分析比并从TDO输出。

当Boundaryscan测试在转换采样数据并输出时,它可以通过TDI将采样数据预载到Boundaryscan寄存器中,那些信号解码到Sample/preload指令并不属于IEEE1149.1标准,他们被元件设计师所制定。

 

 

Sample/preload指令的预载功能是用来准备那些例如EXTEST的指令的,例如,假想一个芯片选择器件如下图它连接了两个ROMS并共享了一个输出BUS,在这个事例中你可以使用preload来确保芯片选择器件的输出不会同时出现高电平而导致BUS竟争。

 

 

 

 

 

 

 

 IDCODE

 

IDCODE指令被放在TDI和TDO之间的寄存器中间,由于在这里面放了元件的制造信息,所以可以通过此指令来辨别WRONGPART。

 

 USERCODE

 

USERCODE指令允许测试开发人员登入一个32位的代码从而可以被转换并输出用于校验。

这个指令是根据有设计人员的定义来定的,并且它依赖于身份辨别寄存器的存在而存在。

 

 Intest:

 

Intest对元件的内部逻辑进行静态的测试,在进行静态的测试的时候,这些测试并不是在元件固有的测试速度下进行的,而是在TCK的单步测试模式下进行的。

这种测试不会受元件的拓扑结构的影响。

它的测试结果从TDO输出。

 

         RunBIST:

 

RUNBIST是使元件进行自测的指令,当元件执行BIST时,TAP控制器处于RUN_TEST/IDLE状态。

它测试的结果从TDO输出。

同样这个测试不会受元件的拓扑结构的影响。

 

         CLamp:

 

CLAMP是一个设计人员定义的代码,它能设置所有的系统逻辑输出和双向引脚从Boundary-scan寄存器中锁住一个常量值。

在此指令执行的时候,处于TDI和TDO之间的ByPass寄存器在SHIFT-DR控制的状态。

        HIGHZ:

 

HIGHZ是一个设计人员定义的代码,它能设置所有的系统逻辑输出和双向引脚到一个高阻状态。

这就能允许测试机在不损坏元件的前提下去驱动信号到元件的输出和双向引脚上。

在此指令执行的时候,处于TDI和TDO之间的ByPass寄存器在SHIFT-DR控制的状态。

  

 BOUNDARY-SCAN的软件

In-circuitBoundary-Scan

 

一种使用Boundary-Scan技术的方式是使用BSDLINFORMATION去创建一个传统的在线库测试。

In-circuitBoundary-Scan,扫描端口驱动界面(SPDIF)是HP3070测试机所具有的标准的功能。

它为单个的Boundary-Scan器件创建测试,不能创建链式的Boundary-Scan测试。

和许多的数字测试一样,你在做n-circuitBoundary-Scan测试时要首先确认你的测试点数是否够。

 

 HP interconnectPlussoftware:

 

一种使用链式的Boundary-Scan测试软件包,可生成测试类型如下:

 

 

 BSDL源文件:

 

BSDL是一种使用IEEE1149.1标准的语言,同时它也是VLSI语言的一个分支。

在开发boundaryscan测试时要先用BSDLcompiler来验证一下语法有无错误。

 

Boundaryscan测试技术

 

 In-circuitboundaryscan测试

 

SPDIF界面:

 

 ResetTap:

 生成十个向量来保持TMS为高电平并持续五个时钟周期。

这样就把TAP控制器放在TEST-LOGIC-RESET状态并与其它的状态隔离开来。

     

 BypassTest:

执行Bypass指令,能用于快速发现TAP控制器在运行时的问题。

     

 IDcodeTest:

执行IDCODE指令,假如器件没有ID信息,则执行BYPASS指令。

     

 UserCodeTest:

执行UserCodeTest指令,假如器件没有UserCodeTest信息,则什么也不执行。

     

 Paralleltoggle:

产生锁住所有输入输出脚状态的向量,但是它受限于那些相互之间两两短路和连接到电源脚的PINS。

     

 RunningToggle:

类似于Paralleltoggle,但是它能对输入PIN实现持续的锁住,虽然测试速度会慢一店,但是这样会减小板子拓朴结构对测试的影响。

     

 TogglePins:

同RunningToggle,只是精确到PIN脚。

     

 EXTEST:

你可以定义输入,输出,双向脚的值,对于调试来说,是非常有用的。

     

 Simplesetup:

生成set-up-only测试,它会允许你指定你元件的逻辑家族,自动生成一个set-up-only测试。

     

 Setup&Disable:

同Simplesetup一样,另外它还会生成元件的DISABLE信息,很有用的。

    

 VerifyBSDL:

验证你的BSDL有无错误。

 

 HP interconnectPlus测试:

 

 

 IntegrityTest:

通过指令寄存器来测试从TDI到TDO路径的数据的完整性。

它用来在Capture-IR指令后,比较指令寄存器中的内容和从TDO中出来的内容。

由于在指令寄存器捕获的最小有效信号为0,1所以从TDO中出来的信号必定是1,0,如下图显示:

 

 

 假如有身份验证寄存器存在的话,IntegrityTest会执行IDCODE指令,假如没有身份验证寄存器存在的话,IntegrityTest会执行BYPASS指令,来验证BYPASS寄存器的好坏。

 Power-short测试:

用来检查UNNAILED的BoundaryscanNodes与其他类型的nailedNodes之间的短路。

它会参考board_xy文件的信息并自动生成测试。

 Connect测试:

用来查找元件的open的故障,一次只能找一个元件,当一个元件在测试的过程中,其它的元件会处于BYPASS的状态,如下图U3处于connect测试的状态中:

它只会测试那些在输

入和输出的引脚上有固定的探针的元件,并且它会自动生成分离的两段测试为那些双向引脚,那就是第一次把他们当成DRIVER然后再把他们当成RECEIVER。

  

    interConnect测试:

用来测试元件在boundaryscan 链上的连接。

 

 buswire 测试:

用来验证双向PIN的测试,会生成不同的向量,先把他们当DRIVERS来测再把他们当RECEIVERS来测。

buswire 测试会一次打开一个驱动去检查开路,随后它会测试所有的DRIVERS的运行情况。

它会自动生成测试只要在链上有BUSDRIVERS。

     

      Silicon-Nails 测试:

用于测试那些与Boundaryscan元件相连的传统数字器件。

Boundaryscan软件使用Boundaryscan寄存器去向那些非Boundaryscan元件传送和接受信号,这对那些不能下探针的元件是一种很好的测试方法。

     

       BoundaryscanDisabling:

防止其他的Boundaryscan元件在测试的时候有输出信号干扰,此功能选项可在IPG中打开。

当一个元件被Disable掉的时候,TAP控制器处于Run-Test/Idle的状态,为此,利用GPRELAY把TMS短接到地是一个好方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2