cse 140: components and design techniques for digital...

28
CSE 140: Components and Design Techniques for Digital Systems Lecture 9: Sequential Networks: Implementation CK Cheng Dept. of Computer Science and Engineering University of California, San Diego 1

Upload: others

Post on 11-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

CSE 140: Components and Design

Techniques for Digital Systems

Lecture 9:

Sequential Networks: Implementation

CK Cheng

Dept. of Computer Science and Engineering

University of California, San Diego

1

Page 2: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation

• Format and Tool

• Procedure

• Excitation Tables

• Example

2

Page 3: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

3

Mealy Machine: yi(t) = fi(X(t), S(t))

Moore Machine: yi(t) = fi(S(t))

si(t+1) = gi(X(t), S(t))

C1 C2

CLK

x(t)

y(t)

Mealy Machine

C1 C2

CLK

x(t) y(t)

Moore Machine

S(t) S(t)

Canonical Form: Mealy and Moore Machines

Page 4: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

D

iClicker

4

y

CLK

x Q

In the logic diagram below, a D flip-flop has input x and output y.

A: x= Q(t), y=Q(t)

B: x=Q(t+1), y=Q(t)

C: x=Q(t), y=Q(t+1)

D: None of the above

Page 5: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Understanding Current State and Next

State in a sequential circuit

5

today

sunrise

Preparing for

tomorrow according

to our effort in today

Page 6: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

C1 C2

CLK

x(t)

y(t)

Implementation Format

Q(t)

Q(t+1) = h(x(t), Q(t)) Circuit C1

y(t) = f(x(t), Q(t)) Circuit C2 6

Canonical Form: Mealy & Moore machines

State Table Netlist

Tool: Excitation Table

Page 7: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation Tool: Excitation Table

7

x(t)

Q(t)

CLK

C1

id x(t) Q(t) Q(t+1)

0 0 0 1

1 1 1 0

2 0 0 1

3 1 1 0

State Table

Find D, T, (S R), (J K) to drive F-Fs

Page 8: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation Tool: Excitation Table

8

x(t)

Q(t)

CLK

Q(t)

C1 id x(t) Q(t) T(t) Q(t+1)

0 0 0 1 1

1 1 1 1 0

2 0 1 0 1

3 1 1 1 0

id x(t) Q(t) Q(t+1)

0 0 0 1

1 1 1 0

2 0 1 1

3 1 1 0

State Table

Excitation Table

Example with T flip flop

T(t)

Page 9: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation Tool: Excitation Table

9

x(t)

Q(t)

CLK

Q(t)

C1 id x(t) Q(t) T(t) Q(t+1)

0 0 0 1 1

1 1 1 1 0

2 0 1 0 1

3 1 1 1 0

Excitation Table

Implement combinational logic C1

D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of (x,Q(t))

Page 10: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation: Procedure State Table => Excitation Table

Problem: Given a state table, we have

NS: Q(t+1) = h(x(t),Q(t))

We find D, T, (S R), (J K) to drive F-Fs from

Q(t) to Q(t+1).

Excitation Table: The setting of

D(t), T(t), (S(t) R(t)), (J(t) K(t)) to drive

Q(t) to Q(t+1).

We implement combinational logic C1

D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of

(x,Q(t)). 10

Page 11: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation: Procedure State Table => Excitation Table

Problem: Given a state table, we have

NS: Q(t+1) = h(x(t),Q(t))

We find D, T, (S R), (J K) to drive F-Fs from

Q(t) to Q(t+1).

Excitation Table: The setting of

D(t), T(t), (S(t) R(t)), (J(t) K(t)) to drive

Q(t) to Q(t+1).

We implement combinational logic C1

D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of

(x,Q(t)). 11

Page 12: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation: Procedure F-F State Table <=> F-F Excitation Table

12

DTSRJK

PS

Q(t) NS Q(t+1)

NS Q(t+1)

PS

Q(t) DTSRJK

•D F-F •D(t)= eD(Q(t+1), Q(t))

•T F-F •T(t)= eT(Q(t+1), Q(t))

•SR F-F •S(t)= eS(Q(t+1), Q(t)) •R(t)= eR(Q(t+1), Q(t))

•JK F-F •J(t)= eJ(Q(t+1), Q(t)) •K(t)= eK(Q(t+1), Q(t))

Page 13: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

State table of JK F-F:

00

0

1

01

0

0

10

1

1

11

1

0

0

1 Q(t) Q(t+1)

JK

Excitation table of JK F-F:

0

0-

-1

1

1-

-0

0

1

PS NS

Q(t)

Q(t+1)

JK

If Q(t) is 1, and Q(t+1) is 0, then JK needs to be -1.

Excitation Table

13

Page 14: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Excitation Tables and State Tables

0

0-

01

1

10

-0 0

1

PS NS

Q(t)

Q(t+1) SR

Excitation Tables:

0

0

1

1

1

0 0

1

PS NS

Q(t)

Q(t+1) T

00

0

1

01

0

0

0

1

PS SR

Q(t)

Q(t+1)

SR 10

1

1

11

-

-

0

0

1

1

