Digital Testing: Scan-Path Design

Slides:



Advertisements
Similar presentations
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 23/19alt1 Lecture 23 Design for Testability (DFT): Full-Scan (Lecture 19alt in the Alternative Sequence)
Advertisements

Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
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.
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.
1 A Random Access Scan Architecture to Reduce Hardware Overhead Anand S. Mudlapur Vishwani D. Agrawal Adit D. Singh Department of Electrical and Computer.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 13/12alt1 Lecture 13 Sequential Circuit ATPG Time-Frame Expansion (Lecture 12alt in the Alternative.
1 Lecture 10 Sequential Circuit ATPG Time-Frame Expansion n Problem of sequential circuit ATPG n Time-frame expansion n Nine-valued logic n ATPG implementation.
Mar. 23, 2001VLSI Test: Bushnell-Agrawal/Lecture 201 Lecture 20 Delay Test n Delay test definition n Circuit delays and event propagation n Path-delay.
MICROELETTRONICA Sequential circuits Lection 7.
1 Chapter Design For Testability The Scan-Path Technique The testing problems with sequential circuit can be overcome by two properties: 1.The.
Dec 21, Design for Testability Virendra Singh Indian Institute of Science Bangalore {computer, ieee}.org IEP on Digital System.
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.
1 Lecture 20 Delay Test n Delay test definition n Circuit delays and event propagation n Path-delay tests  Non-robust test  Robust test  Five-valued.
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
Practically Realizing Random Access Scan By Anand Mudlapur ECE Dept. Auburn University.
ELEN 468 Lecture 241 ELEN 468 Advanced Logic Design Lecture 24 Design for Testability.
Practically Realizing Random Access Scan Anand S. Mudlapur Department of Electrical and Computer Engineering Auburn University, AL USA.
Vishwani D. Agrawal James J. Danaher Professor
January 16, '02Agrawal: Delay testing1 Delay Testing of Digital Circuits Vishwani D. Agrawal Agere Systems, Murray Hill, NJ USA
Partial Scan Design with Guaranteed Combinational ATPG Vishwani D. Agrawal Agere Systems, Circuits and Systems Research Lab Murray Hill, NJ 07974, USA.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 20alt1 Lecture 20alt DFT: Partial, Random-Access & Boundary Scan n Definition n Partial-scan architecture.
Oct. 5, 2001Agrawal, Kim and Saluja1 Partial Scan Design With Guaranteed Combinational ATPG Vishwani D. Agrawal Agere Systems Processor Architectures and.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 241 Lecture 24 Design for Testability (DFT): Partial-Scan & Scan Variations n Definition n Partial-scan.
Sequential Testing Two choices n Make all flip-flops observable by putting them into a scan chain and using scan latches o Becomes combinational testing.
ELEN 468 Lecture 251 ELEN 468 Advanced Logic Design Lecture 25 Built-in Self Test.
Design for Testability
BIST vs. ATPG.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Design for Testability
TOPIC : Design of Scan Storage Cells UNIT 4 : Design for testability Module 4.3 Scan Architectures and Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Design for Testability (DFT) - 2.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
Modern VLSI Design 3e: Chapter 5,6 Copyright  2002 Prentice Hall PTR Adapted by Yunsi Fei Topics n Sequential machine (§5.2, §5.3) n FSM construction.
CSE477 L28 DFT.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 28: Design for Test Mary Jane Irwin ( )
10/14/2015 Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Testability Measures.
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
Copyright 2001, Agrawal & BushnellLecture 6: Sequential ATPG1 VLSI Testing Lecture 6: Sequential ATPG n Problem of sequential circuit ATPG n Time-frame.
Ch.5 Logic Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology 1.
Power Problems in VLSI Circuit Testing Keynote Talk Vishwani D. Agrawal James J. Danaher Professor Electrical and Computer Engineering Auburn University,
November 25Asian Test Symposium 2008, Nov 24-27, Sapporo, Japan1 Sequential Circuit BIST Synthesis using Spectrum and Noise from ATPG Patterns Nitin Yogi.
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
VLSI Testing Lecture 14: Built-In Self-Test
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)
Definition Partial-scan architecture Historical background
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Timing Analysis 11/21/2018.
VLSI Testing Lecture 8: Sequential ATPG
Pre-Computed Asynchronous Scan Invited Talk
Design for Testability
VLSI Testing Lecture 9: Delay Test
VLSI Testing Lecture 7: Delay Test
Lecture 26 Logic BIST Architectures
Low Power Digital Design
Manufacturing Testing
VLSI Testing Lecture 13: DFT and Scan
Test Data Compression for Scan-Based Testing
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
A Random Access Scan Architecture to Reduce Hardware Overhead
Presentation transcript:

Digital Testing: Scan-Path Design 4/19/2017 Based on text by S. Mourad "Priciples of Electronic Systems"

Outline Problems with sequential testing What is scan Types of scan Types of storage devices Scan Architectures Cost of Scan Partial Scan

Problems with Sequential Machine Testing Complexity of testing sequential circuits due to feedback loops placement of the circuit in a known state high chance for hazard, essential hazard Timing problems

The Scan-path Technique Scan-path design is to reduce test generation complexity for circuit containing storage devices and feedback path with combinational logic The philosophy is to divide & conquer with the purpose to : 1. Set any internal state easily 2. Observe any state through a distinguishing sequence

What is Scan Design This DFT technique is used mainly for testable synchronous circuit We assume the use of D-flip-flops only A mux is placed at the input of each flip-flop in such a way that all flip-flops can be connected in a shift register for one mux selection and to work in a normal mode in the other

Adding Scan Structure SFF Combinational logic PI PO SCANOUT SCANIN TC or TCK SFFs (scan Flip-flops) Not shown: CK Connect the SFF in a shift register and test them Test the combinational part

Testing strategy Principle of scan path Each input to the FF is considered an output of the combinatorial circuit each output of the FF is an input to the circuit

Testing strategy Example: A realization for the double-throw switch Internal state can be determined via the scan-out output.

The procedure for circuit testing : 1. Set c =1 to switch the circuit to shift register mode 2. Check operation as a shift register by using scan-in inputs , scan-out output and the clock 3. Set the initial state of the shift register 4. Set c = 0 to return to normal mode 5. Apply test input pattern to the combinational logic 6. Set c=1 to return to shift register mode 7. Shift out the final state while setting the starting state for the next test 8. Go to step 4.

Testing the Combinational Part Repeat until all patterns are applied. a. Set SE = 1, shift in the initial values on the flip-flops. (These are the signals at the output of the latches for the first test pattern.) b. SE = 0, apply a pattern at the primary inputs. c. Clock the circuit once and observe the results at the primary outputs. d. Clock the circuit M times. End repeat.

An Example

Inserting the Muxes

Types of Storage Devices Multiplexed input flip-flop Two-port flip-flop works with two nonoverlapping clocks Latch-based Scan Design: requires 2-latches clocked with non-overlapping clocks 3-latch clocked with three phases

Scan Design Architectures Several architectures: Multiplexed flip-flops design Level-sensitive scan design Scan set scan design Derivative of scan design: Parallel scan chains Partial scan

Level Sensitive Scan Design LSSD (IBM) Level sensitive means that state changes in FSM are independent of delays nor order of changes in input signals (if inputs are set to new values) Scan is ability to shift into or out of any state All internal storage is implemented using hazard free polarity-hold switches

Level-sensitive Latch The latch works with the 3 phases A, B and C For normal operation, clocks B and C For shift operation, clocks B and A Two-port flip-flop works with two non-overlapping clocks L1 (b) L2 C D A B SCAN-IN

Polarity Hold Latch (IBM)

LSSD design rules Storage is implemented by hazard free polarity-hold latches latches controlled by non-overlapping clocks clock inputs to SRLs must be easily controlled clock feeds clock inputs only all SRL must be connected into shift registers input sensitizing conditions

Level-Sensitive Scan-Design Latch Master latch Slave latch D Q MCK Q SCK D flip-flop SD MCK Normal mode Logic overhead TCK MCK TCK Scan mode TCK SCK t

