Slide Set 14. Design for Testability

Similar documents
UNIT IV CMOS TESTING. EC2354_Unit IV 1

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

EE241 - Spring 2001 Advanced Digital Integrated Circuits. References

Scan. This is a sample of the first 15 pages of the Scan chapter.

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

Unit V Design for Testability

Digital Integrated Circuits Lecture 19: Design for Testability

Testing Digital Systems II

Based on slides/material by. Topic Testing. Logic Verification. Testing

TKK S ASIC-PIIRIEN SUUNNITTELU

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Lecture 23 Design for Testability (DFT): Full-Scan

At-speed Testing of SOC ICs

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

Design for Testability

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

Overview: Logic BIST

nmos transistor Basics of VLSI Design and Test Solution: CMOS pmos transistor CMOS Inverter First-Order DC Analysis CMOS Inverter: Transient Response

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Lecture 18 Design For Test (DFT)

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

Testing Sequential Circuits

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Simulation Mismatches Can Foul Up Test-Pattern Verification

Design of Fault Coverage Test Pattern Generator Using LFSR

Chapter 8 Design for Testability

VLSI System Testing. BIST Motivation

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

ECE 407 Computer Aided Design for Electronic Systems. Testing and Design for Testability. Instructor: Maria K. Michael. Overview

Digital Integrated Circuits EECS 312

Boolean, 1s and 0s stuff: synthesis, verification, representation This is what happens in the front end of the ASIC design process

VLSI Test Technology and Reliability (ET4076)

Sharif University of Technology. SoC: Introduction

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN


Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

At-speed testing made easy

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

24. Scaling, Economics, SOI Technology

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

L11/12: Reconfigurable Logic Architectures

Comparing Functional and Structural Tests

VLSI Design Digital Systems and VLSI

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

K.T. Tim Cheng 07_dft, v Testability

Why FPGAs? FPGA Overview. Why FPGAs?

Testing Digital Systems II

Through Silicon Via Testing Known Good Die (KGD) or Probably Good Die (PGD) Doug Lefever Advantest

CS/EE 6710 Digital VLSI Design CAD Assignment #3 Due Thursday September 21 st, 5:00pm

Module 8. Testing of Embedded System. Version 2 EE IIT, Kharagpur 1

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

A Novel Low-overhead Delay Testing Technique for Arbitrary Two-Pattern Test Application

EEC 118 Lecture #9: Sequential Logic. Rajeevan Amirtharajah University of California, Davis Jeff Parkhurst Intel Corporation

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

L12: Reconfigurable Logic Architectures

ECE 715 System on Chip Design and Test. Lecture 22

Outline. EECS150 - Digital Design Lecture 27 - Asynchronous Sequential Circuits. Cross-coupled NOR gates. Asynchronous State Transition Diagram

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

A video signal processor for motioncompensated field-rate upconversion in consumer television

Digital Integrated Circuits EECS 312

An Experiment to Compare AC Scan and At-Speed Functional Testing

Integrated Circuit Design ELCT 701 (Winter 2017) Lecture 1: Introduction

Technology Scaling Issues of an I DDQ Built-In Current Sensor

DEDICATED TO EMBEDDED SOLUTIONS

11. Sequential Elements

3/5/2017. A Register Stores a Set of Bits. ECE 120: Introduction to Computing. Add an Input to Control Changing a Register s Bits

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Memory elements. Topics. Memory element terminology. Variations in memory elements. Clock terminology. Memory element parameters. clock.

SEMICONDUCTOR TECHNOLOGY -CMOS-

EE-382M VLSI II FLIP-FLOPS

Testing Sequential Logic. CPE/EE 428/528 VLSI Design II Intro to Testing (Part 2) Testing Sequential Logic (cont d) Testing Sequential Logic (cont d)

Chapter 10 Exercise Solutions

Chip-Level DFT: Some New, And Not So New, Challenges

Digital Integrated Circuits EECS 312. Review. Remember the ENIAC? IC ENIAC. Trend for one company. First microprocessor

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination CLOSED BOOK

CSE 352 Laboratory Assignment 3

A FOUR GAIN READOUT INTEGRATED CIRCUIT : FRIC 96_1

Strategies for Efficient and Effective Scan Delay Testing. Chao Han

Dual Slope ADC Design from Power, Speed and Area Perspectives

4. Formal Equivalence Checking

Design of Test Circuits for Maximum Fault Coverage by Using Different Techniques

SEMICONDUCTOR TECHNOLOGY -CMOS-

