【Tiny Tips】J750 HPT:勤查bug少做功

 

需要确保coding时的软件版本跟量产用的软件版本一致。...



这可能是史上最泛泛的tiny tips了吧

本来想停更一期的。但是黔驴尚未技穷,我是不怕把仅有的tips怼干净的,谁让我脸皮厚呢。

话说J750系列tester,软件上有个限制,site数最高只能达到32个site。但是为了降低测试成本,有没有办法继续提高测试的并行度呢?

答案是有的。

当我们安装好IG-XL,在安装目录“bin”文件夹下,会看到一个叫做“HPT.xla”,这个“HPT.xla”可以被测试程序作为“Reference”添加,这样测试程序里,就可以调用“HPT.xla”这个add-in里面定义的对象、方法和属性了。

这个HPT,貌似是“High Parallel Test”-高并行度测试的意思。这里可以调用标准的template,如PPMU template,DPS template,functional template等等。所以coding的界面跟调用普通的template是一样的。但是背后的代码,对于site的处理、数据和site的对应的关系是用基础函数单独写出来的。这样可以绕过IG-XL默认的site的处理,实现大于32 site的并行测试。

最近我有幸接触了一下这个HPT的测试,做这一行做了10来年了,还是头一次接触这么hard core的东西。当我需要把程序从低版本(3.40.09)转向高版本(3.50.40)时,我以为升级代码是最难的,因为程序规模太大了。结果没想到,困难的事反而是“HPT.xla”自带的bug。升级代码好歹有迹可循,按部就班地花时间做即可。而软件bug,除了当场死给你看之外,连个报错信息都没有。

我当时的做法是,把3.40.09的版本中的HPT引用到3.50.40的程序里来,这样当初对于3.40.09的HPT做的定制化修改,就不用动了。只要解决程序兼容性的问题即可。当时主要遇到了4个问题。

第一个问题是,offline运行时, 报错,缺少“OnPreSiteShutdown” 和 “OnPostSiteShutdown”,这样“set-error-bins”指令无法正常执行。添加了两个空函数“OnPreSiteShutdown”和“OnPostSiteShutdown”之后,即可解决。

第二个问题是,offline运行时,在执行完测试之后,打印datalog之前,在获取测试结果的时候,程序直接退出,报告一个“Exception Error”--意外的错误。后来经过检查,发现是3.40.09的HPT在3.50.40的软件环境下,最大的site数没有变成实际的site数,仍然是32 site。解决这个问题的方法,是通过VBA,在程序initial的时候,把最大的site数Extend到实际的site数上。这样就可以完整运行了。

第三个问题是,online测试时,用functional的方式测Open Short。当芯片Open时,第一遍测量结果是Open,没问题。第二遍测量结果就变成pass了。用了各种debug技巧:把空白的“DC Spec”,“DC Selector”填好,给digital pin设初始状态,改变测试项前后relay的切换方式,测试前后增加waittime,代码单步执行,连PPMU测,且通过digital Waveform看PE上的电压等等。无论怎么测,PPMU的测试结果都是稳定的Open,而PE上看到的电压,始终在Short的范围内。

此时此刻,束手无策。

在大眼瞪小眼瞪了tester半个小时之后,打算从头开始,重新做人:对比HPT template的程序,和普通template的程序。比不出来,又去比较不同版本的HPT和template。不比不知道,一比吓一跳。原来3.50.40的HPT,修复了很多以前的bug。其中有一个bug正是针对这个functionnal测试的。

把3.40.09上跑customize的HPT升级为3.50.40之后,这个functional test的bug解决了。

然而解决了它,又遇到了第四个问题。HPT的APMU template缺少参数。撸了一遍help,这个参数明明就是optional的,为何validate时还是说这个参数不可缺少呢?

这回,吃一堑长一智,先查是否有相关的bug。结果发现这个bug在3.50.40的patch11以后得到了解决。安装了Patch11之后,发现3.50.40和3.50.40P11的HPT相差还是很大的,修复了很多bug。而升级到3.50.40P11之后,前面提到的第一个问题和第二个问题也不存在了。早知如此,何必当初花那么多时间解决前两个问题呀


说了这么多,既不是要推荐你赶紧用HPT进一步提高测试并行度,也不是告诉你HPT问题多,千万不能用。

测试开发是否要升级,始终应该是以量产成本为导向的。至于说稳定性、兼容性,是测试工程师应该解决的问题。HPT,作为一个欺骗tester,提高tester并行度的插件,不可避免地在欺骗tester时带来一些bug。因此软件的升级、补丁对于HPT的影响很大。因此需要确保coding时的软件版本跟量产用的软件版本一致。

Jian的ATE测试经验分享

5点钟爬起来写帖子。

深深地感到时间不够用啊。


    关注 Jian的ATE测试经验分享


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册