46
COE 202: Digital Logic Design Sequential Circuits Part 3 KFUPM Courtesy of Dr. Ahmad Almulhem

COE 202: Digital Logic Design Sequential Circuits Part 3

  • Upload
    laasya

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

COE 202: Digital Logic Design Sequential Circuits Part 3. Courtesy of Dr. Ahmad Almulhem. Objectives. Design of Synchronous Sequential Circuits Procedure Examples Important Design Concepts State Reduction and Assignment. Design of Synchronous Sequential Circuits. - PowerPoint PPT Presentation

Citation preview

Page 1: COE 202: Digital Logic Design Sequential Circuits Part 3

COE 202: Digital Logic DesignSequential Circuits

Part 3

KFUPM

Courtesy of Dr. Ahmad Almulhem

Page 2: COE 202: Digital Logic Design Sequential Circuits Part 3

Objectives• Design of Synchronous Sequential

Circuits• Procedure• Examples

• Important Design Concepts• State Reduction and Assignment

KFUPM

Page 3: COE 202: Digital Logic Design Sequential Circuits Part 3

Design of Synchronous Sequential Circuits• The design of a clocked sequential circuit starts from a

set of specifications and ends with a logic diagram (Analysis reversed!)

• Building blocks: flip-flops, combinational logic• Need to choose type and number of flip-flops• Need to design combinational logic together with flip-

flops to produce the required behavior• The combinational part is

• flip-flop input equations• output equations

KFUPM

Page 4: COE 202: Digital Logic Design Sequential Circuits Part 3

Design of Synchronous Sequential CircuitsDesign Procedure:

• Obtain a state diagram from the word description• State reduction if necessary

• Obtain State Table• State Assignment• Choose type of flip-flops• Use FF’s excitation table to complete the table

• Derive state equations• Obtain the FF input equations and the output equations• Use K-Maps

• Draw the circuit diagram

KFUPM

Page 5: COE 202: Digital Logic Design Sequential Circuits Part 3

Step1: Obtaining the State Diagram•A very important step in the design procedure.•Requires experience!

Example: Design a circuit that detects a sequence of three consecutive 1’s in a string of bits coming through an input line (serial bit stream)

KFUPM

Page 6: COE 202: Digital Logic Design Sequential Circuits Part 3

Step1: Obtaining the State Diagram•A very important step in the design procedure.•Requires experience!

Example: Design a circuit that detects a sequence of three consecutive 1’s in a string of bits coming through an input line (serial bit stream)

KFUPM

Page 7: COE 202: Digital Logic Design Sequential Circuits Part 3

Step2: Obtaining the State Table•Assign binary codes for the states•We choose 2 D-FF

•Next state specifies what should be the input to each FF

Example: Design a circuit that detects a sequence of three consecutive 1’s in a string of bits coming through an input line (serial bit stream)

KFUPM

Page 8: COE 202: Digital Logic Design Sequential Circuits Part 3

Step3: Obtaining the State EquationsUsing K-Maps•A(t + 1) = DA = ∑(3,5,7) = A x + B x

•B(t + 1) = DB = ∑(1,5,7) = A x + B’ x

•y = ∑(6,7) = A B

Example: Design a circuit that detects a sequence of three consecutive 1’s in a string of bits coming through an input line (serial bit stream)

KFUPM

Page 9: COE 202: Digital Logic Design Sequential Circuits Part 3

Step4: Draw CircuitsUsing K-Maps•A(t + 1) = DA = ∑(3,5,7) = A x + B x

•B(t + 1) = DB = ∑(1,5,7) = A x + B’ x

•y = ∑(6,7) = A B

Example: Design a circuit that detects a sequence of three consecutive 1’s in a string of bits coming through an input line (serial bit stream)

KFUPM

Page 10: COE 202: Digital Logic Design Sequential Circuits Part 3

Design with Other types of FF• In designing with D-FFs, the input equations are

