Sequential Systems with Random Inputs

Slides:



Advertisements
Similar presentations
State-machine structure (Mealy)
Advertisements

State Machine Design Procedure
T-Bird Tail Light Control Circuit Design
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Asynchronous Sequential Logic
Computing Machinery Chapter 5: Sequential Circuits.
CS 151 Digital Systems Design Lecture 21 Analyzing Sequential Circuits.
Lecture 7: PLC: Review Questions
Electro-Pneumatics Module 1
Clocked Synchronous State Machine Design
Digital Computer Design Fundamental
Flip Flop
Unit 14 Derivation of State Graphs
1 Lecture 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
Digital Logic Design Lecture # 21 University of Tehran.
Introduction to State Machine
FINITE STATE MACHINES (FSMs)
1 State Reduction Goal: reduce the number of states while keeping the external input-output requirements unchanged. State reduction example: a: input 0.
1Sequential circuit design Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA by Erol Sahin and Ruken Cakici.
1 ENGG 1015 Tutorial Three Examples of Finite State Machines Supplementary notes Learning Objectives  Learn about Design of Finite State Machines Ack.:
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
Synchronous Counter Design
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
1 Asynchronous Sequential Logic For most figures:.
Combinational circuits
SLIDES FOR CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT
ANALYSIS OF SEQUENTIAL CIRCUITS
Clocks A clock is a free-running signal with a cycle time.
Lecture 12 Analysis of Clocked Sequential Network
Logic Functions Pneumatics Module 7.
Analysis of Clocked Sequential Circuit
SLIDES FOR CHAPTER 13 ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS
COMP541 Sequential Logic – 2: Finite State Machines
CS 352 Introduction to Logic Design
Synchronous Sequential Circuit Design
Asynchronous Inputs of a Flip-Flop
Sequential Circuits: Flip-Flops
FINITE STATE MACHINES (FSMs)
State Reduction and State Assignment
Sequential Circuits: Latches
Registers and Counters Register : A Group of Flip-Flops. N-Bit Register has N flip-flops. Each flip-flop stores 1-Bit Information. So N-Bit Register Stores.
Lesson 16: State-Based Sequential Design
Instructor: Alexander Stoytchev
Sequential Circuits: Latches
Sequential circuit design
CSE 140L Discussion Finite State Machines.
Lecture 14 Reduction of State Tables
Instructor: Alexander Stoytchev
Sequential circuit design
L10 – additional State Machine examples
Sequential circuit design
The CASCADE Method similar to that for electromechanical devices.
Introduction to Sequential Circuits
Lesson 15: Boolean Representation of Ladder Diagrams
Sequential Circuits: Latches
CHAPTER 15 REDUCTION OF STATE TABLES STATE ASSIGNMENT
DESIGN OF SEQUENTIAL CIRCUITS
ECE 352 Digital System Fundamentals
Objectives Construct truth tables for the following logic gates:
Sequential circuit analysis
Ladder Diagram Design: Huffman Method
Sequential Circuit Analysis
Copyright © Cengage Learning. All rights reserved.
EGR 2131 Unit 12 Synchronous Sequential Circuits
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Chapter5: Synchronous Sequential Logic – Part 3
Digital Electronics and Logic Design
Presentation transcript:

Sequential Systems with Random Inputs Examples: Lift control systems, alarm systems. In these systems, inputs, i.e. from sensors, limit switches, pushbuttons, etc, may be completely random and can come at any time and in any order. Huffman Method can be readily employed for the design of such systems. In designing such systems, all possible/feasible input combinations will need to be taken into account. Introduction

Example: Alarm Annunciator system X1=1 represents a danger condition. System specifications: If x1 = 1, system must produce z1 = 1, which actuates an alarm siren. The operator can shut off the siren by pressing x2. This shuts off the siren (z1 = 0), replacing it with a flashing light (z2 = 1), which must continue to flash as long as x1 = 1. As soon as x1 = 0 again, then z2 = 0 returning to the normal state.

Generating the Flow Diagram The first step in the design is to draw the flow diagram. In the Flow Diagram, the convention is to use a circle to represent a stable state, with inputs on the left separated from outputs on the right by a slash. Example: X1X2/Z1Z2

Generating the Flow Diagram System specifications: If x1 = 1, system must produce z1 = 1, which actuates an alarm siren. The operator can shut off the siren by pressing x2. This shuts off the siren (z1 = 0), replacing it with a flashing light (z2 = 1), which must continue to flash as long as x1 = 1. As soon as x1 = 0 again, then z2 = 0 returning to the normal state. Example For a completely random system, if there are n inputs, there should be n arrows leaving every stable state.

Derive the Primitive Flow Table From the Flow Diagram, the Primitive Flow Table is drawn. Construct the table with columns for all possible input combinations and columns for the outputs. X 1 2 Row 00 10 11 01 Z 3 4 5 6 Example The number of rows should correspond to the number of stable states(circles) in the Flow Diagram.

Derive the Primitive Flow Table Fill in the stables states under the proper columns and rows. X 1 2 Row 00 10 11 01 Z 3 4 5 6 Example

