EECS 579: Logic and Fault Simulation. Simulation

Similar documents
Testability. Shaahin Hessabi. Sharif University of Technology. Adapted from the presentation prepared by book authors.

VLSI Design Verification and Test Simulation CMPE 646. Specification. Design(netlist) True-value Simulator

Outline Fault Simulation

ECE 1767 University of Toronto

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Hardware testing and design for testability. EE 3610 Digital Systems

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

Introduction to VLSI Testing

Advanced Testing. EE5375 ADD II Prof. MacDonald

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Logic BIST. Sungho Kang Yonsei University

Lecture 7: Logic design. Combinational logic circuits

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

Single Stuck-At Fault Model Other Fault Models Redundancy and Untestable Faults Fault Equivalence and Fault Dominance Method of Boolean Difference

Fault Modeling. 李昆忠 Kuen-Jong Lee. Dept. of Electrical Engineering National Cheng-Kung University Tainan, Taiwan. VLSI Testing Class

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

ECE 3060 VLSI and Advanced Digital Design. Testing

S No. Questions Bloom s Taxonomy Level UNIT-I

Shift Register Counters

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

Clock signal in digital circuit is responsible for synchronizing the transfer to the data between processing elements.

Problem Set 9 Solutions

Design for Testability

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

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters

Fundamentals of Digital Design

ELCT201: DIGITAL LOGIC DESIGN

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

Adders, subtractors comparators, multipliers and other ALU elements

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

EE115C Winter 2017 Digital Electronic Circuits. Lecture 19: Timing Analysis

CS470: Computer Architecture. AMD Quad Core

Example: vending machine

Fault Modeling. Fault Modeling Outline

Basic Computer Organization and Design Part 3/3

ELEN Electronique numérique

CSE370: Introduction to Digital Design

ALU A functional unit

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1

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

T st Cost Reduction LG Electronics Lee Y, ong LG Electronics 2009

Programmable Logic Devices

NTE74177 Integrated Circuit TTL 35Mhz Presettable Binary Counter/Latch


Counters. We ll look at different kinds of counters and discuss how to build them

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

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

Latches. October 13, 2003 Latches 1

NTE74176 Integrated Circuit TTL 35Mhz Presettable Decade Counter/Latch

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

Adders, subtractors comparators, multipliers and other ALU elements

Fundamentals of Boolean Algebra

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

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

Chapter 2 Fault Modeling

Digital Control of Electric Drives

MOSIS REPORT. Spring MOSIS Report 1. MOSIS Report 2. MOSIS Report 3

EE115C Winter 2017 Digital Electronic Circuits. Lecture 6: Power Consumption

VLSI Design I. Defect Mechanisms and Fault Models

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

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

Memory, Latches, & Registers

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

Sequential Logic Circuits

Design for Testability

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic

Roger L. Tokheim. Chapter 8 Counters Glencoe/McGraw-Hill

3 Logic Function Realization with MSI Circuits

ELCT201: DIGITAL LOGIC DESIGN

EECS150 - Digital Design Lecture 23 - FSMs & Counters

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

NTE4035B Integrated Circuit CMOS, 4 Bit Parallel In/Parallel Out Shift Register

EEE2135 Digital Logic Design

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

Design for Manufacturability and Power Estimation. Physical issues verification (DSM)

Lecture 5 Fault Modeling

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

Lecture 10: Synchronous Sequential Circuits Design

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

ECE321 Electronics I

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

EECS 579: Test Generation 4. Test Generation System

Vidyalankar S.E. Sem. III [EXTC] Digital Electronics Prelim Question Paper Solution ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD = B

FAULT MODELING. Chapter Defects, Errors, and Faults

CHAPTER 9: SEQUENTIAL CIRCUITS

Topics. Dynamic CMOS Sequential Design Memory and Control. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Sequential vs. Combinational

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

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

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

EE141Microelettronica. CMOS Logic

Transcription:

EECS 579: Logic and Fault Simulation Simulation: Use of computer software models to verify correctness Fault Simulation: Use of simulation for fault analysis and ATPG Circuit description Input data for C Simulation run commands Model C of target circuit Simulation control Host computer Output data for C Performance data for C Emulation: Hardware-assisted simulation using FPGA-based emulators John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page Simulation Uses Reduce/eliminate need to build physical prototypes Alternative design comparison Functional design verification Timing/performance design verification Fault analysis and test generation Simulation Levels Analog (continuous) ELECTRIC CIRCUIT DEVICE/ LAYOUT Level of detail Digital (discrete) SYSTEM (BEHAVIORAL) REGISTER- TRANSFER LOGIC (GATE) SWITCH Simulation cost John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 2

Logic Simulation Component types Gates, flip-flops, switches, macro elements Signal accuracy,, X (unknown) plus a few others Timing accuracy (delay models) Transport: unit, nominal Rise/fall delay Simulator structures Compiled-code (compiler-driven) Non-compiled event-driven John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 3 Example Logic Simulation B CLK A t t +25 t 5 ns ns t +5 t + J C K Setup time Hold time t +5 Z6 Z7 Z8 Event John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 4

Compiled-Code Simulation Circuit model is executable code. Circuit elements are program routines linked toreflect circuit structure Simulation steps Levelize and code circuit Compile and execute Characteristics All signals are evaluated in all time periods Fast simulation of simpler circuits Inefficient with complex signal/timing Frequent recompilation often necessary John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 5 Compiled-Code Simulation (Code to compute x) Level i- x y Level i NAND gate G z (Code to compute y) LDA x Load x from memory into CPU accumulator A AND y Compute A.y; put in A NOT Compute complement of A STA z Store A in z (To next element) John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 6

