ENG241 Digital Design Week #7 Sequential Circuits (Part B)

Slides:



Advertisements
Similar presentations
COE 202: Digital Logic Design Sequential Circuits Part 2
Advertisements

State-machine structure (Mealy)
State Machine Design Procedure
COE 202: Digital Logic Design Sequential Circuits Part 3
A. Abhari CPS2131 Sequential Circuits Most digital systems like digital watches, digital phones, digital computers, digital traffic light controllers and.
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
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 Design Part II. Output A(t+1) =D A = AX + BX B(t+1) =D B = AX Y = AX + BX.
Sequential Logic Design with Flip-flops
Registers.1. Register  Consists of N Flip-Flops  Stores N bits  Common clock used for all Flip-Flops Shift Register  A register that provides the.
Sequential Circuit Design
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.
Give qualifications of instructors: DAP
1 COMP541 State Machines Montek Singh Feb 6, 2007.
Sequential Circuit Design
Overview Sequential Circuit Design Specification Formulation
Sequential Circuits Problems(I) Prof. Sin-Min Lee Department of Mathematics and Computer Science Algorithm = Logic + Control.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Digital Logic Design Lecture 26. Announcements Exams will be returned on Thursday Final small quiz on Monday, 12/8. Final homework will be assigned Thursday,
1 Synchronous Sequential Circuit Analysis. 2 Synchronous Sequential Circuit State Memory – A set of n edge-triggered flip-flops that store the current.
Sequential circuit design
IKI c-Synthesis of Sequential Logic Bobby Nazief Semester-I The materials on these slides are adopted from: Prof. Daniel Gajski’s transparency.
Digital Computer Design Fundamental
1 Chapter 5 Synchronous Sequential Logic 5-1 Sequential Circuits Every digital system is likely to have combinational circuits, most systems encountered.
Chapter 5 - Part Sequential Circuit Design Design Procedure  Specification  Formulation - Obtain a state diagram or state table  State Assignment.
Rabie A. Ramadan Lecture 2
(Sequential Logic Circuit)
Synchronous Sequential Logic Part I
Synchronous Sequential Logic Part II
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Chap 4. Sequential Circuits
Chap 4. Sequential Circuits
Introduction to Sequential Circuit By : Pn Siti Nor Diana Ismail CHAPTER 5.
George Mason University ECE 545 – Introduction to VHDL ECE 545 Lecture 5 Finite State Machines.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
1 Lecture #12 EGR 277 – Digital Logic Synchronous Logic Circuits versus Combinational Logic Circuits A) Combinational Logic Circuits Recall that there.
CPEN Digital System Design Chapter 5 - Sequential Circuits Sequential Circuit Design C. Gerousis © Logic and Computer Design Fundamentals, 4 rd Ed.,
1 Lecture 22 Sequential Circuits Analysis. 2 Combinational vs. Sequential  Combinational Logic Circuit  Output is a function only of the present inputs.
ENG241 Digital Design Week #8 Registers and Counters.
1 © 2014 B. Wilkinson Modification date: Dec Sequential Logic Circuits Previously, we described the basic building blocks of sequential circuits,
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.
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.
DESIGN OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
VHDL Discussion Finite State Machines
Analysis and Synthesis of Synchronous Sequential Circuits A “synchronizing” pulse/edge signal (clock) controls the operation of the memory portion of the.
VHDL Discussion Finite State Machines IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Registers; State Machines Analysis Section 7-1 Section 5-4.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL State Machines Anselmo Lastra.
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.
Sequential Circuit Design 05 Acknowledgement: Most of the following slides are adapted from Prof. Kale's slides at UIUC, USA.
Fuw-Yi Yang1 數位系統 Digital Systems Department of Computer Science and Information Engineering, Chaoyang University of Technology 朝陽科技大學資工系 Speaker: Fuw-Yi.
Finite State Machines (part 1)
Week #7 Sequential Circuits (Part B)
ANALYSIS OF SEQUENTIAL CIRCUITS
FIGURE 5.1 Block diagram of sequential circuit
Princess Sumaya University
CENG 241 Digital Design 1 Lecture 11
Chapter 5 Synchronous Sequential Logic 5-1 Sequential Circuits
MTE 202, Summer 2016 Digital Circuits Dr.-Ing. Saleh Hussin
DESIGN OF SEQUENTIAL CIRCUITS
Finite State Machines (part 1)
Chapter5: Synchronous Sequential Logic – Part 4
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Chapter5: Synchronous Sequential Logic – Part 3
COE 202: Digital Logic Design Sequential Circuits Part 3
Presentation transcript:

