CS 226: Digital Logic Design

Similar documents
Chapter 5. Sequential Logic

Lesson 12 Sequential Circuits: Flip-Flops

Engr354: Digital Logic Circuits

ECE380 Digital Logic

Lecture 8: Synchronous Digital Systems

Memory Elements. Combinational logic cannot remember

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Flip-Flops and Sequential Circuit Design. ECE 152A Winter 2012

Flip-Flops and Sequential Circuit Design

Having read this workbook you should be able to: recognise the arrangement of NAND gates used to form an S-R flip-flop.

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Module 3: Floyd, Digital Fundamental

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

ENEE 244 (01**). Spring Homework 5. Due back in class on Friday, April 28.

CHAPTER 11 LATCHES AND FLIP-FLOPS

Sequential Logic Design Principles.Latches and Flip-Flops

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Digital Logic Design Sequential circuits

7. Latches and Flip-Flops

Flip-Flops, Registers, Counters, and a Simple Processor

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

WEEK 8.1 Registers and Counters. ECE124 Digital Circuits and Systems Page 1

Asynchronous Counters. Asynchronous Counters

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

CHAPTER 3 Boolean Algebra and Digital Logic

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Theory of Logic Circuits. Laboratory manual. Exercise 3

BINARY CODED DECIMAL: B.C.D.

SEQUENTIAL CIRCUITS. Block diagram. Flip Flop. S-R Flip Flop. Block Diagram. Circuit Diagram

IE1204 Digital Design F12: Asynchronous Sequential Circuits (Part 1)

Counters and Decoders

Combinational Logic Design Process

L4: Sequential Building Blocks (Flip-flops, Latches and Registers)

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

CSE140: Components and Design Techniques for Digital Systems

Master/Slave Flip Flops

DIGITAL COUNTERS. Q B Q A = 00 initially. Q B Q A = 01 after the first clock pulse.

DIGITAL ELECTRONICS. Counters. By: Electrical Engineering Department

CS311 Lecture: Sequential Circuits

Digital Electronics Detailed Outline

Chapter 9 Latches, Flip-Flops, and Timers

CDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012

Lecture-3 MEMORY: Development of Memory:

Layout of Multiple Cells

Upon completion of unit 1.1, students will be able to

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Counters are sequential circuits which "count" through a specific state sequence.

Fig1-1 2-bit asynchronous counter

Digital Electronics Part I Combinational and Sequential Logic. Dr. I. J. Wassell

Counters. Present State Next State A B A B

Design Example: Counters. Design Example: Counters. 3-Bit Binary Counter. 3-Bit Binary Counter. Other useful counters:

Contents COUNTER. Unit III- Counters

So far we have investigated combinational logic for which the output of the logic devices/circuits depends only on the present state of the inputs.

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

Sequential Circuit Design

(1) /30 (2) /30 (3) /40 TOTAL /100

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute. 2nd (Spring) term 2012/2013

CHAPTER IX REGISTER BLOCKS COUNTERS, SHIFT, AND ROTATE REGISTERS

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

Decimal Number (base 10) Binary Number (base 2)

DATA SHEETS DE COMPONENTES DA FAMÍLIA LÓGICA TTL GATES AND INVERTERS POSITIVES NAND GATES AND INVERTERS DESCRIÇÃO

Sequential Logic: Clocks, Registers, etc.

Counters & Shift Registers Chapter 8 of R.P Jain

Cascaded Counters. Page 1 BYU

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

CHAPTER 11: Flip Flops

Lecture 10 Sequential Circuit Design Zhuo Feng. Z. Feng MTU EE4800 CMOS Digital IC Design & Analysis 2010

Chapter 8. Sequential Circuits for Registers and Counters

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Registers & Counters

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Asynchronous counters, except for the first block, work independently from a system clock.

Lecture 7: Clocking of VLSI Systems

EE360: Digital Design I Course Syllabus

Digital Fundamentals

DIGITAL TECHNICS II. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: REGISTERS AND RELATED

DEPARTMENT OF INFORMATION TECHNLOGY

Design: a mod-8 Counter

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Modeling Latches and Flip-flops

(Refer Slide Time: 00:01:16 min)

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Lecture 11: Sequential Circuit Design

Gates, Circuits, and Boolean Algebra