Compiled-Code Simulator procedure compiled_sim Read circuit description; Break feedback and levelize circuit; Generate code for gates; Initialize signal values; for each input signal vector do for each logic level do for each gate do execute gate code (simulate); end end Output desired results; end end procedure John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 7 Event-Driven Simulation Circuit model is a data structure consisting of set of linked tables specifying components, their attributes, and connections Separate simulation control program processes the circuit Characteristics Signal timing calculations are event-directed Handles complex signal/timing models Circuit models are easy to change Supports forward/backward tracing Slower for large, simple models John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 8

Event-Driven Simulation A B G G2 CLK J C K FF Z6 Z7 Z8 Name Type Inputs Outputs Delay Other attributes G NAND A,B FF-J, Z6,5... G2 NOT A FF-K,... FF JKFF G, CLK, G2 Z7, Z8... A PI G,G2 Z6 PO G etc. John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 9 Event-Driven Simulation Name Type Fan-in Fan-out Fan-in Fan-out Delay Other attributes list list G NAND P P2 2 2,5... G2 NOT P3 P4,... FF JKFF P5 P6 2 2... A PI P7 2 Z6 PO P8 etc. P P2 P3 P4 P5 A B FF- J Z6 A FF- K G CLK G2 etc. Fan-in/ fan-out table John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page

Example Event-Driven Simulation B CLK A t t +25 t 5 ns ns t +5 t + J C K Setup time Hold time t +5 Z6 Z7 Z8 Event John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page Event-Driven Simulator procedure table_sim Read circuit description; Construct circuit data structures (tables); Initialize signal values and event time t repeat {with set of current events} Select event and examine its fanout list; while (unevaluated fanout signals remain) do Evaluate and schedule fanout events; Output desired results; end until (no more current events) Increment t to next event time; end procedure John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 2

Time Simulation Time driven: simulate entire circuit at every time step Event driven: emulate active parts of circuit only when a signal change or event occurs. Event-Driven Simulation. Simulate the current event 2. Scan the circuit for implied events and schedule them 3. Advance simulation time to the next event Event scheduling methods Indexed array A[i]: Given A[current], go to A[current + T] Fast, large storage needs (static allocation) Linear list (linked list) Slow, efficient storage (dynamic allocation) Timing wheel: indexed-list that trades off speed and storage John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 3 Linked List Event Scheduling t Time Line Value Link X P P4 P Y4 X P7 - X2 Other events at t = P7 5 Y5 - - John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 4

Timing Wheel Time Link 2 3 Event Scheduling Event data - - - Event data Avoids long searches but is subject to overflow John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 5 Fault Simulation Definition Simulation designed for fault analysis and ATPG Applications Evaluate effects, e.g., criticality of given faults Evaluate coverage of a given test pattern set To aid in test pattern set generation To construct fault dictionaries To estimate manufacturing yield DL = Y d DL = probability of shipping a defective IC Y = probability that a manufactured IC is OK d = defect coverage of testing approximated by fault coverage John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 6

Fault Simulation Fault Models Single stuck-line fault model is standard: any logic line may be stuck at or ; the logic elements are fault free Others: delay faults, short/open faults, etc. Fault Simulation Methods Serial: one fault is simulated at a time Parallel: n faults are simulated at a time Parallel method Deductive simulation Concurrent simulation etc. Statistical: fault sampling John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 7 Fault Simulation Parallel Method Each n-bit word in host computer stores m k-bit values, n > mk Exploits logical instruction set of host Relatively inflexible and usually requires multiple passes x x y To Evaluate z z 4 3 2 z/ z/ y/ x/ Fault positions 4 3 2 4 3 2 Mask I z : fault positions for z Mask S z : fault values Basic evaluation : z = x.y Fault insertion : z* = z.i z + I z.s z John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 8

Deductive Method Fault Simulation The signal on each simulated line is a list L of all faults causing errors on that line. All faults can be simulated in one pass L a L b L k a b k... F z L a = list of faults causing errors on line a L a = list of faults not causing errors on line a L a L b L c a b c d L d = {d/} L a L b L c John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 9 Example Deductive Fault Simulation a b d i h c e f L a = {a }; L b = {b }; L d = {d } L c = L a L b {c } = {dc } L e = L c L d {e } = {c,d,e } L f = {f }; L g = L e {g } = {c,d,e,g } L h = {h }; L i = {i }; L d = {d } L j = L e {j } = {c,d,e,j } g j l k n m p John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 2

Deductive Fault Simulation Example (cont d) a b d i h c e f g j L k = L i L h {k }= {i,h,k } L l = L j {l }= {c,d,e,j,l } L m = L k L l {m } = {i,h,k,m } L n = L g L f {n } = {c,d,e,g,n } L p = L m L n {p } = {c,d,e,g,n,i,h,k,m,p } l k n m p John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 2 Approach Emulation Map target design into a network of field-programmable gate array (FPGA) ICs The programmed FPGA forms a hardware prototype of the design and can run at effective clock speed of, say, 5 MHz The emulated circuit can be instrumented as a logic analyzer to capture normal or faulty behavior Drawback Limited ability to do performance measurement John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 22

FPGA: Xilinx 3 series Emulation Interconnection switch box Interconnections Configurable logic block (cell) (a) Logic block Programmable connections (b) John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 23 Emulation System Emulation Host computer Host interface FPGA FPGA FPGA... FPGA FPGA Config. system Programmable interconnect John P. Hayes University of Michigan EECS 579 Fall 2 Lecture 23: Page 24