arthur 发表于 2012-11-3 18:55:57

Catalyst上用的小巧精悍的获得fail test的脚本

#/bin/csh

set stdf_file = $1
fulldlgfmt <$1 |sed -n -e "/Device/p" -e "/(F)/p" -e "/^ \{15\}/p" -e "/^Bin\:/p"

exit 0
大家先自己看看上面的代码,其实重要的只有一句,但是这一句代码却做了很多事情,从stdf文件里面转换出txt datalog,再用sed抽出来所有fail的行,包括Parametric Test fail和Functional test fail。

运行时需要把stdf文件的名字作为参数传入。

运行结果如下(depends on你的stdf文件内容):
Device: 1 Station: 1 Site: 0
   800 Dig Pin to Pin Sho Halt Vector: 0 Halt Cycle: 0 Failing Pins: 4 (F)
          CMRST_ : CMDAT5 : CMDAT9 : CMDAT3 :
   831 Digital -ve Short Halt Vector: 0 Halt Cycle: 0 Failing Pins: 4 (F)
          CMRST_ : CMDAT5 : CMDAT9 : CMDAT3 :
Bin: 5
Device: 2 Station: 1 Site: 0
   705 BSI1_CS1 continuity -0.005 v (F) < -0.250 v
   721 BSI1_CS0 continuity -0.004 v (F) < -0.250 v
          800 Dig Pin to Pin Sho Halt Vector: 0 Halt Cycle: 0 Failing Pins: 2 (F)
   BSI1_C : BSI1_C :
          831 Digital -ve Short Halt Vector: 0 Halt Cycle: 0 Failing Pins: 2 (F)
   BSI1_C : BSI1_C :
          1018 DVDD_BSI power_aapu -50.00 uA < 5092.91 uA (F) < 500.00 uA
Bin: 3
这里上传我的stdf文件,和运行结果文件(...failing_pin.txt)




arthur 发表于 2012-11-3 18:59:42

肯定有好多童鞋不知道这段script用来做什么,其实我的初衷是从catalyst stdf文件中拿到O/S fail的pin,因为我的device有5,6百个pin,如果只fail几个,需要从txt datalog里面翻出来真的不容易,所以就写了这个script,自动抓出搜有fail的test项

也许你会说,为什么再跑程序的时候不直接抓fail的data? 因为最好还是拿全都data,以防万一将来需要check那些你现在不关注的测试项。
页: [1]
查看完整版本: Catalyst上用的小巧精悍的获得fail test的脚本