A New Paradigm for Synchronous State Machine Design in Verilog

FINITE STATE MACHINE: PRINCIPLE AND PRACTICE

Systems I: Computer Organization and Architecture

Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

State Machines in VHDL

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

Lecture 10: Sequential Circuits

Lab 1: Study of Gates & Flip-flops

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Finite State Machine Design and VHDL Coding Techniques

Advanced Logic Design Techniques in Asynchronous Sequential Circuit Synthesis

ASYNCHRONOUS COUNTERS

Transcription:

CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 44

Objectives In this lecture we will introduce: 1. Synchronous Sequential circuits 2. Logic circuits that can store information (latches and flip-flops) 3. Analysis of sequential circuits 4. State reduction and Assignment 5. Design Procedure 2 of 44

Objectives Synchronous Sequential Circuits Storage Elements Analysis of Clocked Sequential Circuits Synthesis of Clocked Sequential Circuits 3 of 44

Combinational Circuits input variables i 1 i 2 o 1 = i 1.i 2 o 1 o 2 output variables o 2 = i 2 Combinational circuits: Consists only of logic gates The output are determined by the present value of input Circuit behavior specified by a set of Boolean functions, Truth-tables, K-maps We have learned techniques to analyze and synthesize such circuits Examples: Adder, Multiplexers, Encoders, Decoders, etc. 4 of 44

Sequential Circuits o 1 = i 1.i 2.s 1 input variables i 1 i 2 o 2 = i 2 +s 2 o 1 o 2 output variables s 1 = i 1.s 1.s 2 state variables s 1 s 2 s 2 = s 2+s 1 s 2 s 1 Memory Elements Sequential Circuits: Consists of logic gates and storage elements The output are determined by the present value of the input and the state of the storage elements In effect, the output may depend on past values of the input via the state of the storage elements Circuit behavior specified by timed sequence of input and internal states via state machines 5 of 44

Classification of Sequential Circuits Timing Diagram of a clock pulse 1. Synchronous sequential circuits: Behavior defined from knowledge of signals at discrete instants of time. Synchronization is achieved by a timing device called clock generator which provides a clock signal having periodic train of clock pulses. Storage elements change state only at the arrival of the pulse. Easy to design, however the performance (speed) depends on frequency of clock signal. 6 of 44

Classification of Sequential Circuits Timing Diagram of a clock pulse 1. Synchronous sequential circuits: Behavior defined from knowledge of signals at discrete instants of time. Synchronization is achieved by a timing device called clock generator which provides a clock signal having periodic train of clock pulses. Storage elements change state only at the arrival of the pulse. Easy to design, however the performance (speed) depends on frequency of clock signal. 2. Asynchronous sequential circuits: The behavior depends upon the input signal at any instant of time and order in which input changes. Asynchronous circuits do not use clock pulses, and the storage elements change states as soon as the input signal changes Have better performance, but extremely difficult to design correctly. 6 of 44

Memory Elements Can maintain a binary state indefinitely (as long as circuit is powered) Memory elements can be considered as the most basic form of sequential circuits. Major difference between various memory elements are in the number of inputs and how the input affects the binary state. We will next introduce the following memory elements: Latches (operate with signal levels, aka level-sensitive devices) SR (set-reset) latches D (data) latches Flip-flops (operate by clock transitions, aka edge-sensitive devices) Master-Slave flip-flops Edge-triggered flip-flops JK flip-flop T (toggle) flip-flop RAM and ROM bulk memory elements (will discuss in another lecture) 7 of 44

Objectives Synchronous Sequential Circuits Storage Elements Analysis of Clocked Sequential Circuits Synthesis of Clocked Sequential Circuits 8 of 44

Basic Latches with NOR Gates SR Latches R Q S Q S R Q Q 1 0 1 0 0 0 1 0 (after S = 1 and R = 0) 0 1 0 1 0 0 0 1 (after S = 0 and R = 1) 1 1 0 0 (forbidden) 9 of 44

Basic Latches with NAND Gates S.R Latches S Q R Q S R Q Q 1 0 0 1 1 1 0 1 (after S = 1 and R = 0) 0 1 1 0 1 1 1 0 (after S = 0 and R = 1) 0 0 1 1 (forbidden) 10 of 44

