170 likes | 339 Views
This lecture, presented by Dr. Shi from the Dept. of Electrical and Computer Engineering, delves into the analysis of sequential circuits. Key topics include understanding flip-flops and their stored values, clocked sequential circuits, and various representations of state such as state equations, state tables, and state diagrams. The core concepts of finite state machines are also discussed, highlighting the differences between Mealy and Moore machines. Attendees will learn how to analyze state behavior, next states based on inputs, and the importance of state representations in digital circuit design.
E N D
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 15 Dr. Shi Dept. of Electrical and Computer Engineering
Overview • Understanding flip flop state: • Stored values inside flip flops • Clocked sequential circuits: • Contain flip flops • Representations of state: • State equations • State table • State diagram • Finite state machines • Mealy machine • Moore machine
x D0 Q0 Q1 Q D Q’ y Q Q1 D Q0 Q’ D1 Clk y(t) = x(t)Q1(t)Q0(t) Q0(t+1) = D0(t) = x(t)Q1(t) Q1(t+1) = D1(t) = x(t) + Q0(t) Flip Flop State Behavior of clocked sequential circuit can be determined from inputs, outputs and FF state
x D0 Q0 Q1 Q D Q’ y Q Q1 D Q0 Q’ D1 Clk y(t) = x(t)Q1(t)Q0(t) Q0(t+1) = D0(t) = x(t)Q1(t) Q1(t+1) = D1(t) = x(t) + Q0(t) Output and State Equations Next state dependent on previous state. Output equation State equations
Next State Output Present State x=0 x=1 x=0 x=1 0 0 0 1 1 0 1 1 00 10 0 0 10 10 0 0 00 11 0 0 10 11 0 1 Q1(t) Q0(t) Q1(t+1) Q0(t+1) State Table • Sequence of outputs, inputs, and flip flop states enumerated in state table • Present state indicates current value of flip flops • Next state indicates state after next rising clock edge • Output is output value on current clock edge State Table
Next State Output Present State x=0 x=1 x=0 x=1 Let: s0 = 00 s1 = 01 s2 = 10 s3 = 11 s0 s1 s2 s3 s0s2 0 0 s2s2 0 0 s0s3 0 0 s2s3 0 1 State Table • All possible input combinations enumerated • All possible state combinations enumerated • Separate columns for each output value. • Sometimes easier to designate a symbol for each state.
1/1 11 Next State Output Present State x=0 x=1 x=0 x=1 0 0 0 1 1 0 1 1 00 100 0 10 100 0 00 110 0 10 110 1 State Diagram • Circles indicate current state • Arrows point to next state • For x/y, x is input and y is output 0/0 0/0 0/0 00 01 10 1/0 1/0 0/0 1/0
1/1 0/0 0/0 0/0 s0 s1 s2 1/0 s3 0/0 1/0 1/0 State Diagram • Each state has two arrows leaving • One for x = 0 and one for x = 1 • Unlimited arrows can enter a state • Note use of state names in this example • Easier to identify
Flip Flop Input Equations Boolean expressions which indicate the input to the flip flops. x D0 Q0 Q1 Q D Q’ y Q Q1 D Q0 Q’ D1 Clk DQ0 = xQ1 DQ1 = x + Q0 Format implies type of flop used
Analysis with D Flip-Flops Identify flip flop input equations Identify output equation Note: this example has no output
Mealy Machine • Output based on state and present input Comb. Logic Comb. Logic Q(t+1) Flip Flops next state Q(t) Y(t) present state X(t) present input clk
Moore Machine • Output based on state only Comb. Logic Comb. Logic Y(t) Q(t+1) Flip Flops next state Q(t) present state X(t) present input clk
State Diagram with One Input & One Mealy Output • State transitions are shown as a function of inputs and current outputs. e.g. 1 0/0 Input(s)/Output(s) shown in transition S1 1/0 1/1 S4 S2 0/0 0/0 0/0 1/0 S3 1/0
State Diagram with One Input & a Moore Output • Moore machine: outputs only depend on the current state • Outputs cannot change during a clock pulse if the input variables change • Moore Machines usually have more states. • No direct path from inputs to outputs • Can be more reliable
Summary • Flip flops contain state information • State can be represented in several forms: • State equations • State table • State diagram • Possible to convert between these forms • Circuits with state can take on a finite set of values • Finite state machine • Two types of “machines” • Mealy machine • Moore machine