LSSD: Testing Repeat until all patterns are applied. a. Apply a pattern at the primary inputs. b. Clock C; then clock B once and observe the results at the primary outputs. c. Shift out the response Apply the initialization for the next pattern at SI. Clock A, then clock B, M times. Observe at the primary outputs and the SO pins.

Multiple Scan Chains Instead of stringing all the flip-flops or the latches in one shift register Partition them is several chains The advantages are: compatible with multiple clock designs Shorten test application time Simplify the stitching of the flip-flops But, may require extra pins

The Cost of Scan Design Area (muxes, extra routing) Additional I/Os Performance, delays within the flip-flops Heat when testing at speed

Multiple Scan Registers Scan flip-flops can be distributed among any number of shift registers, each having a separate scanin and scanout pin. Test sequence length is determined by the longest scan shift register. Just one test control (TC) pin is essential. PI/SCANIN PO/ SCANOUT Combinational logic M U X SFF SFF SFF TC CK

Scan Overhead IO pins: One pin necessary. Area overhead: Gate overhead = [4 nff/(ng+10nff)] x 100%, where ng = comb. gates; nff = flip-flops; Example ng = 100k gates, nff = 2k flip-flops, overhead = 6.7%. More accurate estimate must consider scan wiring and layout area. Performance overhead: Multiplexer delay added in combinational path; approx. two gate-delays. Flip-flop output loading due to one additional fanout; approx. 5-6%.

Hierarchical Scan Scan flip-flops are chained within subnetworks before chaining subnetworks. Advantages: Automatic scan insertion in netlist Circuit hierarchy preserved – helps in debugging and design changes Disadvantage: Non-optimum chip layout. Scanin Scanout SFF1 SFF4 SFF1 SFF3 Scanin Scanout SFF2 SFF3 SFF4 SFF2 Hierarchical netlist Flat layout

Scan Area Overhead Linear dimensions of active area: X = (C + S) / r X’ = (C + S + aS) / r Y’ = Y + ry = Y + Y(1--b) / T Area overhead X’Y’--XY = -------------- x 100% XY 1--b = [(1+as)(1+ -------) – 1] x 100% T = (as + ------- ) x 100% y = track dimension, wire width+separation C = total comb. cell width S = total non-scan FF cell width s = fractional FF cell area = S/(C+S) a = SFF cell width fractional increase r = number of cell rows or routing channels b = routing fraction in active area T = cell height in track dimension y

Example: Scan Layout 2,000-gate CMOS chip Fractional area under flip-flop cells, s = 0.478 Scan flip-flop (SFF) cell width increase, a = 0.25 Routing area fraction, b = 0.471 Cell height in routing tracks, T = 10 Calculated overhead = 17.24% Actual measured data: Scan implementation Area overhead Normalized clock rate ______________________________________________________________________ None 0.0 1.00 Hierarchical 16.93% 0.87 Optimum layout 11.90% 0.91

ATPG Example: S5378 Original 2,781 179 0.0% 4,603 35/49 70.0% 70.9% 0.0% 4,603 35/49 70.0% 70.9% 5,533 s 414 Full-scan 2,781 179 15.66% 4,603 214/228 99.1% 100.0% 5 s 585 105,662 Number of combinational gates Number of non-scan flip-flops (10 gates each) Number of scan flip-flops (14 gates each) Gate overhead Number of faults PI/PO for ATPG Fault coverage Fault efficiency CPU time on SUN Ultra II, 200MHz processor Number of ATPG vectors Scan sequence length

Design and verification Automated Scan Design Behavior, RTL, and logic Design and verification Rule violations Scan design rule audits Develop design Gate-level netlist Develop test Combinational ATPG Scan hardware insertion Combinational vectors Scan netlist Scan sequence and test program generation Chip layout: Scan- chain optimization, timing verification Scan chain order Design and test data for manufacturing Test program Mask data

Timing and Power Small delays in scan path and clock skew can cause race condition. Large delays in scan path require slower scan clock. Dynamic multiplexers: Skew between TC and TC signals can cause momentary shorting of D and SD inputs. Random signal activity in combinational circuit during scan can cause excessive power dissipation.

