Introduction to Sequential Logic Design Finite State-Machine Design.

Slides:



Advertisements
Similar presentations
Sequential Circuits Storage elements
Advertisements

State-machine structure (Mealy)
State Machine Design Procedure
COE 202: Digital Logic Design Sequential Circuits Part 3
Digital Design - Sequential Logic Design Chapter 3 - Sequential Logic Design.
Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Multiplexors Sequential Circuits and Finite State Machines Prof. Sin-Min Lee Department of Computer Science.
Circuits require memory to store intermediate data
1 EE365 Sequential-circuit analysis. 2 Clocked synchronous seq. circuits A.k.a. “state machines” Use edge-triggered flip-flops All flip-flops are triggered.
CS 151 Digital Systems Design Lecture 21 Analyzing Sequential Circuits.
1 Lecture 23 More Sequential Circuits Analysis. 2 Analysis of Combinational Vs. Sequential Circuits °Combinational : Boolean Equations Truth Table Output.
Sequential Circuit Design
ECE 331 – Digital System Design Introduction to and Analysis of Sequential Logic Circuits (Lecture #20) The slides included herein were taken from the.
1 Sequential logic networks I. Motivation & Examples  Output depends on current input and past history of inputs.  “State” embodies all the information.
Sequential Logic Design Process A sequential circuit that controls Boolean outputs and a specific time- ordered behavior is called a controller. StepDescription.
ECE C03 Lecture 101 Lecture 10 Finite State Machine Design Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Sequential Circuits and Finite State Machines Prof. Sin-Min Lee
EECC341 - Shaaban #1 Lec # 14 Winter Clocked Synchronous State-Machines Such machines have the characteristics: –Sequential circuits designed.
5. Choose a flip-flop type for the state memory. ReturnNext 7.4 Clocked Synchronous State-Machine Design 1. Construct a state/output table corresponding.
Give qualifications of instructors: DAP
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design Finite State.
Sequential Circuit Design
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)
1 Synchronous Sequential Circuit Analysis. 2 Synchronous Sequential Circuit State Memory – A set of n edge-triggered flip-flops that store the current.
Controller Design Five step controller design process.
7.4 Clocked Synchronous State-Machine Analysis
Digital Computer Design Fundamental
ECE 331 – Digital Systems Design Sequential Logic Circuits: FSM Design (Lecture #20)
T Flip-Flop A T (toggle) flip-flop is a complementing flip-flop and can be obtained from a JK flip-flop when the two inputs are tied together. When T =
Synchronous Circuit Design (Class 10.1 – 10/30/2012) CSE 2441 – Introduction to Digital Logic Fall 2012 Instructor – Bill Carroll, Professor of CSE.
Elevator Controller We’re hired to design a digital elevator controller for a four-floor building st try: Design a counter that counts up.
Chap 4. Sequential Circuits
Digital Logic Design Sequential circuits
Digital Logic Design Review Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM 2010.
Lecture 4 – State Machine Design 9/26/20081ECE Lecture 4.
Introduction to Sequential Logic Design Flip-flops FSM Analysis.
1 Lecture 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
Introduction to State Machine
Review of Digital Logic Design Concepts OR: What I Need to Know from Digital Logic Design (EEL3705)
Fall 2004EE 3563 Digital Systems Design EE3563 Chapter 7, 8, 10 Reading Assignments  7.1, 7.2, 7.3  8.1, ,   8.5.1, 8.5.2,
DLD Lecture 26 Finite State Machine Design Procedure.
Digital Logic Design.
1 Finite State Machines (FSMs) Now that we understand sequential circuits, we can use them to build: Synchronous (Clocked) Finite State Machines Finite.
ANALYSIS OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
Digital Circuits State Reduction and Assignment State Reduction reductions on the number of flip-flops and the number of gates a reduction in the.
Analysis and Synthesis of Synchronous Sequential Circuits A “synchronizing” pulse/edge signal (clock) controls the operation of the memory portion of the.
Registers; State Machines Analysis Section 7-1 Section 5-4.
1 State Reduction Goal: reduce the number of states while keeping the external input-output requirements unchanged. State reduction example: a: input 0.
Lecture 20: Sequential Logic (5)

CEC 220 Digital Circuit Design Mealy and Moore State Machines Friday, March 27 CEC 220 Digital Circuit Design Slide 1 of 16.
ENG241 Digital Design Week #7 Sequential Circuits (Part B)
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Introduction to Sequential Logic Design Finite State-Machine Analysis.
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #3 Flip-Flops, Registers, Shift registers, Counters, Memory 3/3/2005.
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
State Machine Design Shiva choudhary En No.: Electronics and comm. Dept K.I.T.,Jamnagar 1.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
1 Clocked synchronous seq. circuits A.k.a. “state machines” Use edge-triggered flip-flops All flip-flops are triggered from the same master clock signal,
Lecture #17: Clocked Synchronous State-Machine Analysis
Digital Design - Sequential Logic Design
Introduction to Sequential Logic Design
ANALYSIS OF SEQUENTIAL CIRCUITS
FIGURE 5.1 Block diagram of sequential circuit
ECE 301 – Digital Electronics
Introduction to Sequential Circuits
Presentation transcript:

Introduction to Sequential Logic Design Finite State-Machine Design

2 Prev…FSM Analysis 1)Determine the excitation equations for the FF control inputs; (In D-FF, they are the combinational equations for D controls) 2)Substitute the excitation equations into the FF characteristic equations to obtain transition equations (Using Q* notations); 3)Use the transition equations to construct a transition table; 4)Determine the output equations; 5)Add output values to the transition table for each state to create a transition/output table; 6)Name the states and substitute state names for state- variable combinations in the transition/output table to obtain state/output table; 7)Draw a state diagram corresponding to the state/output table.

