Testing of Synchronous Sequential Circuits

Slides:



Advertisements
Similar presentations
Boolean Algebra and Logic Gates
Advertisements

Section 2. Overview Finite state machine Homework 2 preparation Q&A.
Sequential Circuits Storage elements
1. 1. Output depends uniquely on inputs:  Contains only logic gates, AND, OR,...  No feedback interconnects 2. Output depends on inputs and memory:
Types of Logic Circuits
Theory Of Automata By Dr. MM Alam
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Asynchronous Sequential Logic
1 Lecture 23 More Sequential Circuits Analysis. 2 Analysis of Combinational Vs. Sequential Circuits °Combinational : Boolean Equations Truth Table Output.
ECE 331 – Digital System Design Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
Design for Testability
Applications of Synchronous Circuits (Class 10.2 – 3/28/2013) CSE 2441 – Introduction to Digital Logic Spring 2013 Instructor – Bill Carroll, Professor.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
Chapter 5 - Part Sequential Circuit Design Design Procedure  Specification  Formulation - Obtain a state diagram or state table  State Assignment.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
Introduction to Sequential Logic Design Finite State-Machine Design.
1 Lecture 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
Module : FSM Topic : types of FSM. Two types of FSM The instant of transition from the present to the next can be completely controlled by a clock; additionally,
ANALYSIS OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
DESIGN OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
Lecture # 12. Nondeterministic Finite Automaton (NFA) Definition: An NFA is a TG with a unique start state and a property of having single letter as label.
Analysis and Synthesis of Synchronous Sequential Circuits A “synchronizing” pulse/edge signal (clock) controls the operation of the memory portion of the.
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
UNIT - 2.  A binary operation on a set combines two elements of the set to produce another element of the set. a*b  G,  a, b  G e.g. +, -, ,  are.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Transistor: Building.
Combinational Circuits
Ahmad Almulhem, KFUPM 2009 COE 202: Digital Logic Design Combinational Logic Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
ECE DIGITAL LOGIC LECTURE 6: BOOLEAN ALGEBRA Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 02/01/2016.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
L ECTURE 3 T HEORY OF AUTOMATA. E QUIVALENT R EGULAR E XPRESSIONS Definition Two regular expressions are said to be equivalent if they generate the same.
State Diagrams Tuesday, 12 September State diagram Graphical representation of a state table. –Provides the same information as a state table. –A.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
Truth Table and Fault Matrix By Dr. Amin Danial Asham.
Capabilities, Minimization, and Transformation of Sequential Machines
4.
Theory of Computation Lecture #
Combinational Logic Design&Analysis.
Introduction to Sequential Logic Design
BCT 2083 DISCRETE STRUCTURE AND APPLICATIONS
CSC-2259 Discrete Structures
ANALYSIS OF SEQUENTIAL CIRCUITS
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Modeling Arithmetic, Computation, and Languages
[Week#03,04] (b) - Finite Automata
Instructor: Alexander Stoytchev
Context-Free Languages
KU College of Engineering Elec 204: Digital Systems Design
Non-deterministic Finite Automata (NFA)
Instructor: Alexander Stoytchev
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Introduction to Data Structures
KU College of Engineering Elec 204: Digital Systems Design
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Gates Type AND denoted by X.Y OR denoted by X + Y NOR denoted by X + Y
DESIGN OF SEQUENTIAL CIRCUITS
ECE 352 Digital System Fundamentals
Homing sequence: to identify the final state.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
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
Recap Lecture 3 RE, Recursive definition of RE, defining languages by RE, { x}*, { x}+, {a+b}*, Language of strings having exactly one aa, Language of.
332:437 Lecture 14 Turing Machines and State Machine Sequences
Presentation transcript:

Testing of Synchronous Sequential Circuits By Dr. Amin Danial Asham

An Introduction to Logic Circuit Testing References An Introduction to Logic Circuit Testing

A Model of Sequential Circuits Test generation for sequential circuits is extremely difficult because the behavior of a sequential circuit depends both on the present and on the past input values. The mathematical model of a synchronous sequential circuit is usually referred to as a sequential machine or a finite state machine (FSM). The following figure shows the general model of a synchronous sequential circuit. As can be seen from the diagram, sequential circuits are basically combinational circuits with memory to remember past inputs. The combinational part of the circuit receives two sets of input signals: primary (coming from the external environment) and secondary (coming from the memory elements) The secondary input variables are also known as state variables. If there are m secondary input variables in a sequential circuit, then the circuit can be in any one of 2m different present states

Testing of Synchronous Sequential Circuits Sequential circuits can be tested by checking that such a circuit functions as specified by its state table. This is an exhaustive approach and is practical only for small sequential circuits. Given the state table of a sequential circuit, find an input/output sequence pair (X,Z) such that the response of the circuit to X will be Z if and only if the circuit is operating correctly. The application of this input sequence X and the observation of the response, to see if it is Z, is called a checking experiment; the sequence pair (X, Z) is referred to as a checking sequence. The derivation of checking sequence for a sequential circuit is based on the following assumptions: The circuit is fully specified and deterministic. In a deterministic circuit the next state is determined uniquely by the present state and the present input. The circuit is strongly connected; that is, for every pair of states qi and qj of the circuit, there exists an input sequence that takes the circuit from qi to qj. The circuit in the presence of faults has no more states than those listed in its specification. In other words, the presence of a fault will not increase the number of states.

Definitions: Homing Sequence (HS): An input sequence is said to be a homing sequence for a sequential circuit if the circuit’s response to the sequence is always sufficient to determine uniquely its final state. Example: New state Output Input Sequence: 1 1 D C C B D A C B B A C C

Definitions (cont.): Distinguishing sequence (DS): A distinguishing sequence is an input sequence that, when applied to a sequential circuit, will produce a different output sequence for each choice of initial state. Every distinguishing sequence is also a homing sequence because the knowledge of the initial state and the input sequence is always sufficient to determine uniquely the final state as well. On the other hand, not every homing sequence is a distinguishing sequence. The output sequence that the machine produces in response to 101 uniquely specifies its initial state

Obtaining Homing and Distinguishing sequences If a Finite state machine with the following state table. We shall refer a collection of uncertainties, such as (B)(ACD) above, as an uncertainty vector (U). (B) and (ACD) in this example, are called the components of the uncertainty vector. For a component, the order of states is not important. Repetition of states are allowed and meaningful. Initially be in any of its four states; hence, the initial uncertainty is (ABCD) Consider the case that we just applied a 1 input, then the successor uncertainties will be (B) or (ACD), depending whether the output is 0 or 1, respectively. In this case: ( ) ( )0( )1 1 A B C D B A C D

DEFINITONS (for components only) Singleton: A component having a single state without duplication. Ex: (A), or (B). Note: (AA) is not a singleton. Homogeneous: A component having only one state, with or without duplications. Ex: (A), or (AA), or (BBB). Note: (AAB) is not homogeneous. Nonhomogeneous: A component containing at least two non-identical states. Ex: (AB) or (AAB) or (AAAC) or (AABC). Note: A component is either homogeneous or nonhomogeneous. Multiple: A component containing duplicate states. Ex: (AA) or (AAB) or (AAA) or (AABB) or (AABC).

DEFINITIONS (for vectors only) Trivial vector: All components are singletons. Ex: (A)(B)(C) or (A)(A)(B) or (C)(C)(C). Homogeneous vector: All components are homogeneous. Ex: (AA)(BBB)(C) or (AA)(B)(C) or (A)(B)(C) or (AA)(A)(B).

SUCCESSOR TREE Successor Tree: assuming we have a sequence machine with the following state table. (ABCD) Loop 1 (AB)0 (DD)1 (ABCD)0 Loop 1 (AB)0(DD)1 (BD)0(CC)0 Same 1 (A)0 (D)1 (DD)1 (BC)0 (AA)0 1 Homing (AB)0 (DD)0 (A)0 (D)1 (BB)0

Distinguishing Sequence Example Successor Tree Init. State In/Out Final state Homing Sequence Homing Init. State 00/01 Final state A 1 1 Init. State 01/00 Final state B A or B as initial state with input sequence 00 produces 01 as output sequence. 1 1 1 1 1 1 Distinguishing A 100/100 C B 100/101 A State Table 1 1 1 1 1 1 1 1 Distinguishing Sequence

Properties of the successor tree P1-Multiple component > multiple component. Ex. (BCC)(A) → (C)(AA)(C); (BCC)(A) → (BB)(A)(D) P2-Identical nonhomogeneous components > similar sub- trees [repeat]. Ex. (ABB), (AB), (AABB) are considered identical P3-Trivial vector: We have found a DS. Each state in the initial uncertainty vector responds to the input sequence leading to the trivial vector with a distinct output sequence. P4- Homogeneous vector: We have found a HS. The output sequence of the input sequence leading to the homogeneous vector allows us to uniquely determine the final state.

Homing Experiment Rule H1 [Repeat]: A node becomes terminal if the nonhomogeneous components are associated with some node in a preceding level (P2). Ex. (AB)(C)(D) is “identical” with (AAB)(B)(E)] Rule H2 [HS found]: All kth level nodes become terminal if any kth level node is associated with a homogeneous vector (P4) [only if we are seeking the shortest, or one of the shortest, HS].

Distinguishing Experiment Rule D1 [Repeat]: Identical to Rule H1. Rule D2 [Dead end]: A node becomes terminal if it is associated with a vector having a multiple component (P1). Rule D3 [DS found]: All kth level nodes become terminal if any kth level node is associated with a trivial vector (P3) [only if we are seeking the shortest, or one of the shortest, DS].

Thanks