Scan Summary Scan is the most popular DFT technique: Advantages: Rule-based design Automated DFT hardware insertion Combinational ATPG Advantages: Design automation High fault coverage; helpful in diagnosis Hierarchical – scan-testable modules are easily combined into large scan-testable systems Moderate area (~10%) and speed (~5%) overhead Disadvantages: Large test data volume and long test time Basically a slow speed (DC) test

Overview: Partial-Scan & Scan Variations Definition Partial-scan architecture Scan flip-flop selection methods Cyclic and acyclic structures Partial-scan by cycle-breaking Scan variations Scan-hold flip-flop (SHFF) Summary

Partial-Scan Definition A subset of flip-flops is scanned. Objectives: Minimize area overhead and scan sequence length, yet achieve required fault coverage Exclude selected flip-flops from scan: Improve performance Allow limited scan design rule violations Allow automation: In scan flip-flop selection In test generation Shorter scan sequences

Partial-Scan Architecture PI PO Combinational circuit CK1 FF FF CK2 SCANOUT SFF TC SFF SCANIN

What & Why Partial Scan Design To scan only a subset of the flip-flops The circuit is easier to test by the sequential ATPG. The area overhead is minimized. The placement of the flip-flops is such that the interconnects are minimized. The delays are shortened.

Partial Scan Design To scan only a subset of the flip-flops How to select this subset? It is an NP-complete problem Heuristics on graph model to select the minimum feedback vertex set (MFVS) to transform the FSM into an acyclic graph

Scan Flip-Flop Selection Methods Testability measure based Use of SCOAP: limited success. Structure based: Cycle breaking Balanced structure Sometimes requires high scan percentage ATPG based: Use of combinational and sequential TG

Cycle Breaking Difficulties in ATPG S-graph construction and MFVS problem Test generation and test statistics Partial vs. full scan Partial-scan flip-flop

Difficulties in Seq. ATPG Poor initializability. Poor controllability/observability of state variables. Gate count, number of flip-flops, and sequential depth do not explain the problem. Cycles are mainly responsible for complexity. An ATPG experiment: Circuit Number of Number of Sequential ATPG Fault gates flip-flops depth CPU s coverage TLC 355 21 14* 1,247 89.01% Chip A 1,112 39 14 269 98.80% * Maximum number of flip-flops on a PI to PO path

Benchmark Circuits Circuit PI PO FF Gates Structure Sequential depth Total faults Detected faults Potentially detected faults Untestable faults Abandoned faults Fault coverage (%) Fault efficiency (%) Max. sequence length Total test vectors Gentest CPU s (Sparc 2) s1196 14 18 529 Cycle-free 4 1242 1239 3 99.8 100.0 313 10 s1238 14 18 508 Cycle-free 4 1355 1283 72 94.7 100.0 3 308 15 s1488 8 19 6 653 Cyclic -- 1486 1384 2 26 76 93.1 94.8 24 525 19941 s1494 8 19 6 647 Cyclic -- 1506 1379 2 30 97 91.6 93.4 28 559 19183

Relevant Results Theorem 8.1: A cycle-free circuit is always initializable. It is also initializable in the presence of any non-flip-flop fault. Theorem 8.2: Any non-flip-flop fault in a cycle-free circuit can be detected by at most dseq + 1 vectors (dseq is the sequential depth). ATPG complexity: To determine that a fault is untestable in a cyclic circuit, an ATPG program using nine-valued logic may have to analyze 9Nff time-frames, where Nff is the number of flip-flops in the circuit.

All faults are testable. See Example 8.6. Cycle-Free Example Circuit F2 2 F3 F1 3 Level = 1 F1 F2 F3 Level = 1 2 3 s - graph dseq = 3 All faults are testable. See Example 8.6.

A Partial-Scan Method Select a minimal set of flip-flops for scan to eliminate all cycles. Alternatively, to keep the overhead low only long cycles may be eliminated. In some circuits with a large number of self-loops, all cycles other than self-loops may be eliminated.