SR Latches with Control Input S Q En R Q En S R Next State of Q 0 X X No Change 1 0 0 No Change 1 0 1 Q = 0; Reset State 1 1 0 Q = 1; Set State 1 1 1 Indeterminate 11 of 44

D Latches D Q En Q En D Next State of Q 0 X No Change 1 0 Q = 0; Reset State 1 1 Q = 1; Set State 12 of 44

Graphical Symbols for Latches S S D R R En SR S.R D 13 of 44

Problem with Latches o 1 = i 1.i 2.s 1 input variables i 1 i 2 o 2 = i 2 +s 2 o 1 o 2 output variables s 1 = i 1.s 1.s 2 state variables s 1 s 2 s 2 = s 2+s 1 s 2 s 1 L2 L1 Clk Latches operate with signal level Feedback path in sequential circuits Unpredictable situation since the states may keep on changing as long as clock pulse is high! Why? 14 of 44

Problem with Latches o 1 = i 1.i 2.s 1 input variables i 1 i 2 o 2 = i 2 +s 2 o 1 o 2 output variables s 1 = i 1.s 1.s 2 state variables s 1 s 2 s 2 = s 2+s 1 s 2 s 1 L2 L1 Clk Latches operate with signal level Feedback path in sequential circuits Unpredictable situation since the states may keep on changing as long as clock pulse is high! Why? Solution: Force latches to change their state only once during a clock cycle! 14 of 44

Clock response in storage elements (a) Response to positive level (b) Positive-Edge Response (a) Negative-Edge Response 15 of 44

Master-Slave D Flip-flop D Y D Q D D latch (master) D latch (slave) En En En Notice at what time input value is transferred Is it positive-edge triggered. or negative edge-triggered? 16 of 44

D-type Positive-Edge-Triggered Flip-Flop Clk Q Q D Made with three SR latches Consider the following three cases: When Clk is 0 When Clk goes to 1, while D is at 0 (What if D changes when clk is still high) When En goes to 1, while D is at 1 (What if D changes when clk is still high) setup and hold times 17 of 44

Graphical Symbols for Flip-flops D D Clk Clk a) Positive-Edge Triggered b) Negative-Edge Triggered 18 of 44

J-K Flip-Flop J D Q K J Clk Q K Clk a) Circuit Diagram b) Graphical symbol Three functions: set, reset, and complement Construct form D-flip-flops Two inputs J and K such that J sets, K resets, both complement, while both low keep the old value. How? 19 of 44

J-K Flip-Flop J D Q K J Clk Q K Clk a) Circuit Diagram b) Graphical symbol Three functions: set, reset, and complement Construct form D-flip-flops Two inputs J and K such that J sets, K resets, both complement, while both low keep the old value. How? D = JQ + K Q. 19 of 44

T Flip-Flop T D T J T K Clk Clk Clk a) From D-Flip-flop b) From J-K flip-flop c) Graphical symbol Single input T that toggles (complements) the state Can be constructed from both D flip-flop or J-K flip-flop D = T Q J = K = T. 20 of 44

Characteristic Table A characteristic table defines the logical properties of a flip-flop by describing its operation in tabular form. J-K Flip-flop D Flip-flop T Flip-flop J K Q(t + 1) 0 0 Q(t) No Change 0 1 0 Reset 1 0 1 Set 1 1 Q(t) Complement D Q(t + 1) 0 0 Reset 1 1 Set T Q(t + 1) 0 Q(t) Reset 1 Q(t) Set 21 of 44

Characteristic Equations The logical properties of a filp-flop can be described algebraically with a characteristic equation. The characteristic equation for J-K Flip-flop is Q(t + 1) = J.Q + K.Q The characteristic equation for D Flip-flop is Q(t + 1) = D The characteristic equation for T Flip-flop is Q(t + 1) = Q T + Q T = Q T 22 of 44

Objectives Synchronous Sequential Circuits Storage Elements Analysis of Clocked Sequential Circuits Synthesis of Clocked Sequential Circuits 23 of 44

Analysis of Sequential Circuits A J S J S C B K S K Clk A J T J T K T K Clk 24 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. How do we specify a clocked sequential circuits? 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. How do we specify a clocked sequential circuits? Output variables as a function of input variables, using 1. natural language Ok. 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. How do we specify a clocked sequential circuits? Output variables as a function of input variables, using 1. natural language Ok. 2. logic gates Ok. 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. How do we specify a clocked sequential circuits? Output variables as a function of input variables, using 1. natural language Ok. 2. logic gates Ok. 3. Boolean expressions, Wait a minute! 25 of 44