3 FSM (Moore Machine) Next state= F (current state, input) Output= G (current state)

4 How to Design a clocked synchronous state machine? 1)From wording description draw a desired state diagram with desired output values 2)Convert the state diagram to state/output table; 3)Use a number of state variables that is sufficient to assign unique binary codes to each state name. Substitute the state variable binary codes in the state table to make the transition table (Using Q* notations); 4)Using a flip-flop type (usually a D-FF edge triggered) for the state memory, and by the knowledge of its characteristic equation, determine the required control values for each row in the transition table. This forms the excitation table. In D-FF this is simply the substitution of Q* by D. 5)Derive excitation equations from excitation table. 6)Derive output equations 7)Draw logic diagram of the derived equations.

5 Example: Using synchronous Finite State Machine, design a sequential circuit that asserts a high output (Z) for exactly two clock pulses when an input button (B) is pressed (i.e. asserted). The circuit should stay with low output, when the button (B) is not pressed (not asserted). The goal is: even if the button continues to be pressed, or vibrates due to mechanical instability, the output should be steady once asserted. Draw the state diagram, and circuit logic diagram. Use minimal number of external gates. [Hint: Use positive edge triggered D flip-flops]

6 Example: Using synchronous Finite State Machine, design a sequential circuit that asserts a high output (Z) for exactly three clock pulses when an input button (B) is pressed (i.e. asserted). The circuit should stay with low output, when the button (B) is not pressed (not asserted). The goal is: even if the button continues to be pressed, or vibrates due to mechanical instability, the output should be steady once asserted. Draw the state diagram, and circuit logic diagram. Use minimal number of external gates. [Hint: Use positive edge triggered D flip-flops]

7 FSM Design Example Step 1: Capture the FSM  Already done Step 2: Create architecture  2-bit state register (for 4 states)  Input b, output x  Next state signals n1, n0 Step 3: Encode the states  Any encoding will work x=1 x=0 b b’ On2On1 Off On3 Inputs: b; Outputs: x Combinational logic State register s1s0 n1 n0 x b clk FSM inputs FSM outputs

8 Laser Timer Example (cont.) Step 4: Create state table x=1 x=0 b b’ On2On1 Off On3 Inputs: b; Outputs: x

9 Laser Timer Example (cont.) Steps 5&6: Derive excitation and output equations x = s1 + s0 (note from the table that x=1 if s1 = 1 or s0 = 1) n1 = s1’.s0.b’ + s1’.s0.b + s1.s0’.b’ + s1.s0’.b n1 = s1’.s0 + s1.s0’ n0 = s1’s0’b + s1s0’b’ + s1s0’b n0 = s1’.s0’.b + s1.s0’

10 FSM Design Example (cont.) Step 7: Draw circuit: combinational logic & sequential parts x = s1 + s0 n1 = s1’.s0 + s1.s0’ n0 = s1’.s0’.b + s1.s0’ n1 n0 s0 s1 clk Combinational Logic State register b FSM outputs FSM inputs x

11 Understanding the FSM Behavior s0 s1 b x n1 n0 x=1 b On2On1 Off On b’ x= clk Inputs: Outputs: b s0 s1 b x n1 n0 x=1 b’ On2On1 Off On3 clk b x x= state=00state=00 s0 s1 b x n1 n0 x=1 x=0 b b’ On2On1 Off On clk state=01