The MFVS Problem For a directed graph find a set of vertices with smallest cardinality such that the deletion of this vertex-set makes the graph acyclic. The minimum feedback vertex set (MFVS) problem is NP-complete; practical solutions use heuristics. A secondary objective of minimizing the depth of acyclic graph is useful. 3 3 L=3 1 2 4 5 6 1 2 4 5 6 L=2 L=1 s-graph A 6-flip-flop circuit

Test Generation Scan and non-scan flip-flops are controlled from separate clock PIs: Normal mode – Both clocks active Scan mode – Only scan clock active Seq. ATPG model: Scan flip-flops replaced by PI and PO Seq. ATPG program used for test generation Scan register test sequence, 001100…, of length nsff + 4 applied in the scan mode Each ATPG vector is preceded by a scan-in sequence to set scan flip-flop states A scan-out sequence is added at the end of each vector sequence Test length = (nATPG + 2) nsff + nATPG + 4 clocks

Partial Scan Example Circuit: TLC 355 gates 21 flip-flops Scan Max. cycle Depth* ATPG Fault sim. Fault ATPG Test seq. flip-flops length CPU s CPU s cov. vectors length 0 4 14 1,247 61 89.01% 805 805 4 2 10 157 11 95.90% 247 1,249 9 1 5 32 4 99.20% 136 1,382 10 1 3 13 4 100.00% 112 1,256 21 0 0 2 2 100.00% 52 1,190 * Cyclic paths ignored

Partial vs. Full Scan: S5378 Original 2,781 179 0.0% 4,603 35/49 70.0% 0.0% 4,603 35/49 70.0% 70.9% 5,533 s 414 Partial-scan 2,781 149 30 2.63% 4,603 65/79 93.7% 99.5% 727 s 1,117 34,691 Full-scan 2,781 179 15.66% 4,603 214/228 99.1% 100.0% 5 s 585 105,662 Number of combinational gates Number of non-scan flip-flops (10 gates each) Number of scan flip-flops (14 gates each) Gate overhead Number of faults PI/PO for ATPG Fault coverage Fault efficiency CPU time on SUN Ultra II 200MHz processor Number of ATPG vectors Scan sequence length

Flip-flop for Partial Scan Normal scan flip-flop (SFF) with multiplexer of the LSSD flip-flop is used. Scan flip-flops require a separate clock control: D Master latch Slave latch MUX Q SD TC SFF (Scan flip-flop) CK TC CK Normal mode Scan mode

Scan Variations Integrated and Isolated scan methods Scan path: NEC 1968 Serial scan: 1973 LSSD: IBM 1977 Scan set: Univac 1977 RAS: Fujitsu/Amdahl 1980

Random-Access Scan (RAS) PI PO Combinational logic RAM nff bits CK TC SCANIN SCANOUT SEL Address decoder Address scan register log2 nff bits ADDRESS ACK

RAS Flip-Flop (RAM Cell) D Q From comb. logic To comb. logic SD Scan flip-flop (SFF) SCANIN CK TC SCANOUT SEL

RAS Applications Logic test: Delay test: Advantage: Disadvantages: reduced test length. Delay test: Easy to generate single-input-change (SIC) delay tests. Advantage: RAS may be suitable for certain architecture, e.g., where memory is implemented as a RAM block. Disadvantages: Not suitable for random logic architecture High overhead – gates added to SFF, address decoder, address register, extra pins and routing

Scan-Hold Flip-Flop (SHFF) To SD of next SHFF D Q SD SFF TC Q CK HOLD The control input HOLD keeps the output steady at previous state of flip-flop. Applications: Reduce power dissipation during scan Isolate asynchronous parts during scan test Delay testing

Partial Scan Summary Partial-scan is a generalized scan method; scan can vary from 0 to 100%. Elimination of long cycles can improve testability via sequential ATPG. Elimination of all cycles and self-loops allows combinational ATPG. Partial-scan has lower overheads (area and delay) and reduced test length. Partial-scan allows limited violations of scan design rules, e.g., a flip-flop on a critical path may not be scanned.