- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Simulation and test pattern generation (TPG) -

Slides:



Advertisements
Similar presentations
fakultät für informatik informatik 12 technische universität dortmund Test Peter Marwedel TU Dortmund Informatik 12 Germany Graphics: © Alexandra Nolte,
Advertisements

1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Introduction to Training and Learning in Neural Networks n CS/PY 399 Lab Presentation # 4 n February 1, 2001 n Mount Union College.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
Programming Types of Testing.
Cosc 2150: Computer Organization Chapter 3: Boolean Algebra and Digital Logic.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Logic Simulation 4 Outline –Fault Simulation –Fault Models –Parallel Fault Simulation –Concurrent Fault Simulation Goal –Understand fault simulation problem.
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.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
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.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Combinational Logic Design
Overview Part 1 – Design Procedure 3-1 Design Procedure
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
System/Software Testing
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
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.
TOPIC : Types of fault simulation
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
CS1Q Computer Systems Lecture 9 Simon Gay. Lecture 9CS1Q Computer Systems - Simon Gay2 Addition We want to be able to do arithmetic on computers and therefore.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Switch networks. n Combinational testing.
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
1 H ardware D escription L anguages Modeling Digital Systems.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 12 月 02 日 These slides use Microsoft clip arts. Microsoft copyright.
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.
Fault-Tolerant Systems Design Part 1.
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:
Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
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.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Manufacture Testing of Digital Circuits
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
VLSI Testing Lecture 5: Logic Simulation
VLSI Testing Lecture 5: Logic Simulation
Vishwani D. Agrawal Department of ECE, Auburn University
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Test Iwan Sonjaya,MT 2014年 01 月 22 日 © Springer, 2010
Automatic Test Generation for Combinational Circuits
Automatic Test Pattern Generation
Presentation transcript:

- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Simulation and test pattern generation (TPG) -

- 2 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation

- 3 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Examples of thermal simulations (1) Source: NL_JUN_2001/Campi/Jun_Campi_2001.html Encapsulated cryptographic coprocessor:

- 7 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Examples of thermal simulations (2) Source: applications/app141/hot_chip.pdf Microprocessor

- 8 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund EMC simulation Source: ~etienne/emccourse/what_for.html Red: high emission Validation of EMC properties often done at the end of the design phase. Example: car engine controller

