ECE 512 Digital System Testing and Design for Testability. Model Solutions for Assignment #3

Similar documents
Logic BIST. Sungho Kang Yonsei University

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

UMBC. At the system level, DFT includes boundary scan and analog test bus. The DFT techniques discussed focus on improving testability of SAFs.

Digital Circuits. 1. Inputs & Outputs are quantized at two levels. 2. Binary arithmetic, only digits are 0 & 1. Position indicates power of 2.

Sequential Circuit Analysis

Hardware testing and design for testability. EE 3610 Digital Systems

Synchronous Sequential Logic

EECS150 - Digital Design Lecture 26 - Faults and Error Correction. Types of Faults in Digital Designs

Problem Set 9 Solutions

Chapter 4. Sequential Logic Circuits

Design for Testability

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

Design for Testability

Sequential Logic Circuits

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EECS150 - Digital Design Lecture 26 Error Correction Codes, Linear Feedback Shift Registers (LFSRs)

Lecture 14 Finite state machines

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

The Design Procedure. Output Equation Determination - Derive output equations from the state table

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

1 Introduction. 2 Calculation of the output signal

Maximum Length Linear Feedback Shift Registers

IHS 3: Test of Digital Systems R.Ubar, A. Jutman, H-D. Wuttke

Chapter 2 Fault Modeling

Gates and Flip-Flops

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

EECS150 - Digital Design Lecture 26 Faults and Error Correction. Recap

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of

Digital Electronics Final Examination. Part A

Linear Finite State Machines 1. X. Sun E. Kontopidi M. Serra J. Muzio. Abstract

Different encodings generate different circuits

One-Dimensional Linear Hybrid Cellular Automata: Their Synthesis, Properties and Applications to Digital Circuits Testing

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

Designing Cellular Automata Structures using Quantum-dot Cellular Automata

Mealy & Moore Machines

Advanced Testing. EE5375 ADD II Prof. MacDonald

Q: Examine the relationship between X and the Next state. How would you describe this circuit? A: An inverter which is synched with a clock signal.

Built-In Test Generation for Synchronous Sequential Circuits

COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

Linear Feedback Shift Registers (LFSRs) 4-bit LFSR

PAST EXAM PAPER & MEMO N3 ABOUT THE QUESTION PAPERS:

Lecture 7: Logic design. Combinational logic circuits

ELCT201: DIGITAL LOGIC DESIGN

EECS150 - Digital Design Lecture 21 - Design Blocks

Design of Sequential Circuits

VLSI Design I. Defect Mechanisms and Fault Models

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

Fault Tolerance & Reliability CDA Chapter 2 Cyclic Polynomial Codes

CSE370 HW3 Solutions (Winter 2010)

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

COE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

CprE 281: Digital Logic

Outline. EECS Components and Design Techniques for Digital Systems. Lec 18 Error Coding. In the real world. Our beautiful digital world.

Boolean circuits. Lecture Definitions

Sequential Circuits Sequential circuits combinational circuits state gate delay

Chapter 5 Synchronous Sequential Logic

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

Audrey Ong 3/3/16. Homework 5. Figure 1 shows the state diagram of the sequencer that is to be implemented with D flipflops.

Boolean Logic Prof. James L. Frankel Harvard University. Version of 3:20 PM 29-Aug-2017 Copyright 2017, 2016 James L. Frankel. All rights reserved.

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

Using the NOT realization from the NAND, we can NOT the output of the NAND gate making it a NOT NOT AND or simply an AND gate.

How does the computer generate observations from various distributions specified after input analysis?

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Latches. October 13, 2003 Latches 1

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

Lab #10: Design of Finite State Machines

Introduction to Digital Logic

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Sequential Logic Worksheet

Learning Objectives:

EECS 312: Digital Integrated Circuits Midterm Exam 2 December 2010

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

Dr. Nicola Nicolici COE/EE2DI4 Midterm Test #2 Nov 22, 2006

Chapter 2 Combinational Logic Circuits

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

EGC221: Digital Logic Lab

EECS150 - Digital Design Lecture 27 - misc2

S.Y. Diploma : Sem. III [DE/ED/EI/EJ/EN/ET/EV/EX/IC/IE/IS/IU/MU] Principles of Digital Techniques

KUMARAGURU COLLEGE OF TECHNOLOGY COIMBATORE

Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4

The Linear-Feedback Shift Register

Overview. Multiplexor. cs281: Introduction to Computer Systems Lab02 Basic Combinational Circuits: The Mux and the Adder

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

Sequential vs. Combinational

ECE 2300 Digital Logic & Computer Organization

Introduction to VLSI Testing

CARNEGIE MELLON UNIVERSITY DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING DIGITAL INTEGRATED CIRCUITS FALL 2002