ENG241 Digital Design Week #7 Sequential Circuits (Part B)

2 Week #7 Topics  Sequential Circuit Analysis  Sequential Circuit Design Designing with D Flip-Flops Designing with JK Flip-Flops Designing with T Flip-Flops  VHDL Representations  Examples

3Resources  Chapter #6, Mano Sections 6.4 Sequential Circuit Analysis 6.5 Sequential Circuit Design 6.7 VHDL Representation of Sequential circuits

4 Analysis of Sequential Circuits  Earlier we learned how to analyze combinational circuits  We will extend analysis to synchronous sequential  We’ll use 1. State tables and 2. State diagrams

5 Review: Flip Flops

6 Analysis of Sequential Circuits  The behavior of a sequential circuit is determined from:  Inputs,  Outputs,  Present state of the circuit.  The analysis of a sequential circuit consists of:  Obtaining a suitable description that demonstrates the time sequence of inputs, outputs and states (STATE DIAGRAM).

7 Step #1: Derive Input Equations  Can describe inputs to FF with logic equations

8 Another Example

9 Input Equations  The input equations 1. Imply the type of flip-flop from the letter symbols, 2. Fully specify the combinational circuit that drives the flip-flops.

10 Time is Implied  Note that previous circuit used the next state Present state (A, B,..) to determine next state output State and inputs to determine output  Synchronous circuit  When are transitions?

Step #2: State Table  Similar to truth table with state added  A sequential circuit with `m’ FFs and `n’ inputs needs 2 m+n rows in state table. 11

12 Step#3: State Diagram “Mealy Model” An alternative representation to State Table Input/Output Input Output

13 Sequential Circuit Types  Moore model states only  Moore model – outputs depend on states only.  Mealy model inputs & states  Mealy model – outputs depend on inputs & states

14 State Diagram: Moore Alternative representation for state table State/Output Inputs

15 Moore vs. Mealy Machine  Moore Machine: Easy to understand and easy to code.  Might requires more states (thus more hardware).  Mealy Machine:  More complex since outputs are a function of both the state and input. Requires less states in most cases, therefore less components.  Choice of a model depends on the application and personal preference.  You can transform a Mealy Machine to a Moore Machine and vice versa.

16 State Table vs. Diagram  Provides same information  Table is perhaps easier to fill in from description  Diagram is easier for understanding and writing code  Analysis for sequential circuits that employs D flip flops is easy. Why?  Because the next state values are obtained directly from the input equations.

17 Analysis with JK Flip Flops  For circuits with other types of flip flops such as JK, the next state values are obtained by following the two step procedure: 1. Obtain the binary values of each flip-flop input equation in terms of the present state and input variables. flip-flop characteristic 2. Use the corresponding flip-flop characteristic to determine the next state.

18 Analysis with JK Flip Flops  J A = B  J B = x’  K A = Bx’  K B = A’x + Ax’ = A  x

19 JK Analysis: State Table  J A = B  K A = Bx’  J B = x’  K B = A’x + Ax’ = A  x Flip Flop Inputs JK Characteristic Table I. Use the Input equations to determine the FF inputs. next state. II. Use the FF inputs and Table to determine the next state.

20 JK Analysis State Table  J A = B  J B = x’  K A = Bx’  K B = A’x + Ax’ = A  x Flip Flop Inputs

21 JK Analysis: State Diagram

22 Analysis vs. Design  The analysis of sequential circuits starts from a circuit diagram and culminates in a state table or state diagram.  The design of a sequential circuit starts from a set of specifications and we should obtain the state diagram and finally the logic diagram.

23 Design Procedure specification  Design starts from a specification and results in a logic diagram or a list of Boolean functions.  The steps to be followed are: 1. Derive a state diagram 2. Reduce the number of states 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

