Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.

Slides:



Advertisements
Similar presentations
EECE **** Embedded System Design
Advertisements

fakultät für informatik informatik 12 technische universität dortmund Test Peter Marwedel TU Dortmund Informatik 12 Germany Graphics: © Alexandra Nolte,
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
Modern VLSI Design 2e: Chapter 4 Copyright  1998 Prentice Hall PTR Topics n Switch networks. n Combinational testing.
Chapter 7: Testing Of Digital Circuits 1 Testing of Digital Circuits M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Chapter 4 Gates and Circuits.
Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Fault Simulation Vishwani D. Agrawal James J.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI Circuit Design Lecture 14 - Testing.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
Combinational Logic Design
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Simulation and test pattern generation (TPG) -
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Chapter 4 Gates and Circuits.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Switch networks. n Combinational testing.
Chapter 8 Problems Prof. Sin-Min Lee Department of Mathematics and Computer Science.
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.
Chapter 7. Testing of a digital circuit
Fall 2012: FCM 708 Foundation I Lecture 2 Prof. Shamik Sengupta
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Chapter 5B: Hardware/Software Codesign / Partitioning EECE **** Embedded System Design.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
University of Ottawa, SITE, 2008 VOICU GROZA - HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Validation.
Manufacture Testing of Digital Circuits
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Copyright 2001, Agrawal & BushnellLecture 6:Fault Simulation1 VLSI Testing Lecture 6: Fault Simulation Dr. Vishwani D. Agrawal James J. Danaher Professor.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
C OMBINATIONAL L OGIC D ESIGN 1 Eng.Maha AlGubali.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
ASIC Design Methodology
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
CS105 Introduction to Computer Concepts GATES and CIRCUITS
Test Iwan Sonjaya,MT 2014年 01 月 22 日 © Springer, 2010
Software Verification and Validation
Software Verification and Validation
Automatic Test Pattern Generation
Software Verification and Validation
COE 202 Introduction to Verilog
Presentation transcript:

Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design

- 2 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Validation

- 3 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Introduction (1) Definition: Validation is the process of checking whether or not a certain (possibly partial) design is appropriate for its purpose, meets all constraints and will perform as expected. Definition: Validation with mathematical rigor is called (formal) verification. Definition: Validation is the process of checking whether or not a certain (possibly partial) design is appropriate for its purpose, meets all constraints and will perform as expected. Definition: Validation with mathematical rigor is called (formal) verification.

- 4 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Introduction (2) Ideally: Formally verified tools transforming specifications into implementations („correctness by construction“). In practice: Non-verified tools and manual design steps  validation of each and every design required Unfortunately has to be done at intermediate steps and not just for the final design  Major effort required. Ideally: Formally verified tools transforming specifications into implementations („correctness by construction“). In practice: Non-verified tools and manual design steps  validation of each and every design required Unfortunately has to be done at intermediate steps and not just for the final design  Major effort required.

- 5 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Simulations  Simulations try to imitate the behavior of the real system on a (typically digital) computer.  Simulation of the functional behavior requires executable models.  Simulations can be performed at various levels.  Some non-functional properties (e.g. temperatures, EMC) can also be simulated.  Simulations try to imitate the behavior of the real system on a (typically digital) computer.  Simulation of the functional behavior requires executable models.  Simulations can be performed at various levels.  Some non-functional properties (e.g. temperatures, EMC) can also be simulated.

- 6 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Examples of thermal simulations (1) Encapsulated cryptographic coprocessor:

- 7 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Examples of thermal simulations (2) Microprocessor

- 8 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science EMC simulation Red: high emission Validation of EMC properties often done at the end of the design phase. Example: car engine controller