Derive the Primitive Flow Table Fill in the output states for every stable state. X 1 2 Row 00 10 11 01 Z 3 4 5 6 Example

Derive the Primitive Flow Table Fill in the unstable states. X 1 2 Row 00 10 11 01 Z 5 6 3 4 Example You will need to refer to the Flow Diagram to determine the transitions between states.

Derive the Primitive Flow Table Fill out the rest of the cells with “don’t cares”. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 Example

Derive the Merged Flow Table X 1 2 Row 00 10 11 01 Z - 5 6 3 4 Primitive Flow Table Example X 1 2 00 10 11 01 1,5 2,6 3,4 - Merged Flow table Determine which rows can be merged.

Derive the Merged Flow Table X 1 2 Row 00 10 11 01 Z - 5 6 3 4 Primitive Flow Table Example X 1 2 00 10 11 01 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Fill out the cells accordingly.

Assign the states. Example Primitive Flow Table Merged Flow table 1 2 Row 00 10 11 01 Z - 5 6 3 4 Primitive Flow Table Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table For three rows, we need at least two flip-flops. Draw in the transition arrows and assign the states.

Assign the states. Example Primitive Flow Table Merged Flow table 1 2 Row 00 10 11 01 Z - 5 6 3 4 Primitive Flow Table Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Row 1&2 and rows 1&3 have greater numbers of transitions. They are thus given priority. One race problem(blue arrow).

Assign the states. Example Rearranging the rows for K-map representation, and taking care of the race. Merged Flow table X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Example

Draw the excitation maps. Fill out the excitation maps. X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Example 00 10 11 01 x 1 2 00 01 11 10 y S1 R1

Draw the excitation maps. For stable states, flip-flops should remain unchanged. X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Example - 00 10 11 01 x 1 2 00 01 11 10 y S1 R1

Draw the excitation maps. For unstable states, move to the respective stable states. X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Example 1 - 00 10 11 01 x 2 00 01 11 10 y S1 R1

Draw the excitation maps. Don’t cares get don’t cares. X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - Merged Flow table Example

Get the Boolean expressions for Set/Reset inputs. Example

Set/Reset inputs for Y2. Example

The maps for the outputs. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 00 10 11 01 x 1 2 00 01 11 10 y Z1 Z2 Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 -

The maps for the outputs. Cells representing stable states get the outputs values shown in the primitive flow table. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 1 00 10 11 01 x 2 00 01 11 10 y Z1 Z2 Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 -

The maps for the outputs. In moving from stable state m to stable state n, if the output remains the same, we enter this value in the cell for unstable state n. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 1 00 10 11 01 x 2 00 01 11 10 y Z1 Z2 Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 -

The maps for the outputs. In moving from stable state m to stable state n, if the output changes, we enter a “don’t care” in the cell for unstable state n. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 y 1 - 00 10 11 01 x 2 00 01 11 10 Z1 Z2 Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 -

The maps for the outputs. Don’t’ care cells get don’t cares. X 1 2 Row 00 10 11 01 Z - 5 6 3 4 x x 1 2 00 10 11 01 - - 00 1 1 - - - Example 01 y y 1 2 11 - - - - - - - - X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 - - 1 1 - 10

Derive the Boolean expressions for the outputs. 1 2 Row 00 10 11 01 Z - 5 6 3 4 1 - 00 10 11 01 x 2 00 01 11 10 y Example X 1 2 00 10 11 01 Y 1,5 3 5 2,6 6 3,4 4 -

Review of the START Pushbutton The START pushbutton is required only for single- cycle fixed sequences which needs to be initiated. Example: START A+, B+, B-, C+, C-, A-

Review of the START Pushbutton For other cases, for example systems with random inputs, there is no need for a START pushbutton. Example: Alarm Annunciator System

Incorporating the START Pushbutton Consider the example discussed earlier... Example START, A+, A-, A+, A-

Incorporating the START Pushbutton 1 2 10 00 01 11 Y1 Y2  ‚ 3 - 5 „ ƒ … † 7 ˆ ‡ The merged Flow Table obtained was... START And we incorporated the START pushbutton by ANDing it with the S1 signal.

Incorporating the START Pushbutton But it is not always the case that the START pushbutton is ANDed with the S1 signal. The function of incorporating the START pushbutton is to force the sequence to stop at the end of the cycle. In the example given, it is stopped in the Unstable 1 state. Pushing the START button will allow the system to jump to Stable State 1, thereby starting another sequence.

Incorporating the START Pushbutton 1 2 10 00 01 11 Y1 Y2  ‚ 3 - 5 „ ƒ … † 7 ˆ ‡ If the states of the flip-flops were assigned as... Example Then START will need to be ANDed with the R2 signal to stop the sequence in Unstable 1. Actuation of START will cause the system to jump to Stable 1 . - 1 START

Examples of Systems with Random Inputs

Example of System with Random Inputs A machine runs as long as it receives a T=1 signal. When a fault occurs, a sensor sends an F=1 signal, which shuts off T. After the fault has been cleared (F=0), the machine can be restarted only by pressing a reset button twice in a row. This provision is intended to prevent a false restarting of the machine due to accidental touching of the reset button. Design a logic system to fulfill the above requirements. Example 1