VirtualScan TM An Application Story

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

WINTER 15 EXAMINATION Model Answer

ELEC 4609 IC DESIGN TERM PROJECT: DYNAMIC PRSG v1.2

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

Digital Integrated Circuits EECS 312. Review. Combinational vs. sequential logic. Sequential logic. Introduction to sequential elements

ECE321 Electronics I

Low Power Illinois Scan Architecture for Simultaneous Power and Test Data Volume Reduction

DESIGN OF RANDOM TESTING CIRCUIT BASED ON LFSR FOR THE EXTERNAL MEMORY INTERFACE

DESIGN OF LOW POWER TEST PATTERN GENERATOR

Timing EECS141 EE141. EE141-Fall 2011 Digital Integrated Circuits. Pipelining. Administrative Stuff. Last Lecture. Latch-Based Clocking.

ISSN (c) MIT Publications

Transcription:

Slide Set 14 Design for Testability Steve Wilton Dept. of ECE University of British Columbia stevew@ece.ubc.ca Slide Set 14, Page 1

Overview Wolf 4.8, 5.6, 5.7, 8.7 Up to this point in the class, we have spent all of time trying to figure out what we want on a chip, how to implement the desired functionality. We also need to figure out a method of testing to see if the chip works after it is manufactured. There are two types of testing a designer is interested in. The first is to check out the design, to make sure it is correct, and implements the desired functionality. We have talked some about this testing already. Unfortunately the manufacturing process for ICs is not perfect, so we need to check each chip created to see if it matches the original design. Given the complexity of today s chips, this can be a very difficult task, unless some planning is done up front. This planning is called design for testability. Slide Set 14, Page 2

Types of Testing 1. Verification: Testing your design to make sure it is correct - Done using simulators (HSPICE, Verilog, IRSIM, etc.) - Usually follow a test plan written by Verification Engineers - Involves both testing Verilog code and final layout 2. Validation: Test every chip to see if it works - You are assuming your design is correct - Fabrication errors, imperfections in silicon cause errors - Don t want to sell faulty chips! 3. Debugging: Why doesn t this chip work? - So you can correct it in the next spin Slide Set 14, Page 3

Verification

10 3000 Number of States 10 300 10 30 10 3 Number of protons in the universe Number of stars in the universe World population From J. Abraham, Oct 2005 1 1 10 100 1000 10000 Number of Storage Elements 100000 1000000 Number of latches in Itanium processor

Design Bug Distribution in Pentium 4 Type of Bug Goof Miscommunication Microarchitecture Logic/microcode changes Corner cases Power down Documentation Complexity Initialization Late definition Incorrect RTL assertions Design mistake From J. Abraham, Oct 2005 % 12.7 11.4 9.3 9.3 8 5.7 4.4 3.9 3.4 2.8 2.8 2.6 Source: EE Times, 42 Million Transistors, 1+ Million lines of RTL Slide Set 14, Page 6

Pentium FDIV Bug Pentium shipped in August 1994 Intel actually knew about the bug in July But calculated that delaying the project a month would cost ~$1M And that in reality only a dozen or so people would encounter it They were right but one of them took the story to EE times By November 1994, firestorm was full on IBM said that typical Excel user would encounter bug every month Assumed 5K divisions per second around the clock People believed the story IBM stopped shipping Pentium PCs By December 1994, Intel promises full recall Total cost: ~$550M All for a bug which in reality maybe affected a dozen people Slide Set 14, Page 7

TOP TEN NEW INTEL SLOGANS FOR THE PENTIUM -------------------------------------------------------------------------- 9.9999973251 It's a FLAW, Dammit, not a Bug 8.9999163362 It's Close Enough, We Say So 7.9999414610 Nearly 300 Correct Opcodes 6.9999831538 You Don't Need to Know What's Inside 5.9999835137 Redefining the PC -- and Mathematics As Well 4.9999999021 We Fixed It, Really 3.9998245917 Division Considered Harmful - No Life-Maintenance Devices Should Be Used With This Processor 2.9991523619 Why Do You Think They Call It *Floating* Point? 1.9999103517 We're Looking for a Few Good Flaws And the 0.9999999998th Slogan Is... The Errata Inside

Moral: Test your chip thoroughly. If you don t test it, it won t work. Guaranteed! But, even if your design is correct, the chips that come back from the fab might not work

Validation

