EEE515J1 ASICs and DIGITAL DESIGN Lecture 8: Testing Ian McCrumRoom 5D03B Tel: 90 366364 voice mail on 6 th ring Web site:

Slides:



Advertisements
Similar presentations
Introduction to DFT Alexander Gnusin.
Advertisements

ECE 555 Lecture 16: Design for Testability
Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
BOUNDARY SCAN.
V. Vaithianathan, AP/ECE
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
Introduction to CMOS VLSI Design Lecture 17: Design for Testability David Harris Harvey Mudd College Spring 2004.
Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
LEONARDO INSIGHT II / TAP-MM ASTEP - Basic Test Concepts © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 Basic test concepts J. M. Martins.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 101 Design for Testability Theory and Practice Lecture 10: DFT and Scan n Definitions n Ad-hoc methods.
EE466: VLSI Design Lecture 17: Design for Testability
Lecture 28 IEEE JTAG Boundary Scan Standard
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 291 Lecture 29 IEEE JTAG Advanced Boundary Scan & Description Language (BSDL) n Special scan.
1 Lecture 23 Design for Testability (DFT): Full-Scan n Definition n Ad-hoc methods n Scan design Design rules Scan register Scan flip-flops Scan test sequences.
Design for Testability Theory and Practice Lecture 11: BIST
Design for Testability
ELEN 468 Lecture 241 ELEN 468 Advanced Logic Design Lecture 24 Design for Testability.
Embedded Systems Hardware:
Real-Time Systems Design JTAG – testing and programming.
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 121 Design for Testability Theory and Practice Lecture 12: System Diagnosis n Definition n Functional.
Vishwani D. Agrawal James J. Danaher Professor
Testing of Logic Circuits. 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models  Observability and Controllability.
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
Guidelines for Chip DFT Based on Boundary Scan Reference to an article by Ben Bannetts By Regev Susid.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 241 Lecture 24 Design for Testability (DFT): Partial-Scan & Scan Variations n Definition n Partial-scan.
ELEN 468 Lecture 251 ELEN 468 Advanced Logic Design Lecture 25 Built-in Self Test.
TOPIC - BIST architectures I
Design for Testability
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Scan and JTAG Principles1 Scan and JTAG Principles ARM Advanced RISC Machines.
Design for Test HIBU – Oct. 31st 2006 J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 J. M. Martins Ferreira FEUP / DEEC - Rua Dr.
EE 447/EE547 1 VLSI DESIGN Lecture 10 Design for Testability.
Introduction to CMOS VLSI Design Test. CMOS VLSI DesignTestSlide 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models.
Testing of integrated circuits and design for testability J. Christiansen CERN - EP/MIC
CSE477 L28 DFT.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 28: Design for Test Mary Jane Irwin ( )
LEONARDO INSIGHT II / TAP-MM ASTEP - The Boundary Scan Test (BST) technology © J. M. Martins Ferreira - University of Porto (FEUP / DEEC)1 The Boundary.
Logic BIST Logic BIST.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Boundary Scan.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
April 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 281 Lecture 28 IEEE JTAG Boundary Scan Standard n Motivation n Bed-of-nails tester n System view.
LEONARDO INSIGHT II / TAP-MM ASTEP - Introduction to mixed-signal testing using the standard © J. M. Martins Ferreira - University of Porto (FEUP.
CS/EE 3700 : Fundamentals of Digital System Design
EEE515J1_L4-1/12 EEE515J1 ASICs and DIGITAL DESIGN EGBCDCNT.pdf An example of a synchronous sequential machine.
TOPIC : RTD, SST UNIT 5 : BIST and BIST Architectures Module 5.2 Specific BIST Architectures.
© LATTICE SEMICONDUCTOR CORPORATION 2000 Uudet mikropiirit JTAG February Lattice Confidential Lattice Semiconductor The Leader in ISP TM PLDs Presents.
SYSTEM-LEVEL TEST TECHNIQUES INTRODUCTION In the 1970s, the in-circuit testing (ICT) method appeared. In the 1970s, the in-circuit testing (ICT) method.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
EE3A1 Computer Hardware and Digital Design Lecture 13 Detecting faults in Digital Systems.
ASIC Design. ASIC Design Flow Hierarchy in DC The group and ungroup commands provide the designer with the capability of altering the partitions in DC,
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
COUPING WITH THE INTERCONNECT
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 2)
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
ECE 434 Advanced Digital System L18
Lecture 12: Design for Testability
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
CPE/EE 428/528 VLSI Design II – Intro to Testing
Lecture 12: Design for Testability
Design for Testability
Lecture 12: Design for Testability
CPE/EE 422/522 Advanced Logic Design L17
Sungho Kang Yonsei University
Lecture 26 Logic BIST Architectures
VLSI Testing Lecture 13: DFT and Scan
Presentation transcript:

EEE515J1 ASICs and DIGITAL DESIGN Lecture 8: Testing Ian McCrumRoom 5D03B Tel: voice mail on 6 th ring Web site: Last changed

Introduction to Testing 2. Exhaustive testing is only viable in small designs, but even then if testing is either costly or slow there may be a considerable motivation to optimise testing. Several approaches exist and indeed we could spend an entire module on testing. Consider the need to find manufacturing faults or defects in an ASIC. We should first consider the type of faults that occur and then see how these can be identified. Modern devices can have very fine tracks of less than.25 microns and very fast gates on the sub nanosecond area in some cases. Faults that cause malfunction may be dynamic in nature, if two tracks are close together then rapid changes of voltage in one line may induce a voltage and subsequent undesired effect in an adjacent track. Matrices of cells as found in RAM or PLA structures may have pattern induced problems, possibly due to inadequate power supply de-coupling or clock distribution effects. Solving these types of problems and providing a workable clock distribution tree with no skew is keeping modern ASIC designers busy these days!

Luckily (for you) it is too complex to model this type of fault and a simpler model is used. We assume that a fault may be caused by a blob or contaminant and the fault thus caused is static in nature. It is assumed that the net or node concerned will be stuck at one or stuck at zero: it will not “wiggle” up and down if excited. The problems of test are therefore to find a way to “wiggle” every node in a circuit up and down and ensure we can observe something that confirms that the node has “wiggled” up and down. Key terms used in testing are; Fault modelA simplification of real faults, but usable nonetheless Stuck at zero (SA0)Find all these and Stuck at one (SA1)all these and you’ll find most of the faulty chips ControllabilityYou have to be able to “wiggle” nodes up and down ObservabilityYou have to be able to observe the effect of a “wiggle” Test vectorAn example input used to exercise the chip Test setA list of test vectors that form a complete test. Fault listA list of all detectable faults Fault coverageThe percentage of faults found by a test set

Manufacturing Test A speck of dust on a wafer is sufficient to kill chip Yield of any chip is < 100%  Must test chips after manufacturing before delivery to customers to only ship good parts Manufacturing testers are very expensive  Minimize time on tester  Careful selection of test vectors

16 Stuck-At Faults How does a chip fail?  Usually failures are shorts between two conductors or opens in a conductor  This can cause very complicated behavior A simpler model: Stuck-At  Assume all failures cause nodes to be “stuck-at” 0 or 1, i.e. shorted to GND or V DD  Not quite true, but works well in practice

17 Observability & Controllability Observability: ease of observing a node by watching external output pins of the chip Controllability: ease of forcing a node to 0 or 1 by driving input pins of the chip Combinational logic is usually easy to observe and control Finite state machines can be very difficult, requiring many cycles to enter desired state  Especially if state transition diagram is not known to the test engineer

18 Test Pattern Generation Manufacturing test ideally would check every node in the circuit to prove it is not stuck. Apply the smallest sequence of test vectors necessary to prove each node is not stuck. Good observability and controllability reduces number of test vectors required for manufacturing test.  Reduces the cost of testing  Motivates design-for-test