24 Sequential Circuit Design  Remember that a synchronous sequential circuit is made up of flip flops and combinational gates.  Part of the design is to choose the flip-flop type and combinational circuit structure which, together with the flip-flops produce a circuit that fulfills the stated specification.  How many FLIP FLOPS? 1. The number of flip-flops is determined from the number of states in the circuit 2. n flip-flops can represent up to 2 n binary states. 3. Examples: 1. 2 states requires a single Flip Flop 2. 4 states requires two flip flops 3. 8 states requires three flip flops 4. 7 states requires again three flip flops …

25 Designing with D Flip-Flops Design a clocked sequential circuit that operates according to the state diagram.

26 Synthesizing Using D Flip Flops  The next step is to create a state table and then select two D flip flops to represent the four states, labeling their outputs as A and B.  There is one input, x, and one output, y, representing the input sequence and the output value respectively.  Remember that the characteristic equation of the D flip flop is  Q(t + 1) = D Q  This means that the next-state values in the state table specify the D input condition for the flip flop.

27 Designing with D Flip-Flops Input equations can be obtained directly from the table using minterms:  A(t + 1) = D A (A, B, x) = ∑m(2,4,5,6)  B(t + 1) = D B (A, B, x) = ∑m(1,3,5,6)

28 Designing with D Flip-Flops However, we have to minimize the expression in a similar way used for combinational logic design!

29 Designing with D Flip-Flops

30 Designing with D Flip-Flops D A = AB’ + BX’ D B = A’X + B’X+ ABX’ Y = B’X

