APP下载

一种串并结合的多Site熔丝编程算法

2013-12-05张亚军陶雪峰

电子与封装 2013年3期
关键词:熔丝改进型代码

张亚军,陶雪峰

(中国电子科技集团公司第58研究所,江苏 无锡 214035)

1 引言

随着集成电路产业的迅速发展,为了获取更高的参数精度,熔丝修调越来越广泛地应用于集成电路测试工序,由最初的一颗管芯上只有一、两段熔丝,发展到现在一颗管芯上有近二十几段熔丝,将来还有着增加的趋势。对多数测试代工企业而言,目前主流的熔丝编程方案采用被熔丝段瞬间承载大功率以达到预期,一些经济实力雄厚的代工企业开始引进激光熔丝修调技术(主要配合设计公司进行芯片缩减尺寸,获取更多的利润)。

熔丝组成成分主要分为铝条和多晶硅两种,其组合方式有具有公共地、熔丝彼此首尾相连或两种方式都存在。

本文讨论的重点在于熔丝编程算法,阐述了传统型、改进型和串并结合的熔丝编程算法对于程序可读性、可维护性、测试时间等的影响。为方便叙述,设定熔丝组合方式为具有公共地,修调参数为参考电压(共有四段熔丝),采用4 Site并行测试,配套国产3196D专业模拟测试机,软件开发环境:Visual C++ 6.0。

2 案例分析

图1为4 Site并行测试熔丝段的硬件连接示意图。

图1中:Kx_Sx表示继电器控制位,TPx表示熔丝电源,Fusex表示熔丝段。

表1为参考电压需要修调的真值表。

表1 参考电压熔丝真值表(中心值1.05V)

2.1 传统型4 Site熔丝编程算法

采用经典的IF架构,以下为Site1熔丝编程代码:

接着编写Site2熔丝编程代码,代码长度和架构和Site1一致(重点进行继电器控制位的更新),同样的办法完成Site3和Site4熔丝编程代码。从这个程序来看,缺点非常明显:(1)整个熔丝编程的代码很长,可读性不强,给人的感觉非常拖沓;(2)如果测试过程中某个继电器控制位异常,需要更换,代码变更点非常多,很容易因为程序员的疏忽造成遗漏引发质量事故,对于熔丝只有两、三段的产品而言,此算法尚可忍受,大于等于4段之后,无论代码撰写和后期生产维护都比较吃力,鉴于此,一种改进的算法被提出。

2.2 改进型4 Site熔丝编程算法

依然采用经典的IF架构,依然以Site1作为编程示例:

然后进行Site2熔丝编程代码撰写,代码长度和架构和Site1熔丝编程一致(重点进行继电器控制位的更新),同理完成Site3和Site4熔丝编程代码撰写,从这个程序看,使用Fuse_x_Site_x状态标志位表示相关的继电器的开、关状态(0:表示常开,1:表示长闭),最后再将实际的继电器操作集中判断,从而避免在每个IF语句流程中重复进行相关继电器操作流程的撰写,从而大幅缩减代码长度,可读性增强,特别是某个继电器控制位发生异常,需要更新控制位,程序仅有一个修改点,闭环了因程序员的疏忽可能造成的质量异常。

改进型熔丝编程算法相比传统的熔丝编程算法更加精简,可维护性大大增强,但在熔丝编程时间消耗上却是一致的,因为它们的熔丝编程过程都是是串行实现的。一般而言,一段熔丝编程需要花费的时间在10 ms左右,那么本案例最大可能熔丝花费的时间为10×4段×4 Site=160 ms,随着Site数目的增加,熔丝编程时间相比单Site熔丝编程时间是成倍的增加。这给竞争日益激烈的测试工序带来了不小的成本负担,那如何缩减熔丝编程时间,串行熔丝编程算法需要新的算法支持,串、并结合是一种很好的尝试。

2.3 串、并结合的4 Site熔丝编程算法

