Lecture 10: Synchronous Sequential Circuits Design

Similar documents
Synchronous Sequential Circuit Design. Digital Computer Design

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

Chapter 15 SEQUENTIAL CIRCUITS ANALYSIS, STATE- MINIMIZATION, ASSIGNMENT AND CIRCUIT IMPLEMENTATION

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

Finite State Machine (FSM)

Fundamentals of Digital Design

Lecture 8: Sequential Networks and Finite State Machines

Sequential logic and design

Finite State Machine. By : Ali Mustafa

Clocked Synchronous State-machine Analysis

EECS150 - Digital Design Lecture 23 - FSMs & Counters

The Design Procedure. Output Equation Determination - Derive output equations from the state table

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

Digital Circuits and Systems

Total time is: 1 setup, 2 AND, 3 XOR, 1 delay = (1*1) + (2*2) + (3*3) + (1*1) = 15ns

EECS150 - Digital Design Lecture 18 - Counters

EECS150 - Digital Design Lecture 18 - Counters

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

Models for representing sequential circuits

CprE 281: Digital Logic

3. Complete the following table of equivalent values. Use binary numbers with a sign bit and 7 bits for the value

or 0101 Machine

Digital Logic and Design (Course Code: EE222) Lecture 19: Sequential Circuits Contd..

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

EECS150 - Digital Design Lecture 17 - Sequential Circuits 3 (Counters)

ECE380 Digital Logic. Synchronous sequential circuits

Sequential Logic Circuits

Chapter 5 Synchronous Sequential Logic

Lecture 14 Finite state machines

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Lecture 3 Review on Digital Logic (Part 2)

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

CPE100: Digital Logic Design I

Digital Logic Design - Chapter 5

EEE2135 Digital Logic Design

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

COE 202: Digital Logic Design Sequential Circuits Part 3. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Philadelphia University Student Name: Student Number:

Ch 7. Finite State Machines. VII - Finite State Machines Contemporary Logic Design 1

Sequential Synchronous Circuit Analysis

Philadelphia University Student Name: Student Number:

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

FYSE420 DIGITAL ELECTRONICS

Chapter 4. Sequential Logic Circuits

Adders allow computers to add numbers 2-bit ripple-carry adder

ENGG 1203 Tutorial _03 Laboratory 3 Build a ball counter. Lab 3. Lab 3 Gate Timing. Lab 3 Steps in designing a State Machine. Timing diagram of a DFF

Logical design of digital systems

ENGG 1203 Tutorial. Solution (b) Solution (a) Simplification using K-map. Combinational Logic (II) and Sequential Logic (I) 8 Feb Learning Objectives

Final Exam. ECE 25, Spring 2008 Thursday, June 12, Problem Points Score Total 90

Clocked Sequential Circuits UNIT 13 ANALYSIS OF CLOCKED SEQUENTIAL CIRCUITS. Analysis of Clocked Sequential Circuits. Signal Tracing and Timing Charts

CPE100: Digital Logic Design I

EECS150 - Digital Design Lecture 16 Counters. Announcements

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Problem Set 9 Solutions

ECE 341. Lecture # 3

Lecture 17: Designing Sequential Systems Using Flip Flops

Different encodings generate different circuits

10/12/2016. An FSM with No Inputs Moves from State to State. ECE 120: Introduction to Computing. Eventually, the States Form a Loop

EGR224 F 18 Assignment #4

Sample Test Paper - I

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

ELCT201: DIGITAL LOGIC DESIGN

COEN 312 DIGITAL SYSTEMS DESIGN - LECTURE NOTES Concordia University

Topic 8: Sequential Circuits

State Graphs FSMs. Page 1

Homework #4. CSE 140 Summer Session Instructor: Mohsen Imani. Only a subset of questions will be graded

CSE 140 Spring 2017: Final Solutions (Total 50 Points)

Synchronous Sequential Logic Part I. BME208 Logic Circuits Yalçın İŞLER

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 7 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