Representation of Sequential Circuits How do we specify a combinational circuits? Output variables as a function of input variables, using 1. natural language, 2. logic gates, 3. Boolean expressions, and 4. Truth-tables or K-maps. How do we specify a clocked sequential circuits? Output variables as a function of input variables, using 1. natural language Ok. 2. logic gates Ok. 3. Boolean expressions, Wait a minute! 4. Truth-tables or K-maps. 25 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? 26 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? due to storage elements that introduce state variables 26 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? due to storage elements that introduce state variables state variables act both as input and output variables 26 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? due to storage elements that introduce state variables state variables act both as input and output variables output variables may depend on both the input variables and current value of state variables 26 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? due to storage elements that introduce state variables state variables act both as input and output variables output variables may depend on both the input variables and current value of state variables The next value of state variables may also depend on input variable and the current value of the state variable 26 of 44

Clocked Sequential Circuits How to express clocked sequential circuits using Boolean expressions. How clocked sequential circuits are different? due to storage elements that introduce state variables state variables act both as input and output variables output variables may depend on both the input variables and current value of state variables The next value of state variables may also depend on input variable and the current value of the state variable Solution: We need two copies of a state variable A present-state variable A(t) representing the present value of A and next-state variable A(t + 1) representing the value of A one clock-edge later Specify output variables and next-state variables as function of input variables and present-state variables. 26 of 44

Clocked Sequential Circuits: State Equations State Equations or transition equations A(t + 1) = A(t) x(t) + B(t) x(t) B(t + 1) = A(t) x(t) y(t) = (A(t) + B(t)) x(t) To simplify, we omit (t) from the right hand side, and write: A(t + 1) = A x + B x B(t + 1) = A x y(t) = (A + B) x 27 of 44

Clocked Sequential Circuits: State Tables Present State Input Next State Output A B x A B y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 State table for A(t + 1) = Ax + Bx, B(t + 1) = Ax and y = Ax + Bx. 28 of 44

Clocked Sequential Circuits: State Tables Present State NextState Output x = 0 x = 1 x = 0 x = 1 A B A B A B y y 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 State table for A(t + 1) = Ax + Bx, B(t + 1) = Ax and y = Ax + Bx. 29 of 44

Clocked Sequential Circuits: State Diagram 1/0 0/0 0/1 00 10 1/0 0/1 0/1 1/0 01 1/0 11 30 of 44

Clocked Sequential Circuits: Input Equations A D S D S C B Clk We call D Q the D-input of a flip-flop whose output is labeled with symbol Q. The input equation for D S is D S = A Q + (B C) 31 of 44

Clocked Sequential Circuits: Input Equations A D S D S C B Clk We call D Q the D-input of a flip-flop whose output is labeled with symbol Q. The input equation for D S is D S = A Q + (B C) Combining the input equation with the characteristic equation of the flip-flop will give the next-state equation. Consider S(t + 1) = D S = A S + (B C). 31 of 44

Clocked Sequential Circuits: Input Equations A J S J S C B K S K Clk Here the inputs are The input equation for J S and K S are: J S = A S + (B C) K S = S. 32 of 44

Clocked Sequential Circuits: Input Equations A J S J S C B K S K Clk Here the inputs are The input equation for J S and K S are: J S = A S + (B C) K S = S. Combining the input equation with the characteristic equation of the flip-flop will give the next-state equation. Consider S(t + 1) = J S.S + K S.S = (A S + (B C)) S + S S. 32 of 44

Exercise Given a gate description of a clocked synchronous circuit, construct the following: State equations State table State diagram 33 of 44

Objectives Synchronous Sequential Circuits Storage Elements Analysis of Clocked Sequential Circuits Synthesis of Clocked Sequential Circuits 34 of 44

Synthesis of Sequential Circuits The procedure for designing synchronous sequential circuits: 1. From the word description and specification of the desired operation, derive a state diagram for the circuit. 2. Reduce the number of states if necessary. 3. Assign binary values to the states. 4. Obtain the binary-coded state table. 5. Choose the type of flip-flops to be used. 6. Derive the simplified flip-flop input equations and output equations. 7. Draw the logic diagram. 35 of 44