31 A Sequence Detector  Design a circuit that detects a sequence of three ones. Circuit Detects `111’ at input InputOutput I. Create the state diagram Moore Machine

32 Synthesizing Using D Flip Flops II. The next step is to create a state table and then select two D flip flops to represent the four states, labeling their outputs as A and B. III. There is one input, x, and one output, y, representing the input sequence and the output value respectively. IV. The output y is `1’ only when we detect the input sequence of `111’

33 State Table for Sequence Detector  Input equations can be obtained directly from the table using minterms:  A(t + 1) = D A (A, B, x) = ∑m(3, 5, 7)  B(t + 1) = DB(A, B, x) = ∑m(1, 5, 7)  y(A, B, x) = ∑m(6, 7)

34 Boolean Minimization  K-Maps can be used to minimize the input equations, resulting in  D A = Ax + Bx  D B = Ax + B’x  Y = AB

35 Logic Diagram of Sequence Detector

36 Sequential Circuits with different Flip Flops (JK, T)  The design of sequential circuits other than D type flip flops is complicated by the fact that input equations must be derived indirectly from the state table.  It is necessary to derive a functional relationship between the state table and the input equations.

37 Excitation Table  During the design, we usually know the transition from present to next state but we need to find the flip flop input conditions that will cause the required transition.  We need a table that lists the required inputs for a given change of state, called an excitation table.

38 Excitation Tables Characteristic Table Excitation Table Characteristic Table Excitation Table

39 Synthesis Using JK Flip Flops  Synthesis of circuits with JK flip flops is the same as with D flip flops  Except that the input equations must be evaluated from the present-state to the next-state transition derived from the excitation table.

40 Example: JK Synthesis Example: No output Step #1: Obtain State Table

41 JK Synthesis: State Table 00 Present State Next State

42 Cont.. Example JK Synthesis Step #2: Use K-Maps

43 Cont.. Example JK Synthesis A Bx XXXX JA = BX’

44 Cont.. Example JK Synthesis

45 Cont.. JK Synthesis Logic Diagram

46 Synthesis Using T Flip Flops Synthesis of circuits with T flip flops is the same as with JK flip flops … except that the input equations must be evaluated from the present-state to the next-state transition derived from the T excitation table.

47 Synthesis Using T Flip Flops  Design a counter that counts from “000” to “111” and then back to “000” again.  Constraint: Use T Flip-Flops

48 A Counter using T Flip Flops  Notice the only input is the clock!

49 Example: T Flip Flop Synthesis 0

50 Cont.. T Flip Flops  By using K-maps we can minimize the flip flop input equations. T T T 1 A0A0 A1A1 A2A2

51 One Dimensional Tables

52 Two Dimensional Tables Same thing, different layout

53 Example – Sequence Recognizer (VHDL)  Circuit has input: W and output: Z  Recognizes sequence of 11 on W Specifically, if W has been 1 and next bit is 1, make Z high  Design a Moore and Mealy Machines Sequence Recognizer W Z

54 Sequence Recognizer (Mealy) Clk: t0t1t2t3t4t5t6t7t8t9t10 w: z: A B w=1/z=0 w=0/z=0 Reset w=0/z=0 w=1/z=1

55 Mealy: Implementation Clk:t0t1t2t3t4t5t6t7t8t9t10 w: z: A B w=1/z=0 w=0/z=0 Reset w=0/z=0 w=1/z=1

56 -- (Mealy Machine of Sequence Recognizer) library IEEE; use IEEE.std_logic_1164.all; entity SeqRec_Mealy is port (reset, clk, w: in std_logic; z: out std_logic); end entity SeqRec_Mealy; architecture behavioral of SeqRec_Mealy is type statetype is (A, B); -- define new type signal present_state, next_state: statetype; Begin clk_process: process(reset,clk) begin if reset = ‘1’ then -- Check for reset and initialize state present_state <= A; Elsif (rising_edge(clk)) then -- wait until the rising edge present_state <= next_state; end if; end process clk_process; end architecture behavioral; next_out_process: process(present_state,w) is begin case present_state is -- depending upon current state when A => -- set output signals and next state if w = '0' then next_state <= A; z <= ‘0'; else next_state <= B; z <= '0'; end if; when B => if w = '1' then next_state <= B; z <= ‘1'; else next_state <= A; z <= ‘0'; end if; end case; end process next_out_process; A B w=1/z=0 w=0/z=0 Reset w=0/z=0 w=1/z=1

57 Sequence Recognizer (Moore) A/z=0B/Z=0 C/z=1 w=1 w=0 w=1 w=0 w=1 w=0 Reset Clk: t0t1t2t3t4t5t6t7t8t9t10 w: z:

58 Moore: Implementation A/z=0 B/Z=0 C/z=1 w=1 w=0 w=1 w=0 w=1 w=0 Reset Clk : t0t1t2t3t4t5t6t7t8t9t10 w: z:

-- (Moore Machine of Sequence Recognizer) library IEEE; use IEEE.std_logic_1164.all; entity SeqRec_Moore is port (reset, clk, w: in std_logic; z: out std_logic); end entity SeqRec_Moore; architecture behavioral of SeqRec_Moore is type statetype is (A, B,C); -- define new type signal present_state, next_state: statetype; Begin clk_process: process( reset, clk) begin if reset = ‘1’ then -- Check for reset and initialize state present_state <= A; Elsif (rising_edge(clk)) then -- wait until the rising edge present_state <= next_state; end if; end process clk_process; next_state_process: process( present_state, w) is begin case present_state is -- depending upon current state when A => -- set next state if w = '0' then next_state <= A; else next_state <= B; end if; when B => if w = ‘0' then next_state <= A; else next_state <= C; end if; when C => if w = ‘0’ then next_state <= A; else next_state <= C; end case; end process next_state_process; output_process: process( present_state) is begin case present_state is -- depending upon current state when A => -- set output signals z<= ‘0’; when B => z<= ‘0’; when C => z<= ‘1’; end case; end process output_process; End architecture behavioral, A / z =0 B / Z =0 C/z=1 w=1 w=0 w=1 w=0 w=1 w=0 Reset 59

61 T Flip Flop Analysis  Analysis of a sequential circuit with T flip flops follows the same procedure outlined for JK flip flops.  The next state values in the state table can be obtained by using the characteristic table or the characteristic equation  Q(t + 1) = T  Q = T’Q + TQ’

62 T Flip Flop Analysis Example T T y A B R R x CLKReset  T A = Bx  T B = x  Y = AB

63 T Flip Flop Analysis State Table  T A = Bx  T B = x  Y = AB  A(t + 1) = T A  A = Bx  A  B(t + 1) = T B  B = x  B