边界扫描调试的技巧分享

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

边界扫描调试的技巧分享

咨询过的用户大概都会提出以下三个问题:
1. 什么情况又会造成边界扫描测试不稳定?
2. 怎样调试边界扫描?
3. 安捷伦的调试工具怎样用呢?


那么,今天的课题就来为各位解答这三个问题。



根据本人的经验来看,其实大部分的边界扫描是不用调试的。



换句话说就是要减少边界扫描的调试机会。那怎样建设呢?
1. 得到正确的BSDL文件。
2. 严格并正确的按照流程发展测试程序。
3. 选择一家较好的夹具供应商。


通常情况下,测试工程师没有BSDL文件。他们在发展程序的时候向R&D或客户索要BSDL文件。这个非常关键!拿到了正确的BSDL文件,可以说是成功的一大半。
拿到了BSDL文件后,怎样判断是否是正确的呢?
1. 在BT-Basic窗口下来Compile。注意:该方法只能检查BSDL文件是否有语法错误,不能判断BSDL文件的正确性!
2. 购买第三方的工具来验证。如:Asset公司的ScanWorks、Corelis公司的ScanExpress等产品。
小提示:收集是一个非常好的习惯。将之前验证过的BSDL文件全部收集起来以备下次使用。

特别奉献给Agilent3070用户们:请按照正确的方式设定Board Consultant。(以具有Advance Boundary Scan License为例)

1. IPG Global Options Form的设定。
1)Boundary-Scan Disables选项请设为On。尽量不要设为Off。因为如果你设为Off,你将不会产生Boundary Scan Chain的Disable文件。如u1_u4_dis文件将不会产生。
2)Ground Bounce Suppression选项设为On。当然,你也可以设为Off,这是你的自由,但你就不当心会有Ground Bounce的问题吗?
3)Powered Shorts Shorting Radius中填入50即可。本人认为,现在各家知名EMS制造厂的工艺都非常好了,一般不会有什么锡渣残留在板子上面。因此,Powered Shorts的测试只需要考虑半径50mil内地短路就可以了。当然,如果你不是很放心你们生产线的工艺,你可以考虑将半径设为100mil,甚至是200mil。

2. 边界扫描元件的设定。
1)打开边界扫描元件的窗口Device Entry Form。以U1为例。
2) 选择Options下拉菜单中的Show Scan Library Test Options。
3)点击1149_1左边的小按钮。这表示U1需要做边界扫描测试。
4)在BSDL Part Number栏中填写U1的BSDL文件的名字。
5)在Device Package Type栏中填写U1的正确封装类型。该栏需要填写的内容必须和BSDL文件总定义的IC封装类型一致。
6)在Connect Test选项中选择Yes。这表示U1有测试Access的点会通过边界扫描来测试。大部分的用户都认为边界扫描测试Pass了要比VTEP测试Pass的可信度要高。
7)在Connect Max栏中填入25。本人个人的推荐而已,供大家参考。本人认为每次测试点管脚数量越少,测试

将会变得更稳定。
8)在Interconnect Test选项中选择Full。
9)TAP Signal Overrides的选项如果需要用到,建议在Board文件的最后手工增加,不用刻意在每个IC的这栏中填写。
10)如果TAP管脚真的需要Override,则打开Board文件,并在文件的末尾(实际上是在END前)插入如下的一段话:
BOUNDARY SCAN CHAINS:
u1_u4
TDI TDI
TDI TDO
TCK TCK
TMS TMS
DEVICES
u1,u2,u3,u4;
又如:
BOUNDARY SCAN CHAINS
U27_U1
TDI JTAG_TDI
TDO JTAG_HDR_TDO
TCK JTAG_HDR_TCK
TMS JTAG_HDR_TMS
TRST JTAG_TRST_L
DEVICES
U27, U41, U30, U8, U3
U2, U1;
当然这需要你根据实际情况来填写待测板的Node Name和边界扫描链上的IC。

3. 这里特别提到一个大部分用户都会忽略的问题——GND点的选择。
在Board Consultant的主菜单中选择Verify下拉菜单中的Verify Ground Node Probing Access选项。这时,会弹出一个Verification Results的窗口。该窗口会告诉你这块线路板需要多少个GND点,现在选择了多少个GND点。当然,GND点的多少同PCB板的设计有关。假设R&D只设计了8个GND点,我们也不可能再更多的选择GND点了。
正确的GND点的公式为:
N = 线路板的总点数 / 32

4. 选择Critical Node可以让IPG最早分配资源,从而得到最短的绕线。

以上是本人在使用3070时候的一些经验,接下来本人再来谈谈夹具(Fixture)的因素。