Step 1: Deriving State Diagram Derive state diagrams for the following problems: 1. Sequence Detector: Design a circuit that detects a sequence of three of more consecutive 1 s. 2. Binary Counter: Design a circuit for three-bit binary counter. 3. Binary Counter: Design a circuit for three-bit binary counter with one input w such that if w = 0 the count remains, and if w = 1 the count is incremented. 4. Up-and-Down Binary Counter: Design a circuit for three-bit binary counter with one input w such that if w = 0 the count is decremented, and if w = 1 the count is incremented. 5. Even-Parity Checker: Design a circuit for even-parity checker with two inputs w and reset, and one output z such that z = 1 if the number of times sigma w has been 1 s since the previous reset is even. 6. Outputs 1 whenever the input bit sequence has exactly two 0s in the last three input bits. 36 of 44

Example 1: Sequence Detector 0/0 0/0 1/0 S 0 S 1 0/1 0/0 1/0 1/1 S 3 1/0 S 2 a) Mealy machine 37 of 44

Example 1: Sequence Detector 0/0 0/0 1/0 S 0 S 1 0 0 1 S 0 /0 S 1 /0 0/1 0/0 1/0 0 0 1 1/1 S 3 1/0 S 2 1 S 3 /1 1 S 2 /0 a) Mealy machine b) Moore machine 37 of 44

Step 2: State Reduction State reduction is desirable since it may reduces the number of flip-flop required to implement the circuit. Two states are said to be equivalent if, for each member of the set of input, they give exactly same output and send the circuit either to same state or to an equivalent state. When two states are equivalent, one of them can be removed without changing the function of the circuit. It is difficult to tell whether two states are equivalent, but slightly easy to tell when they are not equivalent. Idea: Implication table. (Section 9.5) Examples. 38 of 44

Step 3: State Assignment Assign unique binary values to states 39 of 44

Step 3: State Assignment Assign unique binary values to states For n states we need at least log 2 (n) variables to encode the states. Three possible binary state assignments: 39 of 44

Step 3: State Assignment Assign unique binary values to states For n states we need at least log 2 (n) variables to encode the states. Three possible binary state assignments: State Binary Gray Code One-Hot a 000 000 00001 b 001 001 00010 c 010 011 00100 d 011 010 01000 e 100 110 10000 In which situations you would prefer binary, gray, or one-hot encoding? 39 of 44

Example 1: Sequence Detector 0/0 0/0 1/0 00 01 0/1 0/0 1/0 1/1 11 1/0 10 a) Mealy machine with Binary Assignment 40 of 44

Example 1: Sequence Detector 0 0 00/0 1 01/0 0 0 1 1 10/1 1 11/0 b) Moore machine with Gray Code Assignment 40 of 44

Example 1: Sequence Detector 0/0 1/0 0/0 0001 0010 0/1 0/0 1/0 1/1 1000 1/0 0100 c) Mealy machine with One-Hot Assignment 40 of 44

Example 1: Sequence Detector 0 0 1111/0 1 1011/0 0 0 1 1 1110/1 1 1100/0 d) Moore machine with Arbitrary Assignment 40 of 44

Step 4: Obtain binary-coded State Table Present State Input Next State Output A B x A B y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 41 of 44

Step 5: Choose Flip-flops Present State Input Next State Output A B x A B y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 We need to store each state as a flip-flop such as D, J-K or T flip flops. We need to compute input logic for our flip-flops in order to properly change the state. The most common used flip-flop is of-course a D-flip-flop (Why?) 42 of 44

Excitation Table A excitation table defines the logical properties of the input of a flip-flop in order to make a desired change in the input. J-K Flip-flop T Flip-flop D Flip-flop Q(t) Q(t + 1) J K 0 0 0 0 1 1 1 0 1 1 1 0 Q(t) Q(t + 1) T 0 0 0 0 1 1 1 0 1 1 1 0 43 of 44

Step 6 and Step 7 Using excitation table and state table, derive state table for corresponding flip-flop inputs Using K-maps simplify the flip-flop input equations and the output equations Draw the logic diagram. 44 of 44