Defects in Fabrication In the fabrication of chips, there are defects that get introduced. These defects come from many sources: Defects in the base silicon. Dust or contamination in the fab or on wafer. Dust on mask. Misalignment. Over-etch or under-etch.... sometimes you don't get the exact pattern you printed due to limitations in the photolithographic process as we reach limits on resolution. Thus, sometimes, the implementation of the fabricated die doesn t match its specification, and you get wires you don t want, don t get wires that you want, or find out that the transistors don t operate as you expect Slide Set 14, Page 11

Example Mask Alignment Error This is from an NCR Memory Chip. This was what was sent to be fabbed: Slide Set 14, Page 12

Example Mask Alignment Error This is what came back. Layers were not aligned properly. In this case, this part of the circuit was not functional anyway, but imagine what this would do to your transistors Slide Set 14, Page 13

Particle Defects Particles can disrupt either light-field or dark-field patterns on the mask or on the wafer during photolithographic process. Slide Set 14, Page 14

Remember this distinction: Verification vs. Validation Verification: - Test your design - You can take advantage of regularity - if one bit of a register works, they probably all do Verification: - Test the actual chip - A fault could occur in any bit of a register test them all - Need to test every chip you intend to sell Slide Set 14, Page 15

This sort of testing is very expensive: 0.5-1.0GHz, analog instruments,1,024 digital pins: ATE purchase price = $1.2M + 1,024 x $3,000 = $4.272M Running cost (five-year linear depreciation) = Depreciation + Maintenance + Operation = $0.854M + $0.085M + $0.5M = $1.439M/year Test cost (24 hour ATE operation) = $1.439M/(365 x 24 x 3,600) = 4.5 cents/second Slide Set 14, Page 16

Production Testing Once the design is fully correct, production testing verifies correct fabrication for each new die. But this isn t trivial: 1. Need to test all the gates in a chip. 2. Only get to force chip inputs and observe chip outputs. (Production testing is done with automated equipment, never microprobing or e-beam, obviously) # gates >> # inputs/outputs. 3. Production testing is always done by applying a sequence of vectors (apply new input to pins, and measure outputs from pins), usually one vector per clock cycle. If there were no internal states, the problem would merely be hard, but not impossible. With states, the problem is nearly impossible unless the designer helps. Slide Set 14, Page 17

Don t need to verify design at this step, just need to see if the chip works - Idea: come up with a model of what sort of faults are likely, and test for those faults

Fault Model Come up with a model of what sort of errors are common, and test for those errors Stuck at Model: this is the most popular: - assume that a faulty chip has exactly one node that is either stuck at 0 or stuck at 1 - come up with a set of test vectors that will find as many of these faults as possible - given a set of test vectors, you can come up with a fault coverage : percentage of single stuck-at faults that the test vectors will uncover Slide Set 14, Page 19

Production Testing We obviously created some test vectors before we sent the chip out to be fabbed (to check our design). Can we just use these for production testing? No, not usually: - When you simulated, you were making sure your design was correct - But when we test the actual chip, it may be that there are fabrication errors - Since fabrication errors are very different than design errors, we shouldn t expect our design simulation vectors to be very effective when looking for fabrication errors - Ideally, we would want to test every gate and every wire on the chip Slide Set 14, Page 20

Test Example SA1 A 3 A 2 A 1 A 0 n1 n2 n3 Y Minimum set: SA0 A 3 A 2 A 1 A 0 n2 n1 n3 Y Example from: Bushel, Rutgers University Slide Set 14, Page 21

Test Example SA1 SA0 A 3 {0110} {1110} A 2 A 1 A 0 n1 n2 n3 Y Minimum set: A 3 A 2 A 1 A 0 n2 n1 n3 Y Example from: Bushel, Rutgers University Slide Set 14, Page 22

Test Example SA1 SA0 A 3 {0110} {1110} A 2 {1010} {1110} A 1 A 0 n1 n2 n3 Y Minimum set: A 3 A 2 A 1 A 0 n2 n1 n3 Y Example from: Bushel, Rutgers University Slide Set 14, Page 23

Test Example SA1 SA0 A 3 {0110} {1110} A 2 {1010} {1110} A 1 {0100} {0110} A 0 n1 n2 n3 Y Minimum set: A 3 A 2 A 1 A 0 n2 n1 n3 Y Example from: Bushel, Rutgers University Slide Set 14, Page 24

Test Example SA1 SA0 A 3 {0110} {1110} A 2 {1010} {1110} A 1 {0100} {0110} A 0 {0110} {0111} n1 n2 n3 Y Minimum set: A 3 A 2 A 1 A 0 n2 n1 n3 Y Example from: Bushel, Rutgers University Slide Set 14, Page 25

