Practical Aspects of Testing Based on Experiences with Verigy 93000 SOC



Similar documents
Objective. Testing Principle. Types of Testing. Characterization Test. Verification Testing. VLSI Design Verification and Testing.

ATE for Manufacturing Test. Major ATE Companies: Teradyne, Credence, Agilent, Advantest, NPTest... Agilent 83K. Advantest T6682

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Memory Testing. Memory testing.1

PLAS: Analog memory ASIC Conceptual design & development status

Design Verification & Testing Design for Testability and Scan

Hideo Okawara s Mixed Signal Lecture Series. DSP-Based Testing Fundamentals 46 Per-pin Signal Generator

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

DM Segment Decoder/Driver/Latch with Constant Current Source Outputs

11. High-Speed Differential Interfaces in Cyclone II Devices

PACKAGE OUTLINE DALLAS DS2434 DS2434 GND. PR 35 PACKAGE See Mech. Drawings Section

ICS379. Quad PLL with VCXO Quick Turn Clock. Description. Features. Block Diagram

ICS SPREAD SPECTRUM CLOCK SYNTHESIZER. Description. Features. Block Diagram DATASHEET

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

ni.com/sts NI Semiconductor Test Systems

Serial port interface for microcontroller embedded into integrated power meter

Using Altera MAX Series as Microcontroller I/O Expanders

DG2302. High-Speed, Low r ON, SPST Analog Switch. Vishay Siliconix. (1-Bit Bus Switch with Level-Shifter) RoHS* COMPLIANT DESCRIPTION FEATURES

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

HD61202U. (Dot Matrix Liquid Crystal GraphicDisplay Column Driver)

DDR subsystem: Enhancing System Reliability and Yield

INTEGRATED CIRCUITS. 74F153 Dual 4-line to 1-line multiplexer. Product specification 1996 Jan 05 IC15 Data Handbook

8 by 8 dot matrix LED displays with Cascadable Serial driver B32CDM8 B48CDM8 B64CDM8 General Description

1 TO 4 CLOCK BUFFER ICS551. Description. Features. Block Diagram DATASHEET

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

TRIPLE PLL FIELD PROG. SPREAD SPECTRUM CLOCK SYNTHESIZER. Features

PowerPC Microprocessor Clock Modes

74F257A Quad 2-line to 1-line selector/multiplexer, non-inverting (3-State)

8741A UNIVERSAL PERIPHERAL INTERFACE 8-BIT MICROCOMPUTER

Scanning Comparator (ScanComp) Features. General Description. Input/Output Connections. When to Use a Scanning Comparator. clock - Digital Input* 1.

Manchester Encoder-Decoder for Xilinx CPLDs

SoMA. Automated testing system of camera algorithms. Sofica Ltd

Measurement and Analysis Introduction of ISO7816 (Smart Card)

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

DS2401 Silicon Serial Number

ADS9850 Signal Generator Module

Jitter in PCIe application on embedded boards with PLL Zero delay Clock buffer

Memory Systems. Static Random Access Memory (SRAM) Cell

CMOS, the Ideal Logic Family

HCF4056B BCD TO 7 SEGMENT DECODER /DRIVER WITH STROBED LATCH FUNCTION

DS1621 Digital Thermometer and Thermostat

.LOW POWER DISSIPATION .HIGH NOISE IMMUNITY M74HC154 4 TO 16 LINE DECODER/DEMULTIPLEXER. HIGH SPEED tpd = 15 ns (TYP.) at VCC =5V

SafeSPI - Serial Peripheral Interface for Automotive Safety

Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Clocks Basics in 10 Minutes or Less. Edgar Pineda Field Applications Engineer Arrow Components Mexico

CpE358/CS381. Switching Theory and Logical Design. Class 4

74F168*, 74F169 4-bit up/down binary synchronous counter

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

Flip-Flops, Registers, Counters, and a Simple Processor

Implementation Details

Digital Electronics Detailed Outline

Dual DIMM DDR2 and DDR3 SDRAM Interface Design Guidelines

Interfacing Analog to Digital Data Converters

Fondamenti su strumenti di sviluppo per microcontrollori PIC

DS2186. Transmit Line Interface FEATURES PIN ASSIGNMENT

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

Clocking. Figure by MIT OCW Spring /18/05 L06 Clocks 1

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14

A N. O N Output/Input-output connection

Alpha CPU and Clock Design Evolution

Link-65 MHz, +3.3V LVDS Transmitter 24-Bit Flat Panel Display (FPD) Link-65 MHz

An Automated Model Based Design Flow for the Design of Robust FlexRay Networks

Department of Electrical and Computer Engineering Ben-Gurion University of the Negev. LAB 1 - Introduction to USRP

Loop Bandwidth and Clock Data Recovery (CDR) in Oscilloscope Measurements. Application Note

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

MC10SX1190. Fibre Channel Coaxial Cable Driver and Loop Resiliency Circuit

High-Speed, Low r ON, SPST Analog Switch (1-Bit Bus Switch)

DM74184 DM74185A BCD-to-Binary and Binary-to-BCD Converters

Serial Communications

An Ethernet Cable Discharge Event (CDE) Test and Measurement System

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Asynchronous counters, except for the first block, work independently from a system clock.

