基于数字IC测试机架构详细讲解测试理论.docx
《基于数字IC测试机架构详细讲解测试理论.docx》由会员分享,可在线阅读,更多相关《基于数字IC测试机架构详细讲解测试理论.docx(21页珍藏版)》请在冰豆网上搜索。
基于数字IC测试机架构详细讲解测试理论
目录
集成电路测试机发展史简介3
测试的专业术语简介5
芯片测试中的一些专业术语5
测试中硬件的一些专业术语5
测试系统中的一些专业术语6
测试参数中的一些专业术语7
测试设备的一般结构9
FUNCTIONAL测试原理11
功能测试简介11
TestVector12
InputSignalFormat13
InputSignalCreation14
OutputSignalTesting15
一些基本参数的测试原理16
Open/ShortTest16
IDDTEST19
VOL/IOLVOH/IOHTEST20
InputCurrent(IIL/IIH)21
附录22
TestDevelopmentSteps22
集成电路测试机发展史简介
当今的电子测试业界,分为两大部分,一是PCB组装测试,一是集成电路测试,如下图所示:
ICT(InCircuitTester)/AMD
PCB组装测试ATE(AutoTestEquipment)
电子测试测试FunctionTest
WATDigitaltest
IC测试
FunctionMixedtest
Analogtest
随着PCB组装大规模生产线的出现,使得传统的测试观念发生变化,希望PCB上的问题能在成品前的几道工序就能及时发现并修复,于是从80年代开始,出现了光板测试仪和在线测试仪(ICT&ATE),并导入生产制程,使PCB的成品率大大提升。
1958年德州仪器公司(TI)研制发明了世界第一块集成电路7400(与非门逻辑电路)以来,便诞生了世界上第一台集成电路测试机,专用于测试自己产品的INHOUSETESTER。
同样,世界上第一颗模拟(Analog)集成电路是Fairchild公司的运算放大器741,同时,便诞生了世界上第一台模拟集成电路测试机。
集成电路测试机已经走过了第一代、第二代,目前正处于第三代的早期,其中每一代测试机的特点及其代表厂家如表一所示:
表一:
项项目
硬件特点
软件特点
代表机型
第一代
ECL电路,体积庞大
Minicomputer,
文字界面
SENTRY7
SENTRY10
第二代
ASIC,体积较大
工作站,UNIX操作系统
SCHLUMBERGER
TRILLIUM等
第三代
ASIC,FPGA,标准化,模块化,体积很小
WINDOWS操作系统,易学易用,向智能化发展
TERADYNEJ750
等
1970年,Fairchild公司推出了世界上第一代成功的商业化的数字集成电路测试机Sentry7,它采用24位BUS,ECL电路,2MHz的minicomputer,体积庞大,主要性能为:
DATARATE为10MHz,最大测试通道为60PIN;直到1990年为止,先后推出S-10,S-20,S-21等型号,在1970年到1990年这二十年期间,Sentry机器凭借其优良的性能,在测试业界独岭风骚,无任何竞争手。
随着386CPU的出现,集成电路的集成度和工作频率大幅度提高,诞生了第二代集成电路测试机,主要特点为:
测试机硬件系统开始采用ASIC,软件系统则引入工作站,用UNIX操作系统。
其代表性的机器有法国的SCHLUMBERGER以及TRILLIUM。
Sentry公司卖给SCHLUMBERGER后,便推出第二代产品S15及S50,而Sentry公司的部分员工成立TRILLIUM公司,推出50MHz、256PIN的数字测试机,赢得较大的市场,SCHLUMBERGER推出S15、S50失败后,推出先进的ITS9000系统,此系统在软件和硬件上均代表当时的最高水平,软件采用高级的图形界面,测试程序采用模块化结构,硬件系统采用SEQUENCEPERPIN结构(每一PIN均有独立的PMU,TG,VIH,VIL,VOH,VOL及SEQUENCE),此时ITS9000机器独霸市场,TRILLIUM不得已卖给CREDENCE,CREDENCE推出SC212系统,它在软件方面引进ITS9000的优点,在硬件方面采用CMOS电路,向小型化发展,此系统推出后,打败了众多大系统机台。
随着个人计算机及WINDOWS操作系统的广泛普及,如今,出现了第三代数字集成电路测试机,并具备如下特点:
采用广泛普及的PC机及WINDOWS操作系统,易学易用,并向智能化发展,硬件系统向小型化、模块化、标准化发展。
其代表机器有TERADYNE的J750,用于工程验证的HILEVEL、IMS。
第三代测试机的出现,使得测试机的购买成本及维护成本大大降低,厂家只需购买自己需要的模块部分,而不必花过多的钱去买自己用不到的部分,并且,测试机也能随时扩充新的功能。
综上,集成电路测试机基本上沿着小型化、模块化、智能化方向发展。
测试的专业术语简介
芯片测试中的一些专业术语
WaferTest
是指在芯片还是Wafer状态下,将其进行好坏分离的测试,这是所有芯片测试中最先进行的。
也可称为WaferSort。
PackageTest
是指将Wafer上的芯片进行切割、封装,然后再进行测试。
其目的是为保证封装过程的正确,并再次验证芯片是否符合系统设计的要求。
也可称为FinalTest。
Pre/PostBurn-in(option)
是指将芯片放入烘箱进行烘烤,其目的是将芯片进行老化,然后再进行测试。
由此可保证芯片在一定的时间内性能的稳定。
QualityAssuranceTest
是指在FinalTest后选取一定数量的芯片进行QA测试,来验证FinalTest的正确性。
一般来说QATest的规格会比FinalTest松,但测试项目会多。
FinalVisionInspection
是指在产品送出去之前的外观目视检察。
它主要检察Marking是否清晰、引脚之间的间距和高低是否符合标准。
FailureAnalysis
是指对测试不通过的芯片进行错误分析,然后根据结果考虑是否改进制程或测试程序。
测试中硬件的一些专业术语
LoadBoard
是机台同DUTBoard或直接同芯片(无DUTBoard)连接的通道。
其主要用途是将测试机台的资源(电流、电压、频率等)传给DUTBoard或直接传给芯片。
DUTBoard
DUT是DeviceUnderTest的缩写,其主要是一个转接板,是将机台通过LoadBoard传过来得资源再转传给芯片。
Relay
是速度极快的继电器,主要实现让芯片在不同外围电路之间切换。
测试系统中的一些专业术语
PinElectronics
是在测试头中将输入信号传给DUT或从DUT中抓到输出信号的电路。
同时也可称为PECards或I/OCards。
Drivers
是在PECards中用于提供给DUT逻辑0、1电平的电路。
SignalFormat
是由PECards的驱动电路所提供的输入信号的波形。
Comparators
是在PECards中用于从DUT中抓到逻辑0、1电平的电路。
OutputSampling
是将输出的电压值与定义的逻辑电平的0、1值比较,判断是否通过。
OutputMask
是在功能测试过程中决定测试通道的输出比较是否打开。
DynamicLoading
是指在PECards的电路中可加载变化的正负电流,这些动态电流的加载可作为DUT输出引脚的IOL和IOH,并且些电流的大小可由过程控制。
VREF
是DynamicLoading的参考电压。
并控制电流IOL和IOH(详情请参见图X)。
PMU
是PrecisionMeasurementUnit/ParametricMeasurementUnit的缩写,它具有提供电压测电流和提供电流测电压的功能。
Clamp
是测试系统在硬件上对电流和电压值的限制,这对测试人员、测试机台和芯片起保护作用。
PositiveCurrent/Sink
是指从机台流入芯片的电流。
NegativeCurrent/Source
是指从芯片流入机台的电流。
DPS
是DevicePowerSupply的缩写,其主要作用给芯片提供大电流和高电压。
我们一般将其和芯片的VDD相连。
RVS
是ReferenceVoltageSupply的缩写,它主要向PECards的驱动和比较电路提供逻辑的0、1电平。
TestCycle
是指执行一行测试矢量所需的时间,也可称为Period。
TestVectors
是同功能测试相配合,定义芯片引脚不同时刻的状态。
它有输入、输出两种状态,我们根据测试矢量给某些引脚灌入输入信号,并在某些引脚比较输出波形,由此来判断功能测试的通过与否。
其也可称为TestPattern。
VectorMemory
用于存储测试矢量的高速存储器。
也可称为PatternMemory。
TesterChannel
是指在PECards中的向DUT引脚传递电压、电流和时序的电路。
也可称为TestPin。
TesterPerPin
是指每个测试通道都是一个小的测试系统,每个引脚都有一套独立的资源(时序、PMU等).。
测试参数中的一些专业术语
VCC
是指对于TTL芯片的驱动电压。
ICC
是指对于TTL芯片的驱动电流。
VDD
是指对于MOS芯片的驱动电压。
IDD
是指对于MOS芯片的驱动电流。
VIH
是VoltageInputHigh的缩写,它根据芯片的操作电压不同而有不同的最低电压的限制。
VIL
是VoltageInputLow的缩写,它根据芯片的操作电压不同而有不同的最高电压的限制。
IIH
是InputLeakageHigh的缩写,它定义为当输入引脚加逻辑高电平时,该输入引脚所允许的最大灌电流。
IIL
是InputLeakageLow的缩写,它定义为当输入引脚加逻辑低电平时,该输入引脚所允许的最大漏电流。
VOH
是VoltageOutputHigh的缩写,它根据芯片的操作电压不同而有不同的最低电压的限制。
VOL
是VoltageOutputLow的缩写,它根据芯片的操作电压不同而有不同的最高电压的限制。
IOH
是CurrentOutputHigh的缩写,它定义为当输出引脚输出逻辑高电平时,该输出引脚的驱动电流的大小。
IOL
是CurrentOutputLow的缩写,它定义为当输出引脚输出逻辑低电平时,该输出引脚的灌电流的大小。
IOZH
是OutputHighImpedanceLeakageCurrentHigh的缩写,它定义为当输出引脚为逻辑高电平并且处于高阻状态时,该输出引脚的所允许经过的最大电流。
IOZL
是OutputHighImpedanceLeakageCurrentLow的缩写,它定义为当输出引脚为逻辑低电平并且处于高阻状态时,该输出引脚的所允许经过的最大电流。
测试设备的一般结构
图
(1)
如图
(1)是数字测试系统的经典架构。
许多新的测试系统可能会包含有更多的硬件,但还是以上图为基本架构。
TestSystemControllerCPU是整个测试系统的核心,它控制测试系统的工作和数据的流向,通过系统的I/O口将数据传到外部的PC上,或从外部的PC上获取命令。
外部PC只是一个系统平台起存储与显示的作用。
所以会有些机台只有外部的Monitor而无外部PC。
在测试机台的DC部分由SystemPowerSupply、DUTandReferencePowerSupply和PMU等组成。
SystemPowerSupply是提供整个测试系统的电源,机台对于电压的稳定性要求极高,一般在测试机台中占有最大的体积。
DevicePowersupply主要提供芯片VDD/VCC。
ReferenceVoltageSupply提供给芯片参考电压(VIL/VIH,VOH/VOL)。
PMU是进行DC参数量测的单元。
在测试机台中还有PatternMemory是用于存储测试矢量的。
一般的测试矢量分为并行矢量和线性矢量。
并行矢量就是一根DevicePin对应矢量的一列的矢量结构;而线性矢量是为提高测试的覆盖度,在芯片的设计过程中加入某些CELL就可用串行矢量来测试某些用并行矢量无法测试的项目。
在测试机台的AC部分由TimesetMemory、FormattingMemory和MaskingMemory组成,其主要作用是将测试矢量中的输入部分根据测试程序的要求产生相应的输入波形,同时也根据测试程序的要求在相应的时间点去比较输出波形。
测试机台的另一重要部分是测试头,它是测试机台与芯片之间的通道,其主要由PECard组成(PECard的结构见图
(2))。
图
(2)
由上图可见PECard由输入、输出和动态负载三部分组成,其中输入部分是给芯片提供VIL/VIH的电平;输出部分是将芯片的输出电平与VOH/VOL进行比较;图
(2)的动态负载分为两部分,一种是通过加载IOL/IOH电流将输出电压与设定的VOH/VOL比较;另一种是将输出电流与设定的IHIGH/ILOW进行比较。
比较电流的功能一般只有在高档机台中才会有。
另外在测试头的附近有TestBox/BinBox,它包括Start和Reset等按键,并且能够显示芯片Pass/Fail的结果。
FUNCTIONAL测试原理
功能测试简介
功能性测试主要是验证逻辑功能。
在主程序的功能测试部分中包括测试矢量和相关的测试命令。
其中测试矢量在输入时向芯片提供逻辑状态,在输出时比较芯片的逻辑状态。
在程序中的测试命令是用来控制硬件产生相应的电压、波形和时序。
图(3)
在功能测试过程中,测试系统以周期为单位将输入数据提供给芯片并比较输出数据。
如果输出数据与默认的逻辑状态(测试矢量的值)、电压和波形不同,则我们认为该功能测试不通过。
TestVector
TestVector也可称为testpattern或truthtable。
测试矢量是芯片根据设计要求而所因具有输入输出值的集合。
一般用0/1来表示输入低/高电平,L/H/Z来表示输出低/高/高阻状态,X表示即无输入又无输出。
并且我们可根据不同的测试系统使用不同的字符来代表不同的含义。
测试矢量按在测试程序中出现的位置顺序存储在矢量存储单元中,测试矢量的一行表示一个测试周期。
矢量存储单元中的输入数据经过机台的转换变成相应的输入波形,经过PECards传给芯片。
芯片的输出波形通过PECards传给机台,再由机台转变成矢量,与原先存储在矢量存储单元中的输出数据进行比较。
测试矢量一般由设计者将仿真时的数据经过适当的转换得到,不同的机台对矢量的格式有不同的要求。
测试矢量的总长度不可超过测试机台矢量存储单元的深度。
以下是一段测试矢量(SC212):
INPUTI/OOUTPUT
1001001111100100101HHHHLLLLHLLL
1001001001100111011LLLLLLLLLHHH
1001000001010101001HLHLHLHHHLHL
1001001001011111000LLHHLLLHHHLH
1001001111101010101LLLLHLHLHLHL
100100HHHHLLHLHLHHHLHHLHHLHH
100100HHHLLLHLHLHHLHLHLHLHLH
100110ZZZZZZZZZZZLHLHLHLHLHLH
100110LLHLLHLHLHHHHLHLHHLHHL
.don’tcare
0drive0
1drive1
Hcompare1
Lcompare0
Xdon'tcare
Zcomparetri-state
InputSignalFormat
信号的波形是测试矢量的重要组成部分,它保证所有的AC参数按SPEC.的要求进行测试。
信号波形和矢量数据、上升/下降沿的位置、输入电压值组合成输入信号波形。
常见的信号波形如下图:
图(4)
NRZ
是NonReturnToZero的缩写,它不受Edgetiming的控制,NRZ波形只有在每个周期的开始才会变化。
DNRZ
是DelayedNonReturnToZero的缩写,DNRZ是NRZ延时一段时间的波形,它延迟的时间由Edgetiming的控制。
RZ
是ReturnToZero的缩写,当矢量数据是1时产生一个正脉冲,而矢量数据是0时不产生脉冲(波形一直为低)。
RZ的波形有一个上升沿和一个下降沿,它们的位置可由Edgetiming的控制。
RO
是ReturnToOne的缩写,当矢量数据是0时产生一个负脉冲,而矢量数据是1时不产生脉冲(波形一直为高)。
RO波形上升沿和下降沿的位置可由Edgetiming的控制。
SBC
是SurroundByCompliment的缩写,当矢量数据是0时产生一个负脉冲,当矢量数据是1时产生一个正脉冲。
我们可以认为该波形是由RO和RZ迭加形成的,它的上升沿和下降沿的位置可由Edgetiming的控制。
InputSignalCreation
输入信号波形需要将测试系统中许多部分的数据综合起来产生,其实在测试头上看到的波形是由矢量数据、EdgePlacementTiming、基本信号波形和VIL/VIH的值组合而成。
如下图所示:
图(5)
所有的输入引脚都要有相应的输入波形。
时钟信号的波形一般用RZ或RO来营造,像CS(ChipSelect)和READ这种高电平有效的信号用RZ来营造,而像CS/(ChipSelectBar)和OE/(OutputEnableBar)这种低电平有效的信号用RO来营造;数据信号一般数据不定而且有SetupTime和HoldTime的要求所以用SBC来营造。
其他信号一般用NRZ和DNRZ来营造。
OutputSignalTesting
输出比较实际是由Testvectordata(期望芯片输出的逻辑状态)、Outputstrobetiming(决定在测试周期中何时采样)、VOL/VOH(期望芯片输出的电压值)、IOL/IOH(期望芯片输出的电流值)四部分组成。
如下图所示:
图(6)
在输出比较时,测试机台根据Strobetiming在相应的时间读取输出引脚上的电压值。
如果期望输出低电平那么芯片的输出必须比设定的VOL低,如果期望输出高电平那么芯片的输出必须比设定的VOH高。
并且我们可利用OutputMasking来选择哪些需要进行输出比较哪些不需要,由此可形成灵活的输出比较。
一些基本参数的测试原理
Open/ShortTest
Open/Short的测试原理是测试对VDD或VSS的保护两极管。
一般我们有两种方法,一种是用PMU灌入电流测电压,另一种是用Function测试的方法用动态负载加载IOL/IOH电流比较电压。
前一种方法每测一根引脚需要10ms,后一种方法一共需要50ms左右。
由此可见在引脚数较多的情况下后一种方法有明显的优势。
图(7)
上图是用PMU测Open/Short。
它通过PMU提供100uA的电流来验证每个引脚对VDD的保护两极管的好坏。
如图(3)我们可把VOH/VOL设成1.5V/0.2V。
如果测出的电压大于VOH(1.5V),那么该引脚是Openfail。
如果测出的电压小于VOL(0.2V),那么该引脚是Shortfail。
图(8)
上图也是用PMU测Open/Short。
它通过PMU提供-100uA的电流来验证每个引脚对VSS的保护两极管的好坏。
如图(3)我们可把VOH/VOL设成-0.2V/-1.5V。
如果测出的电压大于VOH(-0.2V),那么该引脚是Shortfail。
如果测出的电压小于VOL(-1.5V),那么该引脚是Openfail。
图(9)
上图是用跑Pattern的方法测Open/Short。
首先将所有的PowerPin接地(VDD=0)设VREF=-2V(VREF是DynamicLoading的参考电压。
并控制电流IOL和IOH),加上动态负载IOL/IOH各100uA,再逐次将每根引脚的输出电压与VOH(-0.2V)/VOL(-1.0V)比较。
如果测出的电压大于VOH,那么该引脚是Shortfail。
如果测出的电压小于VOL,那么该引脚是Openfail。
测试所需用到的Pattern可参考如下格式:
GFFFFFFFF/*测试第一根引脚的保护两极管*/
FGFFFFFFF/*测试第二根引脚的保护两极管*/
FFGFFFFFF。
FFFGFFFFF。
FFFFFGFFF。
FFFFFFGFF。
FFFFFFFGF。
FFFFFFFFG/*测试第八根引脚的保护两极管*/
其中G的含义是无论INPUT、OUTPUT、I/OPIN均可DRIVE0;
F的含义是无论INPUT、OUTPUT、I/OPIN均可比较。
IDDTEST
IDD是测量芯片处在不同状态下流出VDD或流入VSS(当有几个DPS供电)的电流。
一般我们将IDD电流分成Static、Dynamic二种。
其中我们将IDDStaticCurrent定义为当芯片处于象Sleep模式或Stop模式下的IDD电流;IDDDynamicCurrent定义为当芯片处于象Standby模式或Operation模式下的IDD电流。
Static与Dynamic的区别在于芯片所处的状态中内部RC/Oscillator是否起振,如果起振那该状态下的IDD电流称为IDDDynamicCurrent,相反则称为IDDStaticCurrent。
图(10)
如上图通过PMU/DPS给VDD提供电源,给所有的Input引脚相应的VIH/VIL防止因为悬空而产生的漏电流,并且输出不接负载防止额外的电流消耗。
然后用相应的测试单元来测量电流。
VOL/IOLVOH/IOHTEST
VOL/IOL是测当输出引脚输出低电平时输出阻抗,VOH/IOH是测当输出引脚输出高电平时输出阻抗。
其主要目的是验证拉或灌相应的电流,它的输出电压VOH/VOL是否处于正确的电平。
测试方法可分成动态和静态两种。
静态方法是用PMU对输出引脚提供电压/电流,然后在逐一测电压/电流。
动态方法是在Function的测试过程中加载动态负载电流,然后再比较电压。
图(11)
如上图在跑Function时,在输出高电平时加载IOH电流,比较输出高电平是否正确。
在输出低电平时加载IOL电流,比较输出低电平是否正确。
InputCurrent(IIL/IIH)
IIL主要是测量输入引脚对VDD的漏电流,IIH是测量输入引脚对VSS的漏电流。
这项测试除了验证输入阻抗是否符合SPEC.的要求并