ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES

Slides:



Advertisements
Similar presentations
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
Advertisements

TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
ECE 331 – Digital System Design
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 13: March 4, 2009 FSM Equivalence Checking.
Embedded Systems Hardware:
Give qualifications of instructors: DAP
25/06/2015Marius Mikucionis, AAU SSE1/22 Principles and Methods of Testing Finite State Machines – A Survey David Lee, Senior Member, IEEE and Mihalis.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
Applications of Synchronous Circuits (Class 10.2 – 3/28/2013) CSE 2441 – Introduction to Digital Logic Spring 2013 Instructor – Bill Carroll, Professor.
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
DLD Lecture 26 Finite State Machine Design Procedure.
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
1 ENGG 1015 Tutorial Three Examples of Finite State Machines Supplementary notes Learning Objectives  Learn about Design of Finite State Machines Ack.:
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Functional testing.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Capabilities, Minimization, and Transformation of Sequential Machines
Overview Part 1 - Storage Elements and Sequential Circuit Analysis
ECE 753: FAULT-TOLERANT COMPUTING
Basic Computer Organization and Design
Finite state machine optimization
Sequential Networks and Finite State Machines
4.
Finite state machine optimization
ANALYSIS OF SEQUENTIAL CIRCUITS
Hardware Verification
Adapted by Dr. Adel Ammar
Learning Outcome By the end of this chapter, students are expected to be able to: Design State Machine Write Verilog State Machine by Boolean Algebra and.
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
G. Pullaiah College of Engineering and Technology
Testing of Synchronous Sequential Circuits
Asynchronous Inputs of a Flip-Flop
ECE 301 – Digital Electronics
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
ECE/Comp Sci 352 Digital Systems Fundamentals
State Machine Realizations
Sequential Networks and Finite State Machines
KU College of Engineering Elec 204: Digital Systems Design
Sequential circuit design
ESE535: Electronic Design Automation
Synthesis of sequential circuits
Hakim Weatherspoon CS 3410 Computer Science Cornell University
Objective of This Course
Sequential circuit design
CSE 370 – Winter Sequential Logic-2 - 1
Sequential circuit design
Regular Expression Manipulation FSM Model
KU College of Engineering Elec 204: Digital Systems Design
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
ESE535: Electronic Design Automation
ECE 352 Digital System Fundamentals
Homing sequence: to identify the final state.
ECE 352 Digital System Fundamentals
CS M51A/EE M16 Winter’05 Section 1 Logic Design of Digital Systems Lecture 11 February 23 W’05 Yutao He 4532B Boelter Hall
EGR 2131 Unit 12 Synchronous Sequential Circuits
Lecture One: Automata Theory Amjad Ali
ECE 352 Digital System Fundamentals
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Formal Languages and Automata Theory BODDEDA HARITHA LAKSHMI,
Chapter5: Synchronous Sequential Logic – Part 3
CSE 370 – Winter Sequential Logic-2 - 1
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
332:437 Lecture 14 Turing Machines and State Machine Sequences
Presentation transcript:

ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES 12/5/2018 ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Sequential circuit testing - Checking experiment approach

Overview Motivation and introduction Model and fault model Theory 12/5/2018 Overview Motivation and introduction Model and fault model Theory Checking experiment design Limitations of the method Summary Do not discuss much about topics here. Under computer system overall implies what is a compute system - its architecture and components Then focus on hardware and software components 12/5/2018

Motivation and Introduction 12/5/2018 Motivation and Introduction Ref: F.C. Hennie “Fault detection experiments for sequential circuits”, 5th annual symposium on switching and automata theory, 1964. Motivation Test generation at higher level of abstraction in which only the function of the circuit is known but the implementation (structure) is not known Be sure everyone has a conduct sheet. Re GROUND RULES: 1. In terms of allowed collaboration vs. individual work, ask if you are not sure. 2. Deactivate all cell phones or pagers during class unless you are on-call during your job. 3. No tape-recording permitted. Take notes. 12/5/2018

An example Consider testing a 4-bit ALU 12/5/2018 An example Consider testing a 4-bit ALU We need not know the structure – we can determine the number of inputs and outputs. If the number is small we can test the circuit exhaustively. Can such a technique be used for sequential circuits, even if it is fairly small, such as a small finite state machine. Such FSMs exist often in practice (embedded controllers are good examples of such FSMs). Derivation of tests for such circuits is of interest for the following two reasons Need not worry about the realization and underlying technology Such tests can also be used for validation and verification Be sure everyone has a conduct sheet. Re GROUND RULES: 1. In terms of allowed collaboration vs. individual work, ask if you are not sure. 2. Deactivate all cell phones or pagers during class unless you are on-call during your job. 3. No tape-recording permitted. Take notes. 12/5/2018