COE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

Lecture 14: State Tables, Diagrams, Latches, and Flip Flop

Lecture 7: Logic design. Combinational logic circuits


ELE2120 Digital Circuits and Systems. Tutorial Note 9

CSCI 2150 Intro to State Machines

Latches. October 13, 2003 Latches 1

CSE 140: Components and Design Techniques for Digital Systems. Lecture 9: Sequential Networks: Implementation

Digital Logic Design - Chapter 4

Chapter 4 Part 2 Sequential Circuits

Appendix A: Digital Logic. Principles of Computer Architecture. Principles of Computer Architecture by M. Murdocca and V. Heuring

CPE100: Digital Logic Design I

Logic Design II (17.342) Spring Lecture Outline

FSM model for sequential circuits

State and Finite State Machines

ELEN Electronique numérique

Design of Sequential Circuits

Sequential Logic (3.1 and is a long difficult section you really should read!)

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

EE 209 Logic Cumulative Exam Name:

Digital Design 2010 DE2 1

Lecture (08) Synchronous Sequential Logic

Example: vending machine

CS221: Digital Design. Dr. A. Sahu. Indian Institute of Technology Guwahati

BER KELEY D AV IS IR VINE LOS AN GELES RIVERS IDE SAN D IEGO S AN FRANCISCO

University of Toronto Faculty of Applied Science and Engineering Final Examination

Transcription:

Lecture 0: Synchronous Sequential Circuits Design. General Form Input Combinational Flip-flops Combinational Output Circuit Circuit Clock.. Moore type has outputs dependent only on the state, e.g. ripple counters, and shift registers..2. Mealy type has outputs dependent on both the state and the input (additional dashed line in the diagram). If the input is not clocked, then the output may change at any time during a clock cycle. 2. Basic Design Steps 2.. For this demonstration we will create an edge detecting circuit. For this, we will define an edge as a position in a string of 0 s and s where a 0 is adjacent to a. Essentially, this an XOR of adjacent bits. Since this involves remembering the previous value, we will have different states of the machine. 2.2. State Transition Diagram minimizing the number of states. 2.2.. We convert the word description that has states based on patterns of inputs, and transitions between states based on individual input values. 2.2.2. For our diagram, we will have S i as our start state, and label each state as S xy where x is the previous bit, and y is the current bit. This system ensures that each state has a unique label, and minimizes the number of states. The values inside each state are the output of the circuit, where 0 indicates no edge, and indicates an edge was detected. 0 S 0 0 S 00 S 0 0 0 0 S i 0 0 0 S S 0 S 0 0 0 0 2.3. State Table = a table that lists all transitions from each present state to the next state for different values of the input signal. Note that the output z is specified with respect to the present state, and x is the next input. Present State Next State Output x = 0 x = z i 0 0 0 00 0 0 0 0 00 00 0 0 0 0 0 00 0 0 0 2.4. Choice of Flip-Flops and Derivation of Next-State and Output Expressions 2.4.. For example we will keep things simple, and choose to use DFF. 2.4.2. Moore Model

2.4.2.. Assign binary codes to each state. Since we have seven states, we will need three DFF to represent the possible states. We will have A, B, and C as the present state of the corresponding flip-flops Present State Binary Present State Input Next State Output Code A B C x A B C z i 000 0 0 0 0 0 0 0 i 000 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.4.2.2. Create K-Map for each flip-flop based on input and present state. A B C 00 0 00 0 0 0 0 00 0 0 0 0 0 0 0 0 d 0 0 d 0 0 0 d 0 0 0 0 d 0 0 d 0 d A = BC + AC + B = C x + C= x 2.4.2.3. Use derivations from the K-maps to design initial combinational circuit. 2.4.2.4. Create a K-Map based on flip-flops to determine the output combinational circuit. z 0 0 0 0 C 0 0 0 z = 2.4.3. Mealy model usually involves less circuitry, and does here. 2.4.3.. Just need a DFF to remember previous bit and then XOR with input!.