obtained from the next state (simple!)• It is not the case when using JK-FF and T-FF !• Excitation Table: Lists the required inputs that will

cause certain transitions.• Characteristic tables used for analysis, while excitation tables

used for design

KFUPM

+ +

Page 11: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1Problem: Design of A Sequence Recognizer Design a circuit that reads as inputs continuous bits, and

generates an output of ‘1’ if the sequence (1011) is detected

Input 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 Output 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0

KFUPM

X Y

Page 12: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)Step1: State Diagram

KFUPM

Sequence to be detected:1011

Page 13: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 2: State Table

OR

Page 14: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 2: State Table state assignment

Q: How many FF?

log2(no. of states)

Page 15: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 2: State Table choose FFIn this example, lets use JK–FF

for A and D-FF for B

Page 16: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 2: State Table complete state tableuse excitation tables for JK–FF

and D-FF

D–FF excitation table

JK–FF excitation tableNextState

output

Page 17: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 3: State Equations use k-map

JA = BX’

KA = BX + B’X’

DB = X

Y = ABX’

Page 18: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 1 (cont.)

KFUPM

Step 4: Draw Circuit

JA = BX’

KA = BX + B’X’

DB = X

Y = ABX’

Page 19: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2

KFUPM

Problem: Design of A 3-bit CounterDesign a circuit that counts in binary form as follows

000, 001, 010, … 111, 000, 001, …

Page 20: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2 (cont.)

KFUPM

Step1: State Diagram

- The outputs = the states- Where is the input?- What is the type of this

sequential circuit?

Page 21: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2 (cont.)

KFUPM

Step2: State Table

No need for state assignment here

Page 22: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2 (cont.)

KFUPM

Step2: State Table

We choose T-FF

T–FF excitation table

0

Page 23: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2 (cont.)

KFUPM

Step3: State Equations

Page 24: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 2 (cont.)

KFUPM

Step4: Draw Circuit

TA0 = 1TA1 = A0

TA2 = A1A0

Page 25: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 3

KFUPM

Problem: Design of A Sequence Recognizer Design a Moore machine to detect the sequence (111).

The circuit has one input (X) and one output (Z).

Page 26: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 3 (cont.)

KFUPM

Step1: State Diagram Sequence to be detected:111

S0/0 S1/0 S2/0 S3/1

1

0

1 1

0

0

0 1

Page 27: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 3 (cont.)

KFUPM

Step2: State TableUse binary encodingUse JK-FF and D-FF

S0/0 S1/0 S2/0 S3/1

1

0

1 1

0

0

0 1

Page 28: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 3 (cont.)

KFUPM

Step4: Draw CircuitFor step3, use k-maps as

usual

JA = XBKA = X’DB = X(A+B)Z = A.B

Page 29: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 3 (cont.)

KFUPM

Timing Diagram (verification)Question: Does it detect 111 ?

Page 30: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 4

KFUPM

N

S

EW

Traffic Action

EW only EW Signal greenNS Signal red

NS only NS Signal greenEW Signal red

EW & NS Alternate

No traffic Previous state

Problem: Design a traffic light controller for a 2-way intersection. In each way, there is a sensor and a light

Page 31: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 4 (cont.)

KFUPM

EW / 10NS / 01

INPUTS

• Sensors X1, X0

X0: car coming on NSX1 : car coming on EW

11, 10

00, 01 00, 10

11, 01

OUTPUTS

• Light S1, S0

S0 : NS is greenS1 : EW is green

STATES

• NS: NS is green• EW: EW is green

Step1: State Diagram

Page 32: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 4 (cont.)Exercise: Complete the design using:

• D-FF• JK-FF• T-FF

KFUPM

Page 33: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 5Problem: Design Up/Down counter with EnableDesign a sequential circuit with two JK flip-flops A and

B and two inputs X and E. If E = 0, the circuit remains in the same state, regardless of the input X. When E = 1 and X = 1, the circuit goes through the state transitions from 00 to 01 to 10 to 11, back to 00, and then repeats. When E = 1 and X = 0, the circuit goes through the state transitions from 00 to 11 to 10 to 01, back to 00 and then repeats.