Sequential circuit model Two ways to express a state machine State table State diagram M = (Q, I, O, NS, OU) Q = set of states I = set of inputs from an input alphabet O = set of outputs from an output alphabet NS = next state function OU = output function 12/5/2018

Fault model Two formulations of the test problem Given the behavior of the circuit (such as state table), verify the behavior by applying the inputs and observing the outputs. Objective is to find a sequence of inputs that will verify the behavior Given a sequence of inputs and outputs, construct a state machine that will behave as specified by the input/output sequence The above two problems have similarities but we will address the first of the two problems 12/5/2018

Fault model Assumptions about the faults Number of states in the FSM are known or these are upperbounded No fault causes an increase in the number of states or increase beyond the upperbound We will also limit our discussion to a class of FSMs that have some special properties. These properties are defined in the “theory” section of the discussion 12/5/2018

Theory Strongly connected machine/circuit: every state is reachable from every other state There are no “source” or “sink” states An example FSM – strongly connected? PS x = 0 x = 1 A C/0 A/0 B B/1 D/0 C B/0 D 12/5/2018

Theory (contd.) Synchronizing sequence Application of this sequence takes the machine to a known state (final state), irrespective of the start state (initial state) of the circuit Synchronizing tree – see next slide PS x = 0 x = 1 A C/0 A/0 B B/1 D/0 C B/0 D 12/5/2018

Theory (contd.) Synchronizing tree Ambiguity – states the circuit may be in Example: - initial ambiguity (ABCD) - after an application of 0 the ambiguity is (ABC) SS = 0 1 0 1 0 (Final state = B) PS x = 0 x = 1 A C/0 A/0 B B/1 D/0 C B/0 D 12/5/2018

Theory (contd.) Homing sequence – application of this sequence and observation of outputs can determine the final state of the circuit Distinguishing sequence – application of this sequence and the observation of outputs and determine the initial (start) state of the circuit Clearly this can also determine the final state of the circuit 12/5/2018

Theory (contd.) Homing sequence Construct a homing tree 010 is a homing sequence If output 000 – final state is C If output 101 – final state is B Distinguishing sequence – Construct a distinguishing tree This machine does not have a DS Transfer sequence – a sequence, Tij, that will take the machine from state i to j PS x = 0 x = 1 A C/0 A/0 B B/1 D/0 C B/0 D 12/5/2018

Theory (contd.) Example: SS ? HS ? DS = 100 st output st A 1 0 0 C B 1 0 1 A C 0 0 1 A D 1 1 0 C PS x = 0 x = 1 A C/0 D/1 B A/1 C B/0 D C/1 12/5/2018

Checking experiment design Three part sequence Part I: Initialize the FSM to a known state Part 1: verify that the FSM has n states Check that there are n distinct states Part 2: verify that all transitions from every state are correct Apply one input at a time and check the output and the state of the circuit 12/5/2018

Checking experiment design (contd.) Checking sequence construction Apply SS and take the circuit to a known state Repeat for each state (known state) DS (transfer to another, different, state) DS is used to verify the known state Repeat of each state and every input (known state) input DS (transfer to a known state) verify output when input is applied DS is used to verify that the transition was indeed correct 12/5/2018

Checking experiment design (contd.) An example SS = 01010 DS = 100 A (DS) -> C B (DS) -> A C (DS) -> A D (DS) -> C Phase 1: SS TCA DS TCB DS TAC DS TAD DS C C A A C Phase 2: TCA 0 DS TAA 1 DS … check null check output output PS x = 0 x = 1 A C/0 D/1 B A/1 C B/0 D C/1 12/5/2018

Checking experiment design (contd.) Checking sequence – reducing sequence length States need not be verified in the order we want them, they can be verified as they appear while designing the sequence Phases 1 and 2 can be overlapped Overlap parts of sequences where ever possible If there is more than one DS, these can be integrated with in the design of sequence 12/5/2018

Limitations of the method Assumptions are very restrictive and limit the application of the method Machine do not have SS, DS, etc. require more complex algorithms Length of the sequence can be very long SS can be as long as O(n3) The known best bound is n(n+1)(n-1)/6 TS can be no longer than length n DS – this can be very long in theory (n-1)nn Hence total sequence length can be O(2kn), where k is the number of flip-flops and n=2k 12/5/2018

Summary Need for functional testing methods for sequential circuits Described a fault model for functional faults in FSMs Developed theoretical foundation for FSM testing Design of test sequence Limitations of the method 12/5/2018