多工位并行Trimming
目前半导体测试中,trimming fuse可以在wafer测试中进行,也可以在FT测试中进行。传统的trimming fuse主要是在wafer测试中进行。其中fuse主要分为以大电流烧断的金属熔丝(Metal Fuse)和多晶硅熔线(Poly Fuse),或是以激光烧断之金属熔线(Laser Fuse)。Fuse两端的trimming pad分为浮动和共地两种。本文主要介绍trimming pad共地,fuse为Metal fuse或者poly fuse的trimming方案——通过大功率源进行并行trimming。 1. STS8107平台
由于STS8107的CBIT是工位绑定的,也就是说128位的C-BIT控制位,如果做成4个工位并测,每个工位最多只能分配到32个C-BIT控制位。也就是说如果器件需要trimming的fuse
假设
128位C-BIT位定义如下:
Site1为CBIT[0]_0,CBIT[0]_1,…CBIT[0]_31 Site2为CBIT[1]_0,CBIT[1]_1,…CBIT[1]_31 Site3为CBIT[2]_0,CBIT[2]_1,…CBIT[2]_31 Site4为CBIT[3]_0,CBIT[3]_1,…CBIT[3]_31
由于STS8107的CBIT板子进行工位绑定,也就说程序中动作CBIT[0]_0的话,对于四工位的程序来说CBIT[1]_0,CBIT[2]_0,CBIT[3]_0就会并行动作。因此在硬件连接的时候为了并行trimming,就必须使用4×16=64个C-BIT位。如图中所示,site1使用CBIT[0]_0,CBIT[0]_1,CBIT[0]_2,CBIT[0]_3, site2使用CBIT[1]_4,CBIT[1]_5,CBIT[1]_6,CBIT[1]_7, site3使用CBIT[2]_8,CBIT[2]_9,CBIT[2]_10,CBIT[2]_11,site4使用CBIT[3]_12,CBIT[3]_13,CBIT[3]_14,CBIT[3]_15。使用这样子的连接方法当动作CBIT[0]_0的时候,虽然程序中CBIT[1]_0,CBIT[2]_0,CBIT[3]_0也会动作,但是因为硬件上并没有使用到这3个控制位,所以对trimming并没有影响。下面STS8107的程序流程图:
2. STS8200平台
STS8200的CBIT128板子不进行工位绑定,在硬件连接上不需要像STS8107那样繁琐。只需要4×4=16个C-BIT控制位。硬件连接图如下:
//定义BYTE BYTE BYTE BYTE … …
//根据test spec得到trimcode,trimming将会分别对F1—F4进行并行trimming
//其中trimcode为一个四位数,千位数代表是否trimming F4,百位数代表是否trimming F3,//十位数代表是否trimming F2,个位数代表是否trimming F1, trimcode主要由0和1组成,//例如1101表示需要trimming F4,F3,F1. //判断是否有工位需要trimming F4 if(CODE[0]/1000==1 || CODE[1]/1000==1 || CODE[2]/1000==1 || CODE[3]/1000==1) { //闭合需要trimming F4的对应工位的继电器
if(CODE[0]/1000==1) cbit.SetCBITOn(F4_1); if(CODE[1]/1000==1) cbit.SetCBITOn(F4_2); if(CODE[2]/1000==1) cbit.SetCBITOn(F4_3); if(CODE[3]/1000==1) cbit.SetCBITOn(F4_4); delay_ms(3); pvi0.Set(FV,6,PVI10A_10V,PVI10A_1A,RELAY_ON); delay_ms(trimtime); pvi0.Set(FV,0,PVI10A_10V,PVI10A_1A,RELAY_ON); delay_ms(waittime); //trimming结束后将继电器断开 cbit.SetOn(-1); }
//判断是否有工位需要trimming F3 (CODE[2]/100-CODE[2]/1000*10)==1 || { //闭合需要trimming F3 cbit.SetCBITOn(F3_1); ,PVI10A_1A,RELAY_ON); ,0,PVI10A_10V,PVI10A_1A,RELAY_ON); delay_ms(waittime); cbit.SetOn(-1); }
//判断是否有工位需要trimming F2 if((CODE[0]%100)/10==1 || (CODE[1]%100)/10==1 || (CODE[2]%100)/10==1 (CODE[3]%100)/10==1) { //闭合需要trimming F2的对应工位的继电器 if((CODE[0]%100)/10==1) cbit.SetCBITOn(F2_1);
|| ||
百度搜索“爱华网”,专业资料、生活学习,尽在爱华网!