- 9 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Simulations Limitations  Typically slower than the actual design.  Violations of timing constraints likely if simulator is connected to the actual environment  Simulations in the real environment may be dangerous  There may be huge amounts of data and it may be impossible to simulate enough data in the available time.  Most actual systems are too complex to allow simulating all possible cases (inputs). Simulations can help finding errors in designs, but they cannot guarantee the absence of errors.  Typically slower than the actual design.  Violations of timing constraints likely if simulator is connected to the actual environment  Simulations in the real environment may be dangerous  There may be huge amounts of data and it may be impossible to simulate enough data in the available time.  Most actual systems are too complex to allow simulating all possible cases (inputs). Simulations can help finding errors in designs, but they cannot guarantee the absence of errors.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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. Source & ©: eedesign. com/editorial/1997/ toolsandtech9703.html Example: Quickturn Cobalt System (1997), ~0.5M$ for 500kgate entry level system (no photo of more recent system)

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Example of a more recent commercial emulator [ ]

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Test: Goals 1.Production test 2.Is there any way of using test patterns for production test already during the design*? 3.Test for failures after delivery to customer 1.Production test 2.Is there any way of using test patterns for production test already during the design*? 3.Test for failures after delivery to customer * Workshop focusing on the integration of production testing and design validation: HLDVT IEEE International High Level Design Validation and Test Workshop

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Test: Scope Testing includes  the application of test patterns to the inputs of the device under test (DUT) and  the observation of the results. More precisely, testing requires the following steps: 1.test pattern generation, 2.test pattern application, 3.response observation, and 4.result comparison. Testing includes  the application of test patterns to the inputs of the device under test (DUT) and  the observation of the results. More precisely, testing requires the following steps: 1.test pattern generation, 2.test pattern application, 3.response observation, and 4.result comparison.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Modeling gates with primitive cubes Definition: Let a function f and its complement be represented by implicants. Each entry in a table of implicants and outputs is called a primitive cube (pc). Example: 2-input NAND gate Definition: Let a function f and its complement be represented by implicants. Each entry in a table of implicants and outputs is called a primitive cube (pc). Example: 2-input NAND gate fault-freewith fault A B C Primitive cube

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Modeling faulty gates with D-cubes of a fault Primitive D-cubes of a fault (pdcf's) are cubes which model a condition under which a fault does show up. Input values generate an output of D (resp. D ) if they are contained in cubes  1 and  0 (resp.  0 and  1 ). Hence, we define the intersection of cubes as follows: X  '0' = '0', X  '1'='1', '1'  '0' =  (empty), with X: don't care Primitive D-cubes of a fault (pdcf's) are cubes which model a condition under which a fault does show up. Input values generate an output of D (resp. D ) if they are contained in cubes  1 and  0 (resp.  0 and  1 ). Hence, we define the intersection of cubes as follows: X  '0' = '0', X  '1'='1', '1'  '0' =  (empty), with X: don't care fault freewith fault pc pdcf °

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Modeling propagation with propagation cubes (1) Propagation D-cubes are cubes that model requirements for propagating errors to the output. An error D ( ) at input r gets propagated to the output as f=D ( ) iff r='0' implies f='0' and r='1' implies f='1' (non-inverting) An error D ( ) at input r gets propagated to the output as f= ( D ) iff r='0' implies f='1' and r='1' implies f='0' (inverting). Hence, consider intersection of  1 and  0 while ignoring input r. Propagation D-cubes are cubes that model requirements for propagating errors to the output. An error D ( ) at input r gets propagated to the output as f=D ( ) iff r='0' implies f='0' and r='1' implies f='1' (non-inverting) An error D ( ) at input r gets propagated to the output as f= ( D ) iff r='0' implies f='1' and r='1' implies f='0' (inverting). Hence, consider intersection of  1 and  0 while ignoring input r.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Modeling propagation with propagation cubes (2) Hence, consider intersection of  1 and  0 while ignoring input r. Example: 2-input NAND gate fault freewith fault pc pdcf

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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%

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Test Program Generation (2) Programs running on the processors to be tested Well-known concept mainframes) Very poor tool support Mostly ad-hoc process: Initial ad-hoc program; Extended until sufficient coverage achieved; Extended if undetected errors are reported by field service Programs running on the processors to be tested Well-known concept mainframes) Very poor tool support Mostly ad-hoc process: Initial ad-hoc program; Extended until sufficient coverage achieved; Extended if undetected errors are reported by field service

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Self-Test Programs generated by Retargetable Test Compiler RT- Netlist ternal nodes ternal nodes program [Bieker, 1995] binary code Retargetable Test Program Compiler stimuli

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Fault simulation (1) Coverage can be computed with fault simulation:  faults  fault model: check if distinction between faulty and the fault-free case can be made: Simulate fault-free system;  faults  fault model DO  test patterns DO Simulate faulty system; Can the fault be observed for  1 pattern? Faults are called redundant if they do not affect the observable behavior of the system, Fault simulation checks whether mechanisms for improving fault tolerance actually help. Coverage can be computed with fault simulation:  faults  fault model: check if distinction between faulty and the fault-free case can be made: Simulate fault-free system;  faults  fault model DO  test patterns DO Simulate faulty system; Can the fault be observed for  1 pattern? Faults are called redundant if they do not affect the observable behavior of the system, Fault simulation checks whether mechanisms for improving fault tolerance actually help.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Fault simulation (2) High computational requirements. Parallel fault-simulation at the gate level: Each bit in a word represents a different input pattern. E.g.: 32 input patterns simulated at the same time. High computational requirements. Parallel fault-simulation at the gate level: Each bit in a word represents a different input pattern. E.g.: 32 input patterns simulated at the same time.   Each bit corresponds to one test pattern Operators correspond to gate-level structure

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund 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