3. State-Assignment Problem 3.. One-Hot Encoding 4. 5. Parallel Register This is the end of the intro to sequential design. Next step is to use this stuff, start creating state diagrams and solving word problems. Now - how do we work with FF's? How do we design sequential circuits? Model of Sequential circuit: Remember our model? +-----------------+ X----> ------> Z Idealized X2----> ------> Z2 Combinational Y+---> -----+ Y' Logic Y2' +--> ---+ Y2 +-----------------+ +------Delay Element<-----+ +-------Delay Element<-------+ Well, the delay elements are replaced by FF's, and you have this: +-----------------+ X----> ------> Z X2----> ------> Z2 Combinational Y+---> -----+ Y' Logic Y2' +--> ---+ Y2 +-----------------+ +----+ +-------- FF <----------+ +----+ +--------- FF <------------+ +----+ The set of FF's is a register, for example, and the combinational logic might be the adder. (I have left off all the...'s that should be in here - obviously there can be more than just 2 inputs and 2 outputs.) OK - designing sequential circuits. We need a way to convert a specification (a word description) into the circuitry necessary to make it happen. We start by developing a state transition diagram - from this we can figure out what needs to be done. So, for example, think of an electronic (or non-electronic, for that matter) lock. We need to describe the machine: Correct

Not +--------------+ st Number +---------------------+ st+---- State 0 ---------------> State # Wrong Number st Number received +---> Lock Closed <--------------- Lock Closed +--------------+ Incorrect +---------------------+ ^ ^ 2nd Number Any Correct Input +-------------------------+ 2nd Number Incorrect 3rd Number \ / +--------------+ +---------------------+ State 3 State 2 3rd Number in 2nd Number received Lock Open <--------------- Lock Closed +--------------+ Correct +---------------------+ 3rd Number This State Transition diagram describes the behavior of the machine. Remember, State implies memory. We get to a given state based on a pattern of inputs. In digital design, memory = FF's. So we get to a given state based on the state we are currently in and the inputs at this time. Assume the lock has two buttons, only one button can be pushed at a time, and the combination is "LRL". To implement this, we need a couple more things - we need an input alphabet, an output alphabet, and a state alphabet. By convention, the state alphabet is usually in terms of Y's, the input alphabet is in terms of X's, and the outputs are in terms of Z's. What states? Y0, Y, Y2, etc. What inputs? X0, X, X2, etc. What outputs? Z0, Z, Z2, etc. So our lock has 4 states, Y0, Y, Y2 and Y3. (Draw 4 circles here, corresponding to the 4 boxes above. Put Y0 in upper left, Y in upper right, Y2 in lower right, Y3 in lower left. Now, draw in the arcs between circles indicating transitions, and write above each arc the input values. In the Moore model, the output value is put inside the circle. So an arc with 0 indicates left button high right button low, 0 is left low right high.) The state transition diagram points out an interesting question - should the output be a function of the current state only, or a function of the current state and the current inputs? This is up to the designer. The two different possibilities have distinct names: Mealy model - Outputs (Z's) are a function of the state we are in and the inputs at a given time. Moore model - outputs are a function purely of the current state. In the case of the lock, for instance - do you want the output to be high while you are pushing the 3rd number, or high until you push the next number (or for a fixed amount of time). Having it high only while pushing the last correct digit might make it tricky to get in the door if the lock is not right next to it. However, Mealy models almost always require less circuitry.

The ripple counter and shift register examples we did last time are Moore circuits - the output comes directly out of the FF's, and is independent of the current value of the input. Now show how the lock could be written with only 3 circles if Mealy model is used. (When writing Mealy model, you write the inputs above the arc as above, but the output is written immediately below the inputs. So 0/ would indicate the left button is high, right button low, and output is. 0/0 would indicate the left button is low, right button high, and output is 0).