Test Example SA1 SA0 A 3 {0110} {1110} A 3 n1 A 2 A 2 {1010} {1110} A 1 {0100} {0110} n2 n3 A A 0 {0110} {0111} 1 A n1 {1110} {0110} 0 n2 {0110} {0100} n3 {0101} {0110} Y {0110} {1110} Minimum set: {0100, 0101, 0110, 0111, 1010, 1110} Y Example from: Bushel, Rutgers University Slide Set 14, Page 26

Fault Coverage = 100 * Number of faults we will find Total number of potential faults 100% Fault coverage would be great, but we sometimes can t quite get there

Testing Circuits with State Suppose you have a 64 bit counter: With no inputs but clock and the outputs there are two problems: The tester does not know where the counter starts. Thus it can t simply compare the counter output to the expected value. To test the counter takes 2 64 = 18446744073709551616 clock cycles. This is a long time to test just 64 counter cells. Adding a reset fixes the first problem. All counters (and state in general) need a reset to enable the tester to get the chip in a known starting state. Adding a load input fixes the second problem. With a load it takes O(32) steps to test the counter. To efficiently test state machines, you need a direct way of getting the state machine into the state you want to test. The easiest way of doing this it to provide a mechanism to load the state in the state machines. Slide Set 14, Page 28

Observability Original Design: ALU Registers More Testable Design: ALU Some other signal MODE OUTPUT Registers If mode is 1, we output internal signal. Idea: intelligently choose which internal signals you will want access to Slide Set 14, Page 29

Controllability Original Design: ALU Registers More Testable Design: Input MODE ALU Registers If mode is 1, we can use input pin(s) to drive internal signals. Can be used to set state of a state machine, etc. Slide Set 14, Page 30

Scan Scan techniques are often used in testing, since they take only a few (about 4 to 6) additional pins, but have the potential to control a lots of things (state, other output pads, etc.). Trade bandwidth for pins. Techniques requiring everything to be scannable are often called by the buzzword LSSD (level-sensitive scan design) which really just means full-scan. (Original meaning also implied strict 2 phase clocking) Convert testing a sequential machine into solely the problem of testing a block of combinational logic with ALL primary inputs controllable through scan, and all primary outputs observable through scan. Accomplish this by changing all the state latches into a latch that can become a shift-register, and linking them all together in scan chains. A state can be shifted in, all the logic can compute, and then the state can be shifted out at the same time the next state is shifted in. Do a complete scan between every applied test vector. Scan great for both debug and production wafer or packaged part testing Partial-scan is possible, but ATPG tools are not as automated. Slide Set 14, Page 31

Scan Structured technique which allows us to set state of flip-flops in a circuit or read out state during testing: Replace all DFF s with: MODE Data in (DI) Scan In (SI) 0 1 D Q CLK If Mode=0, operate as a normal flip-flop If Mode=1, take input from SI instead Slide Set 14, Page 32

Original Design: Logic D D D Clock not shown (each flip-flop receives a common clock) Q Q Q Logic New Design: Logic Scan in M SI DI SI DI SI DI M Q M Q M Q Scan out Clock not shown (each flip-flop receives a common clock) Logic

Scan If M is 1, all registers act as a big shift chain Operation: a) to set state: - set M to 1 - shift in 3 bits on scan in - set M to 0, and operate circuit as normal b) to read state: - set M to 1 - shift out 3 bits out of scan out - set M to 0 You can link all FFs in a design this way -> full scan Or only some FFs -> partial scan Slide Set 14, Page 34

w 1 z 1 w n Combinational circuit z k y 3 Q Scan-out D 0 1 Y 3 y 2 Q D 0 1 Y 2 y 1 Q D 0 1 Y 1 Clock Scan-in Normal Scan

Scan if you are using two-phase clocking Scan of Register-based designs Scan In Scan of Latch-based designs Scan In C L Φ1 Φ2 C L Φ1 C L Φ2 Scan Out Φ2 * Scan Out In a latch-based chip, need to add extra Φ2 latches so the scan chain doesn t go through combinational logic. Slide Set 14, Page 36

Design for LSSD Does not affect user-visible architecture but Makes registers or latches more complex (larger and slightly slower) area penalty. The additional wiring taken up by the scan wires is usually minuscule, but this is only true when the CAD flow can generate a good scan ordering, which must be determined after cell placement (and then backannotated into logic netlist). For many semi-custom design, full-scan makes sense since it allows the production test vectors to be generated with good test coverage. Slide Set 14, Page 37