As a guide, most silicon foundries will insist on being given a test set along with the manufacturing data to make the chip; the fault coverage should be in excess of 98%. This will allow them to say, if the chip doesn’t work when you plug it into your application that it must be a design fault and not a manufacturing fault. An ASIc might have setup charges of £29,000 and unit costs of £3-4 per chip. Testing can easily be 30-50% of these figures. It makes sense to “design for test” right at the outset. The design methods I have promoted in this class produce reliable, easily tested circuits, some of the ad hoc design methods do not. Design for test guidelines Partition your design into small functional units If using RAM or PLA structures think of adding extra rows to provide selftesting Use only synchronous designs,

1) Never gate a clock pin of a flipflop, add an “enable” to the state diagram 2) Ensure that sufficient inputs and outputs are provided to allow sufficient “controllability” and “observability”. This may require pins to be dual purpose and the provision of multiplexors within the chip, perhaps to bring out the “state” of some internal FSM. 3) Never feed a clock pin from the Q output of another flipflop. 4) Don’t use more than one clock; this may require adding enables to your FSMs, For instance if you need a “dvide by 48” and you have a master 1MHz clock.Make a divide by 3 followed by a divide by 16. The divide by 16 should also be clocked by the 1 MHz signal but it should be enabled with the output of the divide by 3. Enabled within the logoc of its next state decoder (see (a) above) 5) Arrange all signals to be synchronised to the system clock, asynchronous inputs should be synchronised as a soon as possible. This prevents metastability problems. 6) Design your clock distribution ciruitry first to avoid clock skew.

The rules above can be bent or even broken and very large designs may use a multiphase clock. Use of digital phase locked loops can provide low skew clocks at any place across a million chip ASIC. It is common to use the rising edge of the clock most of the time but add isolation latches clocked by the falling edge of the clock to get the “soldiers marching in step”. In fact isolation latches or pipelines are used to separate blocks in a partitioned design.

Not withstanding the above there is a simple technique called SCAN PATH TESTING that can provide easy access to all parts of a chip, or for that matter, all parts of an embedded Printed circuit board. Provided a chip is designed with the guidelines above then it may be thought of as a collection of blocks, where each block is a combinational circuit of finite state machine. The FSMs are themselves combinational blocks and banks of flipflops. The method is best suited to D-type flipflops because of their simplicity. The technique has a fixed, deterministic cost and this is much better than starting to add extra test circuitry in an ad hoc fashion to improve controllability and observability.

SCAN PATH TESTING This adds 3 gates to every flipflop, requires 3 or 4 extra pins and adds extra routing of 3 tracks around the chip. The routing may add 15% to the chip area. But at least these costs are guaranteed maximums. The disadvantage is that Scan path testing is slow. The cost guarantee outweighs the disadvantages.

A FSM is comprised of a “NEXT STATE DECODER” and a bank of D- type flipflops. An optional combinational circuit may be used to form the outputs. For this method to work most conveniently we would “capture” external inputs into a D-type register as soon as possible. The method requires us to swop every simple D-type with a “SCAN PATH CELL” and these are then connected together with circuitry which is not used during NORMAL operation of the chip. There are quite a few designs of scan path cells, many silicon vendors have their own designs using dual clocks, transparent latches of level sensitive scan cells to avoid a performance penalty or to minimise silicon area. We will only consider the scan cell below, it only works if all flip-flops are already clocked from a common clock; if this was not the case then an extra multiplexer is added to switch the clock pin of the flip-flop and extra care taken in the testing sequences.

NSD 1 NSD 2 OD Now consider the diagram below, a larger digital system can be thought of as a number of FSMs interconnected. The scan cells are interconnected as shown, as a huge snakelike shift register. The basis if scan path testing is to use this shift register to gain controllability and observability of all combinational circuits within the chip. Thus we can apply combinational tests and access the combinational circuits response.

For example the diagram above shows a 3 flip-flop FSM and a 2 bit FSM. We can shift in a 2 bit test vector for FSM 2 and a 3 bit test vector for FSM 1. The process is Switch the muxes from normal to test. Clock in 5 bits on the DIN pin Switch the muxes to normal Clock once; the vectors are applied And the answer is latched into the f/fs Switch the muxes to test Clock 5 times; note DOUT, the answer (Actually you could clock in 5 new bits whilst reading the previous 5 bit answer.) Perhaps 7 tests will suffice, the 5 one hot codes, the all zeroes and all ones. By overlapping the clocks we need 7*(5+1) + 5 = 47 clock cycles to test the chip.