所有的用户都知道一套好的夹具对ICT测试意味着什么。但是,怎样才是一套好的夹具呢?今天,我们只讨论有关边界扫描部分的夹具制做。

一套好的夹具对于边界扫描测试来说需要具备以下两点:
1. 好的绕线。
2. 正确的Ground Plate。

好的绕线目的:减少信号的衰减和Cross Talk。
1. 绕最短的线。Fixture文件夹下Wires文件定义了每条绕线的长度。在实际绕线的过程中,最好不要超过定义长度的0.5英寸。建议最先绕Critical点的绕线。
2. 垂直方式的绕线,千万不要将绕线束在一起的放置于夹具内。
3. 可以使用双绞线(或同轴线)来减少Cross Talk的产生。
4. 将Ground点尽量短距离的绕到Ground Plate上。

那么是不是所有的Ground都要绕到Ground Plate上呢?答案当然是:不是的。那到底哪些Ground需要绕到Ground Plate上,哪些又不绕呢?
1. Signal Ground和Digital Ground需要绕到Ground Plate上。
2. Sense Ground和Power supplies Ground可以绕也可以不饶到Ground Plate上。
3. System Ground千万不能绕到Ground Plate上!

怎样,还好吧,看了这么多还没有睡着吧!

接下来,本人将分享一些边界扫描调试的经验

给大家。

首先,必须先要明白调试边界扫描的顺序。
1. Disable测试。如“u1_u4_dis”。注意上面提到的:要产生Disable测试,Board Consultant -> IPG Global Options Form - > Boundary-Scan Disables必须选择为:On。
2. Connect测试。
3. Interconnect测试。
4. Bus wires测试。
5. Silicon nails测试。
6. Powered shorts测试。
7. 1149.6的相关测试。
8. Cover Extend的相关测试。

如果Integrity Failures,怎么办?
很多情况下,边界扫描测试会一开始就Fail在Integrity的状态下,并告诉你在第39个(或其他比较早)的Vector就Fail了。这是为什么呢?主要有如下一些原因:
1. TAP管脚接触不好。(小技巧:可以用VTEP来判断TAP管脚是否接触良好。)
2. 边界扫描链存在问题。
3. Fail的这个元件的BSDL文件有问题。
4. 上游器件或总线(Bus)没有Disable干净。
5. 有些特别的边界扫描元件需要一些特别的方式才能进入边界扫描模式。如:一些边界扫描元件会放置一个TEST_EN或SCAN_EN的控制管脚,需要将该控制管脚固定在某个状态下才可以进入边界扫描模式。

针对Connect测试,3070用户可以使用“test input only”这条指令。注意:Test Input Only指令只能用在Connect Test中,并且会造成Bi-directional管脚覆盖率的减少。

在调试过程中,可以先Bypass掉大部分的元件,而首先只调试一组两个元件间的点。然后逐步将将Bypass掉的元件打开来调试,直到所有的元件都全部打开。



注意:如图1,该处所谓的Bypass是指,目前只测试u1到u2之间的点。这时u1会载入EXTEST的指令,而u2、u3和u4则载入BYPASS指令。

hold high/low的使用。
调试过程中,可以指定一个点只是固定测试高(或低)状态。在下面的案例中“U1_2”只测试高状态、“U1_3”只测试低状态。
nodes
silicon node "U1_2" hold high "u1.2","u2.23"
silicon node "U1_3" hold low "u1.3","u2.22"
... ...
end nodes

怎样在ITL文件中增加Disable的点呢?


如上图,在ITL文件中有一段“disable vector”。用户只需要将Disable的点按格式插入到“pcf order”之前即可。需要注意的是,必须指定该点的Family和Disable状态。当然,ITL文件需要re-save和compile之后才有效。

当然,用户也可以在ITL文件中像调试普通数字元件一样调试边界扫描元件。如在ITL文件的适当位置插入如下语句:
!IPG: User may add VCL pass-through statements here if needed.

set ref on nodes "TDO" to rh 1.500, rl 0.8
set slew rate on nodes "TCK" to 250
set slew rate on nodes "TDI" to 250
set slew rate on nodes "TMS" to 250

nodes
...
end nodes

最后谈谈其他一些造成边界扫描测试不稳定的因素:
1. 电压不稳定。现在越来越多的Power Regulator应用到线路板上来转换小电压。而通常这些小电

压就是边界扫描元件的工作电压。因此,在调试边界扫描前必须保证线路板上的全部电压有出来并非常稳定。
2. 线路板上的频率造成边界扫描测试不稳定。
3. 夹具上的“噪音”导致边界扫描测试不稳定。




相关文档
最新文档