Built-In-Self-Test The buzzword BIST is best used to refer to the portions of a design where an additional FSM has been added solely for the purposes of running through a test sequence where the results are NOT observable by the tester on every clock cycle. Typically, BIST is added to test large (RAM) arrays where the number of clock cycles required by conventional vector-based tests would be just too excessive. Additionally, BIST can be used to test the delay performance of circuits which would also not be accessible by a tester applying vectors slowly. The result of BIST is meant to be a pass/fail result, not diagnostic information. Typically, the BIST controller compresses the results into a signature which can be compared against the signature of a known good chip. Unlike other methods of design for testability, adding BIST usually doesn t really help in providing any controllability for design debug. Slide Set 14, Page 38

Built-In Self Test Stimulus Generator (Sub)-Circuit Under Test Response Analyzer Test Controller Slide Set 14, Page 39

Example Stimulus Generator: LFSR R R R S 0 S 1 S 2 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 Slide Set 14, Page 40

Example Analyzer: Signature Analysis In Counter R Counts transitions on input stream -> Compression in time Slide Set 14, Page 41

Example Analyzer: Signature Analysis Slightly more complex signature analysis circuit: Signature p D Q D Q D Q D Q Q Q Q Q Clock Slide Set 14, Page 42

IDDQ Testing Measuring the quiescent power supply current (IDDQ) as a method of testing is another good idea in CMOS circuits. Once pure fully-complementary static CMOS circuits have driven their outputs they only draw picoamps from the power supply (leakage) So, design the chip with a way of turning off all DC power consumption (like ratioed-logic NOR gates), and then after every vector, the power supply current will settle down. Even on big chips with millions of transistors, the leakage current of all the transistors together is less than (or about the order of) the on-current of a single transistor that is stuck on. So, measuring IDDQ is a great way to detect shorts which will cause fighting output drivers to consume current. But, don t have time to measure IDDQ after every test vector, so just measure it after a few well chosen ones, and hope. With higher leakage currents in recent technologies, this may be more difficult. Slide Set 14, Page 43

Debug

Silicon Debug If you find that none of your chips work, then it probably is a design problem. Reality: most chips go through a few spins before it is correct enough to sell But, if there is a problem, you have to find the cause FAST - This is a really stressful time for an engineer - Better get it right before committing another few million - What if one bug hides another? Slide Set 14, Page 45

Silicon Debug Currently, there is no systematic methodology that Addresses this problem. There are some hacks and point solutions: controlled un-loading of scan chains=> complicated, careful clock gating, not full-speed. ad-hoc design-specific debug logic => suffers from the bug prediction problem. external accessible test-points => external I/O is expensive and unable to run at internal rates. Slide Set 14, Page 46

Probing Technology Micro-probes (nano-probes, pico-probes) are all very thin needles manipulated on a wafer probe station that can get be moved under the microscope and dropped down on specific wires. But often the added capacitance disrupts the circuit so much, that no information is gained about what was happening before the probe changed the circuit. With an active FET amplifier in the tip, the best micro-probe models can reduce the added capacitance to under 100fF Voltage levels can be sensed non-mechanically by e-beam testers, which are like sampling digital oscilloscopes that recreate a waveform by repeated sampling at slightly different delay offsets. Both microprobing and e-beam probing can usually only get to the top layer of metal. Sometimes it is possible to scrape insulation away, to get to the next lower level of metal if it isn t covered by the top layer. Sometimes laser or ion beam drilling can be used too. Slide Set 14, Page 48

Single-Die Repair Technology When a problem is discovered, and a correction proposed, it is desirable to check the correction quicker than waiting many weeks for the re-fabrication cycle. It is possible to make changes to individual dies by using focused ion-beam (FIB) machines. Together with laser cutting, this allows the capability to both remove and deposit wires. But the wires are much lower quality (hundreds of ohm/square), and deposition rates are slow (on the order of a minute per 100 microns). Much better to get the chips right in the first place! Slide Set 14, Page 49

Overall System Test Strategy To enhance controllability and observability both inside of chips and at the board level, use the techniques discussed in this lecture: Add reset signals and muxes to allow more direct control. Bring key signals out from inside of complex combinational logic blocks. Add Scan to latches/registers. Add BIST around RAMs or other arrays, using signature compression to compare the results. Slide Set 14, Page 50