- 9 - Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Rapid prototyping/Emulation  Prototype: Embedded system that can be generated quickly and behaves very similar to the final product.  May be larger, more power consuming and have other properties that can be accepted in the validation phase  Can be built, for example, using FPGAs.  Prototype: Embedded system that can be generated quickly and behaves very similar to the final product.  May be larger, more power consuming and have other properties that can be accepted in the validation phase  Can be built, for example, using FPGAs. Example: Quickturn Cobalt System (1997), ~0.5M$ for 500kgate entry level system (no photo of more recent system)

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Example of a more recent commercial emulator [ ]

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Test pattern generation Test pattern generation typically  considers certain fault models and  generates patterns that enable a distinction between the faulty and the fault-free case.  Examples:  Boolean differences  D-Algorithm Test pattern generation typically  considers certain fault models and  generates patterns that enable a distinction between the faulty and the fault-free case.  Examples:  Boolean differences  D-Algorithm

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Fault models  stuck-at fault model (net permanently connected to ground or V dd )  stuck-open faults: for CMOS, open transistors can behave like memories  delay faults: circuit is functionally correct, but the delay is not.  stuck-at fault model (net permanently connected to ground or V dd )  stuck-open faults: for CMOS, open transistors can behave like memories  delay faults: circuit is functionally correct, but the delay is not. Hardware fault models include: /rassp_43/sld022.htm

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Simple example Could we check for a stuck at one error at a (s-a-1( a )) ? Solution (just guessing):  f='1' if there is an error  a='0', b='0' in order to have f='0' if there is no error  g='1' in order to propagate error  c='1' in order to have g='1' (or set d='1')  e='1' in order to propagate error  i='1' if there is no error & i='0' if there is Could we check for a stuck at one error at a (s-a-1( a )) ? Solution (just guessing):  f='1' if there is an error  a='0', b='0' in order to have f='0' if there is no error  g='1' in order to propagate error  c='1' in order to have g='1' (or set d='1')  e='1' in order to propagate error  i='1' if there is no error & i='0' if there is /1 0  /0 0 error no error

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Variable D Getting rid of 0/1 notation:  Definition: This is adequate for modeling a single error. Multiple errors would require several variables. This is adequate for modeling a single error. Multiple errors would require several variables.

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science D-Algorithm (1) 1.Select D-cube for the error under consideration. 2.Implication: Imply signals whose value results unambiguously from the preceding selection. Based on the intersection between the "test cube" (set of known signals) and primitive cubes of gates reached by the test cube. Return to last step if intersection is empty (backtracking). 3.D-drive: D-frontier = all gates whose outputs are unspecified and whose inputs carry a value of D or D. Select gate  D-frontier. Propagate signal to output by intersecting test cube with pdcf of that gate. Return to last step if no non-empty intersection exists. 4.Iterate steps 2 and 3 until some signal has reached output 1.Select D-cube for the error under consideration. 2.Implication: Imply signals whose value results unambiguously from the preceding selection. Based on the intersection between the "test cube" (set of known signals) and primitive cubes of gates reached by the test cube. Return to last step if intersection is empty (backtracking). 3.D-drive: D-frontier = all gates whose outputs are unspecified and whose inputs carry a value of D or D. Select gate  D-frontier. Propagate signal to output by intersecting test cube with pdcf of that gate. Return to last step if no non-empty intersection exists. 4.Iterate steps 2 and 3 until some signal has reached output

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science D-Algorithm (2) 5.Line justification: Unspecified inputs will be adjusted by intersecting the test cube and primitive cubes of the gates. Backtracking if required.

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Example Primitive cubes for NAND Propagation D-cubes for NAND Pdcfs for NAND fault free with fault Typ. Runtime: O((# of gates)²) 1 pattern per error

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Fault coverage A certain set of test patterns will not always detect all faults that are possible within a fault model  A certain set of test patterns will not always detect all faults that are possible within a fault model  For actual designs, the coverage should be at least in the order of 98 to 99%

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Generation of Self-Test Program Generation - Key concept - RF(0) := "11...1"; MEM(0) := "11...1"; IF MEM(0) - R(0) <>"00...0" THEN Error; ALU MEMRF a b = 0 ? PC stuck-at-0? mux

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Self-Test Programs generated by Retargetable Test Compiler RT- Netlist ternal nodes ternal nodes program binary code Retargetable Test Program Compiler stimuli

Universität Dortmund Department of Electrical and Computer Engineering College of Engineering, Technology and Computer Science Summary Validation is the process of checking whether or not a certain (possibly partial) design is appropriate for its purpose, meets all constraints and will perform as expected. Techniques  Simulation (used at various steps)  Test TPG (D-Algorithm, generation of assembly prog.,..) Application of test patterns Checking the results Fault simulation for computing coverage  Emulation Validation is the process of checking whether or not a certain (possibly partial) design is appropriate for its purpose, meets all constraints and will perform as expected. Techniques  Simulation (used at various steps)  Test TPG (D-Algorithm, generation of assembly prog.,..) Application of test patterns Checking the results Fault simulation for computing coverage  Emulation