IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany
Transcription
IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany
Practical Aspects of Testing Based on Experiences with Verigy 93000 SOC Wolf, Christoph IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Outline • Introduction • Tester architecture concepts • Test pattern generation/conversion • Event-based test system • Memory test • Limitations of standard test systems IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Usage Scenarios • Standalone Manual test of packaged devices IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany • Docked to a handler Automatic test of packaged devices www.ihp-microelectronics.com © 2007 - All rights reserved Usage Scenarios • Docked to a wafer prober Automatic test of unpackaged devices directly on a wafer IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Typical Tester Architecture • Basic infrastructure Manipulator Test system power supply Clock- and control boards Cooling Air or liquid • (Test) Application specific equipment Device power supply General purpose, high voltage, high current, low noise, multi-channel Digital channels Analog & RF-resources Waveform generators, digitizers, TIAs Utility lines (external circuitry, relay control, etc.) IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Tester Architecture • • Central control Central resources (control, memory etc) → distributed to channels Advantage: Simpler system architecture, lower complexity „Tester-per-pin“-architecture Mostly used in modern high performance testers (Nearly) all resources available separately for each channel Advantage: Higher throughput possible (e.g. no memory bottleneck) Increased flexibility (multi-port and/or multi-site capabilities) IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Program Implementation Styles • Different implementation schemes varying among vendors and tester families Standard programming languages (C,…) Specialized script-like high level languages GUI-based approaches (“graphical programming” by joining basic building blocks) • Example Agilent/Verigy 93000 SOC Testvsystem based on extensive set of firmware commands Several editors (both pure text editors and custom windows) Majority of data stored as text files, partly embedded firmware commands Vectors stored in binary format Built-in test functions API for customer specific tasks in C++ IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Program Entities • Typical set of common basic entities Pin configuration: map logical pin/signal names to physical tester resources Level configuration: voltages to apply to the chip and compare against Timing configuration: define when signal events should occur Vector configuration: actual data to be applied to the chip Tests: continuity test, functional test, memory test, static/dynamic current, … Testflow: sequence of tests External interfaces: prober/handler control, data logging IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Pin Electronics – General Principle Clamps Vih Driver (Input) DUT 0 ZL=50O 50O Vcc1 1 2 Vil 3 a1 b1 a2 b2 a3 b3 a4 b4 5 6 7 Voh 4 Receiver (Output) 8 GND 0 PPMU Vol Iol Active Load 50O Vt Ioh IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Pin Electronics – Driver Mode Driver (Input) Clamps Vih DUT TristateCtrl 0 ZL=50O 50O Vcc1 1 a1 b1 a2 b2 a3 b3 a4 b4 5 Formatted Data 2 Vil 3 4 6 7 8 GND Voh 0 Receiver (Output) PPMU Vol Iol Active Load 50O Vt Ioh IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Pin Electronics – Receiver Mode Driver (Input) Clamps Vih DUT TristateCtrl 0 ZL=50O 50O Vcc1 1 a1 b1 a2 b2 a3 b3 a4 b4 5 Formatted Data 2 Vt Vil 3 4 6 7 8 GND Receiver (Output) Voh 0 > Voh PPMU < Vol Vol Iol Active Load 50O Vt Ioh IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Waveform Generation • ATE systems typically strictly cycle-based No instantaneous change of cycle period during pattern execution • Fixed format based approach Fixed set of available waveforms (D)NRZ (delayed non-return to zero) RZ, RO (return to zero/one) SBC (surrounded by complement) STB (edge strobe) WSTB (window strobe) 0 1 Timing setup defines edge positions Vector setup defines data (logical 0/1) Waveform type can be per pin or per cycle IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Waveform Generation • Flexible waveform setup (93k style) Wavetable defines (up to 256) different waveform shapes Combination of max 8 drive and 8 receive edges Pure shape definition, only edge actions (drive 0/1/Z, strobe L/H/X), no timing Equations define edge positions in time, no shape/action information Specset joins one wavetable and one equation set, optional spec vars Vectors do not contain logical values but indices into wavetable Test references a spec set (defines timing+wavetable) + vector set Flexible combinations of vector, timing and waveform shape sets possible Example: Basic functional test with NRZ waveforms Characterization tests (setup/hold time) with SBC waveforms IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Setup Example • Wavetable 0 d1:0 1 d1:1 2 d4:1 d6:0 3 d2:1 d3:0 d4:1 d5:0 4 d2:Z r1:H r2:L 5 d2:Z r1:L r2:L 0 45 Equations period=45 d1=0 d2=5 d3=10 d4=20 d5=25 d6=40 r1=30 r2=40 90 Vector 0 2 3 1 4 135 180 225 H 0 2 IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany 3 www.ihp-microelectronics.com 1 4 © 2007 - All rights reserved L X-Modes • Complex wavetables enable vector compression (or higher data rate) Several (device) cycles encoded into one tester cycle Limited by number of distinct edges and wavetable count Examples (Verigy 93000, 8 driving + 8 receiving edges, 256 waveforms) Data input NRZ (1 edge, 0/1) → 8 edges, 2^8 = 256 states ⇒ x8 Clock signal RZ (2 edges, 0/1) → 2x4 edges, 2^4 states Bidir pin NRZ/STB (0,1,L,H) ⇒ max x4 → 4 edges, 4^4=256 states ⇒ max x4 Bidir pin NRZ/STB (0,1,L,H,X) → 4 edges, 5^4 > 256 states ⇒ max x3 IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved High(er) Speed Testing Issues • Signal reflections in unmatched environments Driver can be used to supply 50Ω termination in receiver mode Third level termination or active load for bidirectional pins Device must be able to drive into 50Ω For CMOS devices usually not fulfilled → impedance matching resistors required on the load board Termination acts as voltage divider → only reduced levels seen by tester IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved High(er) Speed Testing Issues • Fixture delay calibration Considerable signal propagation times from tester electronics to DUT Tester calibrated up to fixed interface, additional delays on DUT board TDR measurement to determine additional propagation time Input signals are applied earlier, output signals are evaluated later Tester-Side -td 0 DUT-Side +td -td 0 +td t Input Output Works fine for unidirectional pins, problems with bi-directional pins Solution: separate tester channels for input and output path IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion • • Several test program elements can be generated by hand Test vectors usually require automatic handling • Example Verigy 93000 Direct creation of binary vector files by appropriate tools Import of already cyclized text format data via „ascii interface“ Device cycle file: list of state characters and corresponding waveforms Pins clock DVC df 0 0:0ns 1 1:0ns P 1:10ns 0:20ns ASCII vector file: one vector per row, one state character per pin Each line holds data of one tester cycle IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion • Two major sources of test patterns Structural test patterns generated by ATPG tools Design data required, tests for specific faults Mostly used in combination with scan chains to reduce complexity Usually used for production test to verify defect-free fabrication Higher effort to catch timing-related issues Usually generated already in cycle based format (WGL, STIL) Functional test patterns Blackbox testing Knowledge about internal structure not necessarily required Often used for design verification Mostly generated by simulation IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion • Functional tests at IHP No product development and no mass production High rate of new designs in prototype state Transition to structural tests but functional test still dominant • Functional test patterns obtained by logging simulation runs Problem: simulation is event-based, usually (e)vcd file format for export Events can occur at arbitrary positions (E)VCD: (extended) value change dump format • (E)VCD state characters VCD: 0/1/X/Z Additional direction control signals for bi-directional pins required EVCD: D/U/N/Z/d/u; L/H/X/T/l/h; extra state characters for collisions Signal direction encoded into state characters, no need for separate direction control signals Strength encoding: 0-6, separately for low and high value IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion • (E)VCD file format header (version info, timescale) signal declaration list (including hierarchy) initialization dump time stamp event list time stamp event list ... IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion – EVCD example $var port $var port $var port $var port #0 pD 6 0 <1 pD 6 0 <2 pD 6 0 <4 pX 0 0 <3 #45 pU 0 6 <2 pZ 0 0 <4 #50 pU 0 6 <1 #71 pH 0 6 <3 #100 pD 6 0 <1 #150 pU 0 6 <1 #154 pL 6 0 <4 #200 pD 6 0 <1 #3450 pU 0 6 <1 #3454 pH 0 6 <4 1 1 1 1 <1 <2 <3 <4 Clk $end In $end Out $end Inout $end 0 50 100 150 200 250 ... 3450 Clk In Out XXXXXXXX i Inout o IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion • Required processing: cyclization Event file partitioned into cycles of equal length Optional signal conditioning (scaling, shifting events, ...) Potentially long periods of inactivity → event based format does not contain data; cycle based format requires data for each cycle Two methods for waveform mapping: Signal sampling at specified positions, acquired value is taken as argument for the parameterized tester waveform Advantage: relatively simple process Disadvantages: Only one value acquired Multiple signal changes in a single cycle ignored/not detected Careful selection of sample point required if signal changes occur at different positions with respect to the cycle IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Test Pattern Generation/Conversion Matching with predefined match waveforms, selection of corresponding target waveform Disadvantage: computing intensive Advantages: More complex waveforms can be reproduced Implicit cross check of simulation against a set of predefined waveforms General problem: Arbitrary event based waveform must be reduced to cycle based representation with strictly limited number of signal changes (i.e. timing edges) IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Event-Based Test System • Advantest CertiMAX Inherently event based: test data stored as events (Action, time offset from previous event) System can directly read evcd files, no cyclization Each channel can run completely independently from each other Single events can be repositioned Minimum time 8ns between events Limited speed but very suitable for functional debugging IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Memory test • Several different algorithms Solid, Checkerboard, March, ... • Differentiation between device address, physical address and topological address Device address: externally applied address Physical address: internal address (x,y,d) Topological address: internal addres (x,y) • Scrambling Relation between device & physical address Memory test algorithms deal with cell neighborship → calculate device address such that physical addresses match algorithm • Bitmap centric view rather than cycle based view Mapping between physical and topological addresses IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved Memory Test – Scrambling Example 0,0 127 A[14..8] 0 0 A[14..8] 0 A[7..0] A[16:15]=00 01 Address range split into row (y) and column (x) addresses ya[8..0] = A[16] A[7..0] xa[7..0] = A[15] A[14..8] 255 (A[16:15] „block address“, prepended to x and y base addresses) 255 10 A[7..0] 127 0 11 ya/xa: externally applied device addr. y/x: internal physical addr. Scrambling: equations to calculate external addresses based on internal physical addresses such that x increases to the right and y increases to the bottom xor used as conditional inversion (mirror base address depending on block address) ya[7:0] = y[7..0] XOR y[8] ya[8] = y[8] IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany xa[6:0] = x[6..0] XOR NOTx[7] xa[7] = x[7] www.ihp-microelectronics.com © 2007 - All rights reserved Memory Test – Algorithmic Pattern Generation (APG) • Memory tests can have high complexity (>6N) • Huge amount of vectors for large memories • AGPs compute vectors on the fly rather than storing them Make use of high regularity of memory tests → Loop and repeat constructs, memory test algorithms implemented as sequencer programs Example: solid test (write complete memory, read complete memory, n words) LSB: 01010101... 00110011... MSB: 0000...1111 IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany → rep (2 * rep (n/2) * „01“) → rep (2 * rep (n/4) * “0011“) → rep (2 * (rep (n/2)*“0“, rep (n/2)*“1“)) www.ihp-microelectronics.com © 2007 - All rights reserved Limitations of Standard Test Systems • Speed, vector memory • Number of distinct timing edges • Number of independent clock domains Despite tester-per-pin architecture usually common master clock, no truly asynchronous signals possible • Very limited degree of flexibility on pattern level Match loop: loop around until chip output matches the loop vector (i.e. for flash testing or PLL locking) No further (conditional) processing on vector level ⇒ Severe problems with respect to asynchronous circuits IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany www.ihp-microelectronics.com © 2007 - All rights reserved