Boundary Scan

Boundary-Scan Components Chip Core TAP Controller I O

Boundary Scan Interface Boundary scan is accessed through five pins  TCK: test clock  TMS: test mode select  TDI: test data in  TDO: test data out  TRST*:test reset (optional) Chips with internal scan chains can access the chains through boundary scan for unified test strategy.

TDI TMS TCK TDO Various TAP Outputs: UpdateDR, CaptureDR, TriState, Etc. Finite State Machine Instruction Register Bypass Reg. Instruction Decode SO SI TAP Controller Components

Boundary Scan Standard has become absolutely essential --  Not possible to test multi-chip modules at all without it  Supports BIST, external testing with Automatic Test Equipment, and boundary scan chain reconfiguration as BIST pattern generator and response compacter  Now getting widespread usage

A Testability Standard Allows test instructions and test data to be serially fed into a CUT  Allows reading out of test results  Allows RUNBIST command as an instruction  Too many shifts to shift in external tests JTAG can operate at chip, PCB, & system levels Separate testing of:  System interconnects  Components

Instruction Register Loading with JTAG

System View of Interconnect

Boundary Scan Chain View

Elementary Boundary Scan Cell

Serial Board / MCM Scan

Boundary Scan Standard

Parallel Board / MCM Scan

PRSG Linear Feedback Shift Register  Shift register with input taken from XOR of state  Pseudo-Random Sequence Generator 111 (repeats) QStep

BILBO Built-in Logic Block Observer  Combine scan with PRSG & signature analysis

Built-in Self-test BIST  Built-in self-test lets blocks test themselves Generate pseudo-random inputs to comb. logic Combine outputs into a syndrome With high probability, block is fault-free if it produces the expected syndrome

Self Testing Using MISR and Parallel SRSG (STUMPS) PRPGPRPG MISRMISR SCAN PATH PIs POs CUT

45 IEEE JTAG Boundary Scan Standard Motivation Bed-of-nails tester System view of boundary scan hardware Elementary scan cell Test Access Port (TAP) controller Boundary scan instructions Summary

46 Bed-of-nails printed circuit board tester gone  We put components on both sides of PCB & replaced DIPs with flat packs to reduce inductance Nails would hit components  Reduced spacing between PCB wires Nails would short the wires  PCB Tester must be replaced with built-in test delivery system -- JTAG does that  Need standard System Test Port and Bus  Integrate components from different vendors Test bus identical for various components One chip has test hardware for other chips Motivation for Standard

47 Purpose of Standard Lets test instructions and test data be serially fed into a component-under-test (CUT)  Allows reading out of test results  Allows RUNBIST command as an instruction Too many shifts to shift in external tests JTAG can operate at chip, PCB, & system levels Allows control of tri-state signals during testing Lets other chips collect responses from CUT Lets system interconnect be tested separately from components Lets components be tested separately from wires

48 Tap Controller Signals Test Access Port (TAP) includes these signals:  Test Clock Input (TCK) -- Clock for test logic Can run at different rate from system clock  Test Mode Select (TMS) -- Switches system from functional to test mode  Test Data Input (TDI) -- Accepts serial test data and instructions -- used to shift in vectors or one of many test instructions  Test Data Output (TDO) -- Serially shifts out test results captured in boundary scan chain (or device ID or other internal registers)  Test Reset (TRST) -- Optional asynchronous TAP controller reset

49 Optional / Required Instructions Instruction BYPASS CLAMP EXTEST HIGHZ IDCODE INTEST RUNBIST SAMPLE / PRELOAD USERCODE Mandatory Optional Mandatory Optional Mandatory Optional

50 BYPASS Instruction Purpose: Bypasses scan chain with 1-bit register

51 Summary Boundary Scan Standard has become absolutely essential --  No longer possible to test printed circuit boards with bed-of-nails tester  Not possible to test multi-chip modules at all without it  Supports BIST, external testing with Automatic Test Equipment, and boundary scan chain reconfiguration as BIST pattern generator and response compacter  Now getting widespread usage