Features INSTRUCTION DECODER CONTROL LOGIC AND CLOCK GENERATORS COMPARATOR AND WRITE ENABLE EEPROM ARRAY READ/WRITE AMPS 16

256K (32K x 8) Static RAM

NAND Flash Memories. Using Linux MTD compatible mode. on ELNEC Universal Device Programmers. (Quick Guide)

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences

Cold-Junction-Compensated K-Thermocoupleto-Digital Converter (0 C to C)

RF Measurements Using a Modular Digitizer

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

A Verilog HDL Test Bench Primer Application Note

Interconnection Network of OTA-based FPAA

DS Wire Digital Thermometer and Thermostat

An On-chip Security Monitoring Solution For System Clock For Low Cost Devices

3-input EXCLUSIVE-OR gate. The 74LVC1G386 provides a 3-input EXCLUSIVE-OR function.

3.Basic Gate Combinations

BP-2600 Concurrent Programming System

ZL40221 Precision 2:6 LVDS Fanout Buffer with Glitchfree Input Reference Switching and On-Chip Input Termination Data Sheet

8254 PROGRAMMABLE INTERVAL TIMER

Managing High-Speed Clocks

TS5010 TeraTune Programmable Bandpass Filter

High Power Programmable DC Power Supplies PVS Series

INTEGRATED CIRCUITS. 74F74 Dual D-type flip-flop. Product specification Supercedes data of 1990 Oct 23 IC15 Data Handbook.

54191 DM54191 DM74191 Synchronous Up Down 4-Bit Binary Counter with Mode Control

Test & Data Management Software

Transcription:

Practical Aspects of Testing Based on Experiences with Verigy 93000 SOC Wolf, Christoph IHP Im Technologiepark 25 15236 Frankfurt (Oder) Germany

Outline Introduction Tester architecture concepts Test pattern generation/conversion Event-based test system Memory test Limitations of standard test systems

Usage Scenarios Standalone Manual test of packaged devices Docked to a handler Automatic test of packaged devices

Usage Scenarios Docked to a wafer prober Automatic test of unpackaged devices directly on a wafer

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.)

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)

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++

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

Pin Electronics General Principle V ih Clamps Driver (Input) 50O Z L =50O DUT 0 Vcc1 1 5 a1 b1 2 a2 b2 6 V il 3 a3 b3 7 V oh Receiver (Output) PPMU 4 a4 GND 0 b4 8 V ol I ol Vt Active Load 50O I oh

Pin Electronics Driver Mode Driver (Input) V ih Clamps Tristate- Ctrl Formatted Data 50O Z L =50O DUT 0 Vcc1 1 5 a1 b1 2 a2 6 b2 V il 3 a3 b3 7 4 a4 b4 8 V oh GND 0 Receiver (Output) PPMU V ol I ol Vt Active Load 50O I oh

Pin Electronics Receiver Mode Driver (Input) V ih Clamps Tristate- Ctrl Formatted Data 50O Z L =50O DUT 0 Vcc1 1 5 a1 b1 2 a2 6 b2 V t V il 3 a3 b3 7 4 a4 b4 8 Receiver (Output) V oh GND 0 > V oh < V ol PPMU V ol I ol Vt Active Load 50O I oh

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

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

Setup Example Wavetable Equations Vector 0 d1:0 period=45 0 1 d1:1 d1=0 2 2 d4:1 d6:0 d2=5 3 3 d2:1 d3:0 d4:1 d5:0 d3=10 1 4 d2:z r1:h r2:l d4=20 4 5 d2:z r1:l r2:l d5=25 d6=40 r1=30 r2=40 0 45 90 135 180 225 H L 0 2 3 1 4

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 max x4 Bidir pin NRZ/STB (0,1,L,H) 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

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

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 DUT-Side t -t d 0 +t d -t d 0 +t d Input Output Works fine for unidirectional pins, problems with bi-directional pins Solution: separate tester channels for input and output path

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

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

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

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...

Test Pattern Generation/Conversion EVCD example $var port 1 <1 Clk $end $var port 1 <2 In $end $var port 1 <3 Out $end $var port 1 <4 Inout $end #0 pd 6 0 <1 pd 6 0 <2 pd 6 0 <4 0 50 100 150 200 250... 3450 px 0 0 <3 #45 pu 0 6 <2 pz 0 0 <4 Clk #50 pu 0 6 <1 #71 In ph 0 6 <3 #100 pd 6 0 <1 Out XXXXXXXX #150 pu 0 6 <1 #154 i pl 6 0 <4 #200 Inout pd 6 0 <1 o #3450 pu 0 6 <1 #3454 ph 0 6 <4

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

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)

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

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

Memory Test Scrambling Example 0,0 127 A[14..8] 0 0 A[14..8] 127 0 A[7..0] A[16:15]=00 01 255 255 A[7..0] 10 11 0 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] (A[16:15] block address, prepended to x and y base addresses) 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] xa[6:0] = x[6..0] XOR NOTx[7] xa[7] = x[7]

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... rep (2 * rep (n/2) * 01 ) 00110011... rep (2 * rep (n/4) * 0011 ) MSB: 0000...1111 rep (2 * (rep (n/2)* 0, rep (n/2)* 1 ))

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