1

0 0

1

PS T

Q(t)

Q(t+1)

T

State Tables:

14

Page 15: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

0

0-

-1

1

1-

-0 0

1

PS NS

Q(t)

Q(t+1) JK

Excitation Tables:

0

0

0

1

1

1

0

1

PS NS

Q(t)

Q(t+1) D

00

0

1

01

0

0 0

1

PS JK

Q(t)

Q(t+1)

JK 10

1

1

11

1

0

0

0

0

1

1

1

0

1

PS D

Q(t)

Q(t+1)

D

State Tables:

Excitation Tables and State Tables

15

Page 16: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation: Procedure 1. State table: y(t)= f(Q(t), x(t)), Q(t+1)= h(x(t),Q(t))

2. Excitation table of F-Fs:

• D(t)= eD(Q(t+1), Q(t));

• T(t)= eT(Q(t+1), Q(t));

• (S, R), or (J, K)

3. From 1 & 2, we derive excitation table of the system

• D(t)= gD(x(t),Q(t))= eD(h(x(t),Q(t)),Q(t));

• T(t)= gT(x(t),Q(t))= eT(h(x(t),Q(t)),Q(t));

• (S, R) or (J, K).

4. Use K-map to derive optional combinational logic implementation.

• D(t)= gD(x(t),Q(t))

• T(t)= gT(x(t),Q(t))

• y(t)= f(x(t),Q(t))

16

Page 17: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Implementation: Example

Implement a JK F-F with a T F-F

00

0

1

01

0

0

0

1

PS JK

Q(t)

Q(t+1) = h(J(t),K(t),Q(t)) = J(t)Q’(t)+K’(t)Q(t)

JK 10

1

1

11

1

0

Implement a JK F-F:

Q

Q’ C1

J

K T

17

Q

Page 18: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

id

0

1

2

3

4

5

6

7

J(t)

0

0

0

0

1

1

1

1

K(t)

0

0

1

1

0

0

1

1

Q(t)

0

1

0

1

0

1

0

1

Q(t+1)

0

1

0

0

1

1

1

0

T(t)

0

0

0

1

1

0

1

1

0

0

1

1

1

0 0

1

PS NS

Q(t)

Q(t+1) Excitation Table of T Flip-Flop T(t) = Q(t) ⊕ Q(t+1)

T(t) = Q(t) XOR ( J(t)Q’(t) + K’(t)Q(t))

Excitation Table of the Design

Example: Implement a JK flip-flop using a T flip-flop

T

18

Page 19: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

0 2 6 4

1 3 7 5

Q(t)

J

0 0 1 1

0 1 1 0

K T(J,K,Q):

T = K(t)Q(t) + J(t)Q’(t)

Q

Q’

J

K

T

Example: Implement a JK flip-flop using a T flip-flop

19

Page 20: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

iClicker

20

Given a flip-flop, the relation of its state table

and excitation table is

A.One to one

B.One to many

C.Many to one

D.Many to many

E.None of the above

Page 21: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

21

Let’s implement our free running 2-bit counter using T-flip flops

S0

S1

S2

S3

PS Next state S1

S2

S3

S0

State Table

S0

S1

S2

S3

Page 22: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

22

Let’s implement our free running 2-bit counter using T-flip flops

S0

S1

S2

S3

S1

S2

S3

S0

State Table

S0

S1

S2

S3

State Table with Assigned

Encoding

0 0

0 1

1 0

1 1

Current 01

10

11

00

Next

Page 23: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

23

Let’s implement our free running 2-bit counter using T-flip flops

id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)

0 0 0 0 1

1 0 1 1 0

2 1 0 1 1

3 1 1 0 0

Excitation table

Page 24: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

24

Let’s implement our free running 2-bit counter using T-flip flops

id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)

0 0 0 0 1 0 1

1 0 1 1 1 1 0

2 1 0 0 1 1 1

3 1 1 1 1 0 0

Excitation table

Page 25: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

25

Let’s implement our free running 2-bit counter using T-flip flops

id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)

0 0 0 0 1 0 1

1 0 1 1 1 1 0

2 1 0 0 1 1 1

3 1 1 1 1 0 0

Excitation table

T0(t) =

T1(t) =

Q0(t+1) = T0(t) Q’0(t)+T’0(t)Q0(t)

Q1(t+1) = T1(t) Q’1(t)+T’1(t)Q1(t)

Page 26: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

26

Let’s implement our free running 2-bit counter using T-flip flops

id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)

0 0 0 0 1 0 1

1 0 1 1 1 1 0

2 1 0 0 1 1 1

3 1 1 1 1 0 0

Excitation table

T0(t) = 1

T1(t) = Q0(t)

Page 27: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

27

T Q

Q’

T Q

Q’

Q0

Q1

1

T1

Free running counter with T flip flops

T0(t) = 1

T1(t) = Q0(t)

Page 28: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:

Summary: Implementation

28

• Set up canonical form

• Mealy or Moore machine

• Identify the next states

• state diagram ⇨ state table

• state assignment

• Derive excitation table

• Inputs of flip flops

• Design the combinational logic

• don’t care set utilization