KFUPM

Page 34: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 5 (cont.)

00 01

1011

0001

10 11 1011

10

11

11

0001

0001

10

0001

Present State

Inputs

Next State

FF Inputs

A B E X A B JA KA JB KB

0 0 0 0 0 0 0 X 0 X0 0 0 1 0 0 0 X 0 X0 0 1 0 1 1 1 X 1 X0 0 1 1 0 1 0 X 1 X0 1 0 0 0 1 0 X X 00 1 0 1 0 1 0 X X 00 1 1 0 0 0 0 X X 10 1 1 1 1 0 1 X X 11 0 0 0 1 0 X 0 0 X1 0 0 1 1 0 X 0 0 X1 0 1 0 0 1 X 1 1 X1 0 1 1 1 1 X 0 1 X1 1 0 0 1 1 X 0 X 01 1 0 1 1 1 X 0 X 01 1 1 0 1 0 X 0 X 11 1 1 1 0 0 X 1 X 1

KFUPM

Page 35: COE 202: Digital Logic Design Sequential Circuits Part 3

Example 5 (cont.)

JA = BEX + B’EX’

EXAB

00 01 11 10

00 x x x x01 x x x x11 0 0 1 010 0 0 0 1

KA = BEX + B’EX’

EXAB

00 01 11 10

00 0 0 0 101 0 0 1 011 x x x x10 x x x x

JB = E

EXAB

00 01 11 10

00 x x x x01 0 0 1 111 0 0 1 110 x x x X

KB = E

EXAB

00 01 11 10

00 0 0 1 101 x x x x11 x x x x10 0 0 1 1

Y

X

JA

C

A

A’KA

E

clock

JB

C

B

B’KB

KFUPM

Page 36: COE 202: Digital Logic Design Sequential Circuits Part 3

More Design Examples• More design examples can be found at

• Homework 5• Textbook• Course CD• Google

KFUPM

Page 37: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction• Two sequential circuits may exhibits the

same input-output behavior, but have a different number of states

• State Reduction: The process of reducing the number of states, while keeping the input-output behavior unchanged.

• It results in less Flip flops• It may increase the combinational logic!

KFUPM

Page 38: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)Is it possible to reduce this FSM?• How many states?• How many input/outputs?

Notes: • we use letters to denote states rather

than binary codes• we only consider input/output

sequence and transitions

KFUPM

Page 39: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Step 1: get the state table

Page 40: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Step 1: get the state tableStep 2: find similar states

• e and g are equivalent states• remove g and replace it with e

Page 41: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Step 1: get the state tableStep 2: find similar states

• e and g are equivalent states• remove g and replace it with e

Page 42: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Step 1: get the state tableStep 2: find similar states

• d and f are equivalent states• remove f and replace it with d

Page 43: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Step 1: get the state tableStep 2: find similar states

• d and f are equivalent states• remove f and replace it with d

Page 44: COE 202: Digital Logic Design Sequential Circuits Part 3

State Reduction (Example)

KFUPM

Reduced FSM

Verify sequence:State a a b c d e f f g finput 0 1 0 1 0 1 1 0 1

output 0 0 0 0 0 1 1 0 1

Page 45: COE 202: Digital Logic Design Sequential Circuits Part 3

State Assignmnet

KFUPM

State Assignment: Assign unique binary codes to the states

• For m states, we need log2 m bits (FF)

Example• Three Possible Assignments:

Page 46: COE 202: Digital Logic Design Sequential Circuits Part 3

Summary• To design a synchronous sequential circuit:

• Obtain a state diagram• State reduction if necessary

• Obtain State Table• State Assignment• Choose type of flip-flops• Use FF’s excitation table to complete the table

• Derive state equations• Use K-Maps• Obtain the FF input equations and the output equations

• Draw the circuit diagram

KFUPM