Boundary Scan测试原理及实现
什么是边界扫描(boundary scan)?
什么是边界扫描(boundary scan)?
边界扫描(Boundary scan )是一项测试技术,是在传统的在线测试不在适应大规模,高集成电路测试的情况下而提出的,就是在IC设计的过程中在IC的内部逻辑和每个器件引脚间放置移位寄存器(shift register).每个移位寄存器叫做一个CELL。这些CELL准许你去控制和观察每个输入/输出引脚的状态。当这些CELL连在一起就形成了一个数据寄存器链(data register chain),我门叫它边界寄存器(boundaryregister)。除了上面的移位寄存器外,在IC上还集成测试访问端口控制器(TAP controller),指令寄存器(Instruction register)对边界扫描的指令进行解码以便执行各种测试功能。旁路寄存器(bypass register)提供一个最短的测试通路。另外可能还会有IDCODE register 和其它符合标准的用户特殊寄存器。
边界扫描器件典型特征及边界扫描测试信号的构成。
如果一个器件是边界扫描器件它一定有下面5个信号中的前四个:
1.TDI (测试数据输入)
2.TDO (侧试数据输出)
3.TMS (测试模式选择输入)
4.TCK (测试时钟输入)
5.TRST (测试复位输入,这个信号是可选的)
TMS,TCK,TRST构成了边界扫描测试端口控制器(TAP controller),它负责测试信号指令的输入,输出,指令解码等,TAP controller是一个16位的状态机,边界扫描测试的每个环节都由它来控制,所以要对TAP controller有一个比较清楚的了解。
在后续的文章中还会向大家介绍边界扫描的其它方面。
边界扫描为开发人员缩短开发周期,并且提供良好的覆盖率和诊断信息。在不了解
Boundary scan的目的:
Boundary scan是一种用于测试数字集成电路的技术,它能出,开路,短路,和功能不良的数字器件,另外它还能完成一些功能测试。相对于传统的数字器件的向量测试,它还有以下几个优点:具有较短的测试开发时间;
能用于探针接触有困难的那些器件的测试;
能减少维修时间和维修成本,故障诊断范围可以到PIN脚。
一般理论:
Boundary-Scan 测试的时候发送一组信号流到被测的数字器件的转换寄存器单元里面。而这个单元可以在每一个输入,输出,和双向引脚以及器件的逻辑中心那里到。那些信号在寄存器周围转换并且从器件输出,然后用输出的信号和输入的信号之间的差异来比较并判断出错。例如有两个引脚之间短路或者电源与地脚短路之类的,它都会报错。
几个boundary scan 器件可以被连接到一个链上,从而一些相同的基础测试可以同时执行。当然,boundary scan还有许多的附加的测试能力,但是这种使用转换寄存器来检查输出的信号流是整个boundary scan测试
理论的基础。
两种软件包:
在Agilent 3070上有两个不同类型的boundary scan测试软件:他们是:
in-circuit boundary scan和HP interconnectplus. 其中in-circuit boundary scan是Agilent 3070标准软件包中自带的,它可以生成标准的单独的数字器件的在线boundary scan测试。而HP interconnectplu 是一个可选软件,它可以生成链式的boundary scan测试程序,同时,它也能自动生成单独器件的boundary scan测试程序。
boundary scan器件的设计
boundary scan测试软件遵从IEEE 1149.1的标准,遵从此类标准的IC在每个引脚和逻辑中心之间都有一个独立单元。这些相互独立的单元们连接到一个转换寄存器也叫boundary scan寄存器中,他负责控制和观察每个输入,输出,和双向引脚的值。每一个boundary scan 的器件都有一个特殊的输入引脚(TDI),一个特殊的输出引脚(TDO),TDI作为boundary scan寄存器的输入端,而TDO则连接到boundary scan寄存器的输出端。在TCK(时钟控制)的基础上,由TAP(test access port)来控制整个工作流程,工作模式选择(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寄存器,IEEE 1149.1明确指出IDCODE只是一个选项。
Boundary-scan 单元的功能:
下图显示了一个典型数据寄存器单元它能灵活的扮演输入或输出单元。
灰的Internal logic 和Outout Pin阐明了输出的配置。而紫的Input pin和
在线代码运行器
Internal logic阐明了输入的配置,对于双向PIN来说,你可以只选用一个单独的单元就行了。转换,更新和测试模式用其它的颜来标明:
TAP控制器:
TAP控制器是一种16位态的设备,它控制boundary-scan测试的操作。由于TAP控制器管理着大多数的数据和指令寄存器,理解TAP 控制器在另一种意义上说等于理解了boundary-Scan, TAP控制器通过TCK,TMS,TRST*来实现控制。
控制线:
三个输入控制线:TCK,TMS,TRST*,TCK是一个方波时钟信号,Agilent3070用一个50%的DUTY CYCLE来实现它,TMS信号通过状态图控制着TAP控制器的动作,一般在TCK的上升沿触发TMS,有时也会在TCK的下降沿触发。而TRSTR*用于复位动作。例如下图所示,TRST信号一般是在接近序列的中间出现。测试-逻辑-复位:在测试-逻辑-复位状态时,测试逻辑被禁用从而使此器件可以正常工作,当器件第一次被打开的时候,只要
有ID寄存器存在,那个指令寄存器就会引入IDCODE指令,假如

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。