Catalyst上用的小巧精悍的获得fail test的脚本
#/bin/cshset 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)
肯定有好多童鞋不知道这段script用来做什么,其实我的初衷是从catalyst stdf文件中拿到O/S fail的pin,因为我的device有5,6百个pin,如果只fail几个,需要从txt datalog里面翻出来真的不容易,所以就写了这个script,自动抓出搜有fail的test项
也许你会说,为什么再跑程序的时候不直接抓fail的data? 因为最好还是拿全都data,以防万一将来需要check那些你现在不关注的测试项。
页:
[1]