Example of System with Random Inputs A machine runs as long as it receives a T=1 signal. When a fault occurs, a sensor sends an F=1 signal, which shuts off T. After the fault has been cleared (F=0), the machine can be restarted only by pressing a reset button twice in a row. 1 00/ 1 2 10/ 0 N FR/T 6 01/ 1 8 11/ 0 7 01/ 0 3 00/ 0 5 00/ 0 4 01/ 0

Constructing the Primitive Flow Table Row 00 01 11 10 T 1  2 ‚ 3 ƒ 4 „ 5 … 6 † 7 ‡ 8 - ˆ Primitive Flow Table Construct the table and enter first the stable states and the outputs.

Constructing the Primitive Flow Table Row 00 01 11 10 T 1  6 2 3 8 ‚ ƒ 4 5 „ … † 7 ‡ ˆ Primitive Flow Table For each stable state, determine which other stable states it moves to and fill in the unstable states.

Constructing the Primitive Flow Table Row 00 01 11 10 T 1  6 - 2 3 8 ‚ ƒ 4 5 „ … † 7 ‡ ˆ Primitive Flow Table Fill in the don’t cares.

Constructing the Merged Flow Table F R Rows 00 01 11 10 2,3 ƒ 4 8 ‚ 5 „ - … 6 2 1,6  † 7,8 3 ‡ ˆ Merged Flow Table F R Row 00 01 11 10 T 1  6 - 2 3 8 ‚ ƒ 4 5 „ … † 7 ‡ ˆ Primitive Flow Table

Assigning the States ƒ ‚ „ …  † ‡ ˆ Draw a Transition Diagram indicating movement among the merged rows. F R Rows 00 01 11 10 2,3 ƒ 4 8 ‚ 5 „ - … 6 2 1,6  † 7,8 3 ‡ ˆ Merged Flow Table

Assigning the States ƒ ‚ „ …  † ‡ ˆ Assign the states such that races are held to a minimum. F R Rows 00 01 11 10 2,3 ƒ 4 8 ‚ 5 „ - … 6 2 1,6  † 7,8 3 ‡ ˆ Merged Flow Table 000 010 100 011 110

Construct the full Merged Flow Table Construct the merged flow table accordingly, indicating the races. Merged Flow Table F R Rows 00 01 11 10 Y 1 2 3 2,3 ƒ 4 8 ‚ 0 1 0 5 „ - … 6 1 0 1,6  † 7,8 ‡ ˆ 0 1 1 0 1 We need to find alternative routes for the three races.

Construct the full Merged Flow Table Replace the races with two-step movements. F R Rows 00 01 11 10 Y 1 2 3 2,3 ƒ 4 8 ‚ 0 1 0 5 „ - … 6 1 0 1,6  † 7,8 ‡ ˆ 0 1 1 0 1 Note that individual steps of these two-step movements must themselves not be races. Merged Flow Table

Construct the K-map for the S and R inputs For cells with stable states… and the don’t cares... Merged Flow Table F R Rows 00 01 11 10 Y 1 2 3 2,3 ƒ 4 8 ‚ 0 1 0 5 „ - … 6 1 0 1,6  † 7,8 ‡ ˆ 0 1 1 0 1 - S1 R1

Construct the K-map for the S and R inputs For cells with unstable states… Merged Flow Table F R Rows 00 01 11 10 Y 1 2 3 2,3 ƒ 4 8 ‚ 0 1 0 5 „ - … 6 1 0 1,6  † 7,8 ‡ ˆ 0 1 1 0 1 1 - - 1 S1 R1

And the others... Similarly the K-maps for the S and R inputs for the flip-flops Y2 and Y3 are derived. The K-map for the output T is then derived using both the merged flow table and the primitive flow table.

Systems with Inputs which are not completely random X1 X2 Parts with a rectangular cross-section move on a conveyor belt. As shown above, two photoelectric sensor, x1 and x2, detect whether a part passing through is “standing up” or “lying down”. The sensor output is a logic 1 if a part is detected. The parts are required to be in the sequence (DOWN, DOWN, UP) with this sequence repeated continuously. Any incoming part which breaks this required sequence will cause an output signal T=1 is to be produced. This is used to actuate a cylinder which pushes these parts off the conveyor belt. Example 2

Systems with Inputs which are not completely random Note that the inputs X1 and X2 are not completely randomly actuated. As a “lying down” part and a “standing up” part passes through, they change as shown. Example 2 When a “down” part passes through, X1X2 go through 00, 01, 00. When an “up” part passes through, X1X2 go through 00, 01, 11, 10, 00.

When a “down” part passes through, X1X2 go through 00, 01, 00. When an “up” part passes through, X1X2 go through 00, 01, 11, 10, 00. 10 10/1 9 11/0 12 10/1 11 11/0 1 00/0 2 01/0 3 00/0 4 01/0 8 10/0 7 11/0 6 01/0 5 00/0 13 00/1

End of Random Inputs