ELCT201: DIGITAL LOGIC DESIGN

DIAGNOSIS OF FAULT IN TESTABLE REVERSIBLE SEQUENTIAL CIRCUITS USING MULTIPLEXER CONSERVATIVE QUANTUM DOT CELLULAR AUTOMATA

FAULT MODELING. Chapter Defects, Errors, and Faults

The goal differs from prime factorization. Prime factorization would initialize all divisors to be prime numbers instead of integers*

CHAPTER * 6-2. a) 3-input NAND gate b) 4-input NOR gate * Pearson Education, Inc. a) F = (A + B) C D. b) G = (A + B) (C + D)

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI

Vidyalankar. S.E. Sem. III [EXTC] Digital System Design. Q.1 Solve following : [20] Q.1(a) Explain the following decimals in gray code form

Written reexam with solutions for IE1204/5 Digital Design Monday 14/

Additional Gates COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals

Lecture 17: Designing Sequential Systems Using Flip Flops

FPGA BASED DESIGN OF PARALLEL CRC GENERATION FOR HIGH SPEED APPLICATION

ELE2120 Digital Circuits and Systems. Tutorial Note 10

Transcription:

ECE 512 Digital System Testing and Design for Testability Model Solutions for Assignment #3 14.1) In a fault-free instance of the circuit in Fig. 14.15, holding the input low for two clock cycles should keep the output at 0; holding the input high for two clock cycles should produce outputs of 0 followed by 1, or 1 followed by 0. In the presence of the indicated stuck-at fault, the output of the circuit will keep on toggling between 0 and 1, regardless of the input signal that is applied. A test for the fault is therefore to hold the input low, and to verify that the output does not toggle. This test will therefore take two clock cycles since the initial state of the flip-flop is unknown. To make the test deterministic, the circuit must be modified to all the initial flip-flop state to be forced. This could be done by inserting a 2-input AND gate just before the D input of the flip-flop, with the second input controlled by a new input test signal. In normal mode, this new input would be held at 1; to force initialization, this input would be held at 0 while the clock is pulsed once. A second modification would be to use a flip-flop with a reset input signal. 14.3) Scan test length = (n comb + 3) n sff + 4 (14.1) Gate overhead of scan = ( (4 x n sff ) / n g ) x 100% (14.2) Now assume that the flip-flops are split into n chain scan chains of equal length, which can be accessed in parallel with no time penalty. The scan chain then directly reduces in effective length to n g / n chain. So we have the following new equations: New scan test length = (n comb + 3) (n sff / n chain ) + 4 There should be minimal extra area since the number of scannable flip-flops has not changed, and since the 20 scan chains can be accessed using the existing 20 primary inputs and 20 primary outputs. The test enable input must be present regardless of the number of scan chains. There will be extra routing required to connect the 9 additional scan chains to the input and output pins, but the additional required area is likely to be small if one assumes a modern CMOS process with multiple layers of metal interconnect as well as over-the-cell routing. So equation (14.2) stays the same. 14.4) Original chip specs: n g = 100,000 gates & n sff = 2,000 flip-flops & n comb = 500 test vectors Scan test length = (n comb + 3) n sff + 4 = (500 + 3) 2000 + 4 = 1,006,004 clock periods (assuming only one scan chain)

Gate overhead of scan = ( (4 x n sff ) / n g ) x 100% = ( (4 x 2000) / 100000) x 100 % = 8% Now assume that the scan chain is broken up into 20 equal-length parallel scan chains. Each scan chain now has 100 flip-flops. Scan test length = (n comb + 3) (n sff / nchain) + 4 = (500 + 3) 100 + 4 = 50,304 clock periods (assuming 20 scan chains) The area overhead should be about the same, according the earlier argument. 15.4) The so-called standard LFSR has an external XOR gate network. We are given that the characteristic polynomial is f(x) = x 8 + x 7 + x 2 + 1. Let the outputs of the eight LFSR flipflops, in the (rightward) direction of shifting, be labeled x 7, x 6,..., x 0. According to f(x), the leftmost flip-flop input is determined by the XOR of x 7, x 2 and x 0. The first eight patterns, starting with an initial pattern of 00000001 are given below. The bold labels indicate which values must be XORed together to obtain the next value of x 7. The new values of x 6,..., x 0 are obtained by right shifting the old values of x 7,..., x 1. X7 X6 X5 X4 X3 X2 X1 X0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 15.5) The so-called modular LFSR has internal XOR gates located in between some of the flipflops. We are given that the characteristic polynomial is f(x) = x 3 + x + 1 = 1 + x + x 3. Let the outputs of the three LFSR flip-flops, in the (rightward) direction of shifting, be labeled x 0, x 1, and x 2. According to the definition of such LFSRs, the new value of x 0 is simply the old value of x 2 ; and the new value of x 1 is the XOR of the old value of x 0 and the old value of x 2 ; and all other flip-flop states are obtained by right-shifting. The first eight patterns, starting with an initial pattern of (x 0, x 1, x 2 ) = (1,0,0) are given below. X0 <- X2 X1 <- X0 XOR X2 X2 <- X1 X0 X1 X2 X1 1 0 0 0 1 0 1 = 1 XOR 0

