随着微型化程度不断提高,元件和布线技术也取得巨大发展,例如BGA外壳封装的高集成度的微型IC,以及导体之间的绝缘间距缩小到0.5mm,这些仅是其中的两个例子。电子元件的布线设计方式,对以后制作流程中的测试能否很好进行,影响越来越大。下面介绍几种重要规则及实用提示。
通过遵守一定的规程(DFT-Design for Testability,可测试的设计),可以大大减少生产测试的准备和实施费用。这些规程已经过多年发展,当然,若采用新的生产技术和元件技术,它们也要相应的扩展和适应。随着电子产品结构尺寸越来越小,目前出现了两个特别引人注目的问题:一是可接触的电路节点越来越少;二是像在线测试(In-Circuit-Test)这些方法的应用受到限制。为了解决这些问题,可以在电路布局上采取相应的措施,采用新的测试方法和采用创新性适配器解决方案。第二个问题的解决还涉及到使原来作为独立工序使用的测试系统承担附加任务。这些任务包括通过测试系统对存储器组件进行编程或者实行集成化的元器件自测试(Built-in Self Test,BIST,内建的自测试)。将这些步骤转移到测试系统中去,总起来看,还是创造了更多的附加价值。为了顺利地实施这些措施,在产品科研开发阶段,就必须有相应的考虑。
1、什么是可测试性
可测试性的意义可理解为:测试工程师可以用尽可能简单的方法来检测某种元件的特性,看它能否满足预期的功能。简单地讲就是:检测产品是否符合技术规范的方法简单化到什么程度?编制测试程序能快到什么程度?发现产品故障全面化到什么程度?接入测试点的方法简单化到什么程度?
为了达到良好的可测试必须考虑机械方面和电气方面的设计规程。当然,要达到最佳的可测试性,需要付出一定代价,但对整个工艺流程来说,它具有一系列的好处,因此是产品能否成功生产的重要前提。
2、为什么要发展测试友好技术
过去,若某一产品在上一测试点不能测试,那么这个问题就被简单地推移到直一个测试点上去。如果产品缺陷在生产测试中不能发现,则此缺陷的识别与诊断也会简单地被推移到功能和系统测试中去。
相反地,今天人们试图尽可能提前发现缺陷,它的好处不仅仅是成本低,更重要的是今天的产品非常复杂,某些制造缺陷在功能测试中可能根本检查不出来。例如某些要预先装软件或编程的元件,就存在这样的问题。(如快闪存储器或ISPs:In-System Programmable Devices系统内可编程器件)。这些元件的编程必须在研制开发阶段就计划好,而测试系统也必须掌握这种编程。
测试友好的电路设计要费一些钱,然而,测试困难的电路设计费的钱会更多。测试本身是有成本的,测试成本随着测试级数的增加而加大;从在线测试到功能测试以及系统测试,测试费用越来越大。如果跳过其中一项测试,所耗费用甚至会更大。一般的规则是每增加一级测试费用的增加系数是10倍。通过测试友好的电路设计,可以及早发现故障,从而使测试友好的电路设计所费的钱迅速地得到补偿。
3、文件资料怎样影响可测试性
只有充分利用元件开发中完整的数据资料,才有可能编制出能全面发现故障的测试程序。在许多情况下,开发部门和测试部门之间的密切合作是必要的。文件资料对测试工程师了解元件功能,制定测试战略,有无可争议的影响。
为了绕开缺乏文件和不甚了解元件功能所产生的问题,测试系统制造商可以依靠软件工具,这些工具按照随机原则自动产生测试模式,或者依靠非矢量相比,非矢量方法只能算作一种权宜的解决办法。
测试前的完整的文件资料包括零件表,电路设计图数据(主要是CAD数据)以及有关务元件功能的详细资料(如数据表)。只有掌握了所有信息,才可能编制测试矢量,定义元件失效样式或进行一定的预调整。
某些机械方面的数据也是重要的,例如那些为了检查组件的焊接是否良好及定位是否所需要的数据。最后,对于可编程的元件,如快闪存储器,PLD、FPGA等,如果不是在最后安装时才编程,是在测试系统上就应编好程序的话,也必须知道各自的编程数据。快闪元件的编程数据应完整无缺。如快闪芯片含16Mbit的数据,就应该可以用到16Mbit,这样可以防止误解和避免地址冲突。例如,如果用一个4Mbit存储器向一个元件仅仅提供300Kbit数据,就可能出现这种情况。当然数据应准备成流行的标准格式,如Intel公司的Hex或Motorola公司的S记录结构等。大多数测试系统,只要能够对快闪或ISP元件进行编程,是可以解读这些格式的。前面所提到的许多信息,其中许多也是元件制造所必须的。当然,在可制造性和可测试性之间应明确区别,因为这是完全不同的概念,从而构成不同的前提。
4、良好的可测试性的机械接触条件
如果不考虑机械方面的基本规则,即使在电气方面具有非常良好的可测试性的电路,也可能难以测试。许多因素会限制电气的可测试性。如果测试点不够或太小,探针床适配器就难以接触到电路的每个节点。如果测试点位置误差和尺寸误差太大,就会产生测试重复性不好的问题。在使用探针床配器时,应留意一系列有关套牢孔与测试点的大小和定位的建议。
5、最佳可测试性的电气前提条件
电气前提条件对良好的可测试性,和机械接触条件一样重要,两者缺一不可。一个门电路不能进行测试,原因可能是无法通过测试点接触到启动输入端,也可能是启动输入端处在封装壳内,外部无法接触,在原则上这两情况同样都是不好的,都使测试无法进行。在设计电路时应该注意,凡是要用在线测试法检测的元件,都应该具备某种机理,使各个元件能够在电气上绝缘起来。这种机理可以借助于禁止输入端来实现,它可以将元件的输出端控制在静态的高欧姆状态。
虽然几乎所有的测试系统都能够逆驱动(Backdriving)方式将某一节点的状态带到任意状态,但是所涉及的节点最好还是要备有禁止输入端,首先将此节点带到高欧姆状态,然后再“平缓地”加上相应的电平。
同样,节拍发生器总是通过启动引线,门电路或插接电桥从振荡器后面直接断开。启动输入端决不可直接与电路相连,而是通过100欧姆的电阻与电路连接。每个元件应有自己的启动,复位或控制引线脚。必须避免许多元件的启动输入端共用一个电阻与电路相连。这条规则对于ASIC元件也适用,这些元件也应有一个引线脚,通过它,可将输出端带到高欧姆状态。如果元件在接通工作电压时可实行复位,这对于由测试器来引发复位也是非常有帮助的。在这种情况下,元件在测试前就可以简单地置于规定的状态。
不用的元件引线脚同样也应该是可接触的,因为在这些地方未发现的短路也可能造成元件故障。此外,不用的门电路往往在以后会被利用于设计改进,它们可能会改接到电路中来。所以同样重要的是,它们从一开始就应经过测试,以保证其工件可靠。
6、改进可测试性
使用探针床适配器时,改进可测试性的建议
套牢孔呈对角线配置
定位精度为±0.05mm (±2mil)
直径精度为±0.076/-0mm (+3/-0mil)
相对于测试点的定位精度为±0.05mm (±2mil)
离开元件边缘距离至少为3mm
不可穿通接触
测试点尽可能为正方形
测试点直径至少为0.88mm (35mil)
测试点大小精度为±0.076mm (±3mil)
测试点之间间隔精度为±0.076mm (±3mil)
测试点间隔尽可能为2.5mm
镀锡,端面可直接焊接
距离元件边缘至少为3mm
所有测试点应可能处于插件板的背面
测试点应均匀布在插件板上
每个节点至少有一个测试点(100%通道)
备用或不用的门电路都有测试点
供电电源的多外测试点分布在不同位置元件标志
标志文字同一方向
型号、版本、系列号及条形码明确标识
元件名称要清晰可见,且尽可能直接标在元件近旁
7、关于快闪存储器和其它可编程元件
快闪存储器的编程时间有时会很长(对于大的存储器或存储器组可达1分钟)。因此,此时不容许有其它元件的逆驱动,否则快闪存储器可能会受到损害。为了避免这种情况,必须将所有与地址总线的控制线相连的元件置于高欧姆状态。同样,数据总线也必须能够被置于隔绝状态,以确保快闪存储器为空载,并可进行下步编程。
系统内可编程元件(ISP)有一些要求,如Altera,XilinX和Lattuce等公司的产品,还有其它一些特殊要求。除了可测试性的机械和电气前提条件应得到保证外,还要保证具有编程和确证数据的可能性。对于Altera和Xilinx元件,使用了连串矢量格式(Serial Vector Format SVF),这种格式近期几乎已发展成为工业标准。许多测试系统可以对这类元件编程,并将连串矢量格式(SVF)内的输入数据用于测试信号发生器。通过边界扫描键(Boundary-Scan-Kette JTAG)对这些元件编程,也将连串数据格式编程。在汇集编程数据时,重要的是应考虑到电路中全部的元件链,不应将数据仅仅还原给要编程的元件。
编程时,自动测试信号发生器考虑到整个的元件链,并将其它元件接入旁路模型中。相反,Lattice公司要求用JEDEC格式的数据,并通过通常的输入端和输出端并行编程。编程后,数据还要用于检查元件功能。开发部门提供的数据应尽可能地便于测试系统直接应用,或者通过简单转换便可应用。
8、对于边界扫描(JTAG)应注意什么
由基于复杂元件组成精细网格的组件,给测试工程师只提供很少的可接触的测试点。此时也仍然可能提高可测试性。对此可使用边界扫描和集成自测试技术来缩短测试完成时间和提高测试效果。
对于开发工程师和测试工程师来说,建立在边界扫描和集成自测试技术基础上的测试战略肯定会增加费用。开发工程师必然要在电路中使用的边界扫描元件(IEEE-1149.1-标准),并且要设法使相应的具体的测试引线脚可以接触(如测试数据输入-TDI,测试数据输出-TDO,测试钟频-TCK和测试模式选择-TMS以及ggf.测试复位)。测试工程师给元件制定一个边界扫描模型(BSDL-边界扫描描述语言)。此时他必须知道,有关元件支持何种边界扫描功能和指令。边界扫描测试可以诊断直至引线级的短路和断路。除此之外,如果开发工程师已作规定,可以通过边界扫描指令“RunBIST”来触发元件的自动测试。尤其是当电路中有许多ASICs和其它复杂元件时,对于这些元件并不存在惯常的测试模型,通过边界扫描元件,可以大大减少制定测试模型的费用。
时间和成本降低的程度对于每个元件都是不同的。对于一个有IC的电路,如果需要100%发现,大约需要40万个测试矢量,通过使用边界扫描,在同样的故障发现率下,测试矢量的数目可以减少到数百个。因此,在没有测试模型,或接触电路的节点受到限制的条件下,边界扫描方法具有特别的优越性。是否要采用边界扫描,是取决于开发利用和制造过程中增加的成本费用。衽边界扫描必须和要求发现故障的时间,测试时间,进入市场的时间,适配器成本进行权衡,并尽可能节约。在许多情况下,将传统的在线测试方法和边界扫描方法混合盐业的方案是最佳的解决方式