借用改进型4 Site熔丝编程算法,可以很方便地得到Site1四段熔丝标志位:Fuse1_Site1、Fuse2_Site1、Fuse3_Site1和Fuse4_Site1所处的状态,同样的方法得到另外三个Site对应熔丝标志位:Fuse1_Site2~Fuse4_Site2、Fuse1_Site3~Fuse4_Site3、Fuse1_Site4~Fuse4_Site4所处状态。完成上述工作后,建立一张说明表格(如表2)。

表2中设置4个Site的第一段熔丝分别使用Fuse1_Site4、Fuse1_Site3、Fuse1_Site2、Fuse1_Site1对应四个继电器控制位,变量初始值为0,经过加权算法处理后得到相应的加权和,根据表2,设置一个如下的二维数组:

其中:Fuse1_Site1对应K1_S1, Fuse1_Site2对应K1_S2, Fuse1_Site3对应K1_S3, Fuse1_Site4对应K1_S4。需要提醒的是,JC3196D的继电器控制指令格式为:SET_RELAY(“x,y,…”)(x和y为整型数),所以程序中还要做实际继电器控制位的替换工作,采用如下的方案:

表2 4 Site同一位置熔丝段(Fuse1)状态位加权计算表

再根据实际得到加权值采用查表技术和这个二维数组进行一一对应,程序中直接调用SET_RELAY(str[i]),从而实现了4个Site的第一段熔丝的并行熔丝编程。

同样的处理过程使用于在4个Site的第二、第三、第四段熔丝的处理过程。

至此,本算法实现了一种串、并结合的熔丝编程算法,代码量和可维护性与改进型的算法旗鼓相当,但是在程序的执行时间却有了很大的提升。根据上文所述:一段熔丝编程需要花费的时间在10 ms,本算法所花费的时间最大值为10×4=40 ms,而且随着测试Site数目的增加,这个值将是一个常量,4 Site所有熔丝编程所耗费的时间几乎等同于单Site熔丝串行编程的时间。

对于改进型和串并结合的4 Site熔丝编程算法,可以将一些固定格式的代码整合成子程序,进一步精简程序,更加便于后期的生产维护,这也是一名合格的程序编制人员应该考虑的。同时,在测试代工业竞争日益激烈的当下,测试时间的缩减显得更为重要,从某种意义上说,实现同一测试结果,1000行的代码相比100行的代码可以缩减100 ms的时间的话,那绝大多数企业会选择前者。所以高效的执行配合简洁的代码是每个程序编制人员的追求。

3 总结

熔丝修调在集成电路测试工序日益普遍,需要修调的参数也由最初的电压基准演变为电流基准、频率基准、抖动等,修调项目的增多,需要编程的熔丝也随之增多,熔丝编程耗费的时间在整个芯片测试时间中占比逐步增长,特别是多Site测试方案,采用传统的串行熔丝编程算法,Site数目越多,熔丝编程时间是成比例的增长。为了应对日益激烈的企业竞争,降本增效,本文提出了一种串、并结合的熔丝编程算法,改变了Site数目增加熔丝编程时间就会增加的传统理念,将多Site熔丝编程时间控制在和单Site熔丝串行编程时间耗费保持一致。

不过采用这种算法,被测试产品在DUT上的硬件成本会稍有增加,但相对于可持续获取的利润可以忽略。同时程序开发人员需要对Visual C++ 6.0的字符串处理函数有一定的了解,才能进行熟练的数据处理。

计算方法是一门很实用的科学,希望本文的算法起到抛砖引玉的作用,达到完善、提高、再完善、再提高的目的。

整体而言,采用串、并结合的熔丝编程算法,可以大幅缩减熔丝编程的时间,非常值得推广。

[1] 李建良,蒋勇. 计算方法及计算实习[M]. 南京:南京理工大学出版社,1998.

展开全文▼
展开全文▼

猜你喜欢

熔丝改进型代码
熔丝制造的三维连续编织填充图案
Cr5改进型支承辊探伤无底波原因分析
改进型CKF算法及其在GNSS/INS中的应用
创世代码
创世代码
创世代码
创世代码
高效率并行熔丝方案的设计
改进型逆变器无效开关死区消除方法
改进型抽头电感准Z源逆变器