0 0 1 0 = 0 XOR 0 1 1 0 1 = 0 XOR 1 0 1 1 1 = 1 XOR 0 1 1 1 1 = 0 XOR 1 1 0 1 0 = 1 XOR 1 1 0 0 0 = 1 XOR 1 Note that all seven nonzero patterns are generated because the characteristic polynomial f(x) happens to be primitive. 15.7) The generated unweighted and weighted outputs from the LFSR in Fig. 15.15 are as follows: X7 X6 X5 X4 X3 X2 X1 X0=1/2 1/4 1/8 1/16 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 It is helpful to construct a truth table which shows the output of the good 4-input XOR circuit as well as the outputs of all of the considered faulty circuits. In the following table node g is the XOR of inputs a and b, and node h is the XOR of inputs c and d. a b c d g h f a0 a1 b0 b1 c0 c1 d0 d1 g0 g1 h0 h1 f0 f1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1

1 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 The shortest possible set of test vectors can be found by selecting the minimum number of rows in the truth table that ensure that each faulty behaviour is observed at least once (i.e., the output differs from the good output). Certainly no more than four vectors are required since 0101, 1010, 0001 and 0100 together detect all of the faults. However, the vectors must be generated by the LFSR, and the most effective test vectors may not be generated very soon. If one makes the connections a=x5, b=x7, c=x6 and d=x0 then all of the faults are detected in seven clocks cycles using the above LFSR. The weights are not particularly useful in this circuit since there are no high fan-in AND or OR gates. It may be possible to detect all of the faults in fewer than seven clock cycles, but it would take quite a bit of trial and error to find a better connection from the LFSR outputs to the a, b, c and d inputs of the circuit under test. 15.9) A rule 150 cellular automaton determines the next state of a flip-flop as the XOR of the old state of the same flip-flip along with the states of the left and right neighbours. There are several choices for handling the leftmost and rightmost flip-flops. One choice is to include permanent 0 signals from the missing neighbours (this is the approach illustrated in Fig. 15.17 in the textbook). Another choice is to treat the leftmost and rightmost flip-flops as neighbours. If one seeds these two possible designs with 0001 then one obtains the following two states sequence: 0s at the ends A and D are neighbours A B C D A B C D 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 Given the characteristic polynomial f(x) = 1 + x 4, both a standard (external XOR) LFSR and a modular (internal XOR) LFSR have the same structure. This LFSR has no taps, and has a feedback wire that routes the value of the rightmost flip-flop back to the leftmost flip-flop. The resulting state sequences are given below: External XOR Internal XOR

X3 X2 X1 X0 X0 X1 X2 X3 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 Note that both LFSR sequences only go through four distinct states before repeating. The state sequence would be extended to 15 states, without repetition, if the LFSRs were to be based on a primitive characteristic polynomial instead of f(x) = 1 + x 4. In this example, the first of the two cellular automata (CA) is slightly better than the two LFSRs because the state states are more random and the state sequence contains six distinct states (as opposed to four distinct states in the LFSRs). The second CA design, however, produces only two distinct states, and is therefore inferior to the LFSRs. The moral of this story is that the design of the LFSRs and CAs must be done carefully to ensure that a maximum-length state sequence is obtained. 15.10) The maximum-length LFSR from question 15.5 can be readily modified to solve this problem. An inverter can be added to the output of flip-flip x1. This will remap the states a bit; in particular, state 010 will be mapped to state 000. State 010 will disappear from the sequence (but we are told that this vector is not useful for detecting any faults). All of the other nonzero states will still be present, but will appear in a different order from before. 15.11) Error vector e has an error probability p = 0.3. The number of bits in the LFSR that is used for response compaction is given as k = 15. In that case, the probability of aliasing lies between the lower bound p k = 0.3 15 = 0.000000014348907 = 0.0143 ppm, and the upper bound (1 - p) k = 0.7 15 = 0.00474756151 = 4747.56 ppm. Obviously this is a very wide range of possible aliasing probabilities. The range would be narrower if p were to be closer to 0.5. Also, the aliasing probability is lowered by simply increasing the LFSR width k. 15.14) Solution omitted. 15.15) Solution omitted.