Excel VB在分析计算晶圆测试时间方面的应用
2014-03-31李华
李华
摘 要:晶圆的测试时间对于生产企业的测试机使用效率及成本控制方面有着非常重要的影响。通过对测试时间的估计和实际测试时间的分析以及测试机的折旧率等等可以推断出一个产品的实际成本,继而对开发新的产品、购置更多机器或者资源配置方面都多有裨益。一个新的产品在设计阶段通常有一个理论的时间,这个时间在大批量的生产过程中经常是不准确的。这是因为实际的生产过程中引入了不同的机器、不同的人、不同的时间、日常维护及检修机器、同一个机台更换不同产品时需要转换部件等等因素,都导致了实际上的测试时间比理论值要长。这样,如果我们一直使用理论时间进行成本核算,必然会引起企业利润计算的不准确性。于是,一般情况下,在一个新产品开始大批量生产时,会预估一个测试时间,这个时间虽然已经考虑了方方面面的因素,但仍然需要在实际中进行检验。本文就是通过对实际测试的产品每一个晶圆测试时间的分析计算,与预估的值进行对比报告,缩小差异,从而更准确的呈现出实际的成本的一个过程。使用的是Excel VB的工具。
关键字:Excel VB; 测试时间;晶圆;生产
1 测试时间分析计算的方法设想及程序主体结构图
产品数量众多,每个产品生产的过程又分为多个步骤。考虑到Excel计算量巨大可能引起的内存占用时间过长的因素,将每个产品每个步骤的测试时间从数据库中导出来之后,按照工作周分为几个文档分别计算,这样做的另一个好处是还可以看到每一周的每个产品的平均测试时间,当在一个较长的时间段中比细致的数据更具有参考意义。
数据库中的数据是每一个晶圆每一次测试的结果,其中包括第一次测试、自动的复测、是什么步骤、哪一个机台、测试的起止时间、良品、测试的总数等等信息,本程序所做的是从这些数据中解析出一个晶圆一次完整测试所需要的总时间,其中需要滤除掉非正常测试、校准测试及不完整测试的数据。下面是本程序的主体结构图。
2 主程序内容分块描述
第一部分,从标准时间总表中解析出需要计算的产品分步骤的标准参考时间。先从所需计算的产品配置文件名单中取出一个产品名称,在步骤配置文件中检索出它需要的步骤名称。用循环语句在标准时间总表中找到该产品并将其各步骤时间写入预定位置。标准时间总表每个产品的步骤都是顺序排列,即不管任何的产品在表中的名称都是1、2、3的顺序向下排列,于是我们需要把每个产品按照其实际的步骤名称把时间对应出来,才能在实际的测试结果中找到相对应的时间。在指定位置将标准时间和其正确的步骤写入对应的产品名称中。
第二部分,原始数据预处理。将不需要的列删除以避免混淆。将每一行数据中的时间转换为日期格式后,结束时间减去开始时间得到这一行数据的实际测试时间,并换算成分钟格式,去除小数点后位数。删除中间运算结果,只保留最终测试时间列。
第三部分,计算完整测试的每个晶圆的时间并写入测试时间表单中。首先第一步,从需要计算的产品名单配置文件中取出一个产品名称,并在步骤配置文件中找到相应的步骤名称,写入特定的字符串中。第二步,在原始数据表单中利用循环语句找到第一个这个产品的记录,将其行数写入一个字符串。继续循环语句向下比对,直到找到不同的产品记录跳出循环,并将这个产品的记录块拷贝到一个临时文件处理的表单中。第三步,在临时文件处理的表单中计算该产品的测试时间。利用循环语句逐条比对,忽略非生产批次的晶圆测试记录及不完整的测试记录。对于正常的完整测试,将根据其步骤名称将该记录分别计入该步骤的指定位置,如果有自动的复测,其时间要一并计入该晶圆的测试时间。内容包括批次名称、晶圆位置号、步骤名称和测试时间,并记录各个步骤当前填入的行数。继续循环语句直至所有记录行都按照其步骤名称写入了指定位置即可。第四步,将临时文件处理表单中各个步骤的记录按照顺序拷贝到测试时间表单中,并计算每个步骤的平均时间,将批次名称、晶圆位置号、步骤名称和计算出的平均测试时间一并写入总结表单。第五步,将测试时间表单中每个产品的每个步骤顺序编号,这样在将来作图的时候可以准确定位每一片晶圆的结果,尤其当数据很多显示不清楚的时候最为有用,同时还可以根据这个时间序列看到一个工作周内该产品的趋势。第六步,在测试时间表单中将每个产品每个步骤的标准时间写在实际测试时间的后面用作对比。第七步,在总结表单中根据一个产品实际上测试的步骤写入相应的步骤标准时间总和,与这个产品本周内总的测试时间对比。
第四部分,将测试时间表单和总结表单的内容拷贝到报告工作簿中。将主程序与报告分开是为了使报告更短小更明晰,易于读者更快的发现问题。
报告有三个图表。第一个图表是一周内通过平均测试时间和标准时间的相减差值图。这个图表是为了让读者有一个直观的印象哪些产品是差值最大的,比标准时间长的在零点上方,比标准时间短的在零点下方。这些差异最大的产品是需要重点关注并采取措施的。第二个图表是每个产品每周平均时间趋势图。标准时间会同时显示作为参考。这个图是为了展示一个产品在一段比较长的时间内测试时间的变化,测试时间是多种因素联合作用的结果,这样的历史数据有助于读者更好的总结规律以作为长期改进的依据。第三个图表是一周之内一个产品每个晶圆不同步骤的测试时间序列图,这个图表可以轻易的定位异常点,可以看出平均时间的拉大是否是某几个特殊异常的值导致的,这样可以重点关注一下这几个值的具体原因从而去解决相应的问题。
3 总结
这个程序主要实现了从纷繁的数据库文件中提取有效的完整测试的时间,经过一些运算加和处理,直观的显示出了一个产品在一定时期内的趋势变化并和标准的时间做出比对检测。通过最终的报告图表,读者能很容易的定位哪些产品是需要关注的,哪些是需要重点处理的,同时可以找到导致平均测试时间变长的元凶,如果确实存在异常,就可以去其他系统中查询当时的情况或询问相关人士,从而避免相类似的情况发生。如果,测试时间的变长是设计的更改,程序的变更等等必要的改变,我们就可以从这个平均时间中找到一个更合理的值来更改标准时间,使之更好的体现测试成本的变化。有利于企业更有效的进行成本核算,进而能够更好的控制成本。
参考文献
[1] 王运坚. 《VISUAL BASIC 6.0 应用指南》[M ]. 北京: 人民邮电出版社, 1998.
[2] 段兴 主编 《visual Basic数据库实用程序设计100例 》 人民邮电出版社
[3] 管丽娜 白海波《实用Visual Basic6 教程》[M] .北京:清华大学出版社,2001.
[4] 丁宝康,董健全. 数据库实验教程. 北京:清华大学出版社, 2003:125-170.
[5] 张宏林,孔艳,王哲.按实例学 Visual Basic 6.0〔M〕.北京:人民邮电出版社,2000.
[6] 陈艳峰,高文姬等.Visual basic 数据库项目案例导航[M].北京:清华大学出版社,2004.