ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301...

35
ECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included herein were taken from the materials accompanying Fundamentals of Logic Design, 6 th Edition, by Roth and Kinney, and were used with permission from Cengage Learning.

Transcript of ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301...

Page 1: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

ECE 301 – Digital Electronics

Latches and Flip-Flops

(Lecture #18)

The slides included herein were taken from the materials accompanying

Fundamentals of Logic Design, 6th Edition, by Roth and Kinney,

and were used with permission from Cengage Learning.

Page 2: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 2

Brief introductionto

Sequential Logic Circuits

Page 3: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 3

Sequential Logic Circuits

● The output of a sequential logic circuit is dependent not only on the present inputs, but also on the past sequence of the inputs.

● A sequential logic circuit must “remember” the past history of the inputs.

● It does this using basic memory elements.

– Latches

– Flip-Flops

Page 4: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 4

Sequential Logic Circuits

Combinational

Logic

CircuitMemory

inputsoutputs

Page 5: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 5

Basic Memory Elements

Page 6: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 6

Basic Memory Elements

● Latch

– Clock input is level sensitive.

– Output can change multiple times during a clock cycle.

– Output changes while clock is active.

● Flip-Flop

– Clock input is edge sensitive.

– Output can change only once during a clock cycle.

– Output changes on clock transition.

Page 7: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 7

Basic Memory Elements

Both latches and flip-flops use feedback to achieve “memory”.

Page 8: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 8

Feedback Circuit with 2 Stable States

What is the problem with this circuit?

Page 9: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 9

Latches

Page 10: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 10

Set-Reset (SR) Latch

● A Set-Reset Latch has two inputs

– Set (S) input

– Reset (R) input

● It can be constructed from two cross-coupled NOR gates or two cross-coupled NAND gates.

● It has three modes of operation

– Set: Latch output set to 1 (Q+ = 1)

– Reset: Latch output reset to 0 (Q+ = 0)

– Store: Latch output does not change (Q+ = Q)

Page 11: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 11

SR Latch: using NOR gates

A B NOR

0 X X'

1 X 0

Feedback NOR gates

Page 12: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 12

SR Latch: Set (S = 1, R = 0)

A B NOR

0 X X'

1 X 0

1

01

0

P = Q'

Page 13: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 13

SR Latch: Reset (S = 0, R = 1)

A B NOR

0 X X'

1 X 0

0

10

1

P = Q'

Page 14: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 14

SR Latch: Store (S = 0, R = 0)

A B NOR

0 X X'

1 X 0

0

01

0

P = Q'

Initial Condition: P = 0, Q = 1

Page 15: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 15

SR Latch: Store (S = 0, R = 0)

A B NOR

0 X X'

1 X 0

0

00

1

P = Q'

Initial Condition: P = 1, Q = 0

Page 16: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 16

• If S = 1 (Set), Q+ = 1

• If R = 1 (Reset), Q+ = 0

• If S = R = 0, Q+ = Q (no change)

• S = R = 1 is not allowed.

SR Latch: Behavior

Nextvalue

Presentvalue

S R Q Q+

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 not

1 1 1 allowed

Page 17: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 17

P ≠ Q′

SR Latch: Improper Operation

Page 18: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 18

SR Latch: Symbol

Q'

Q

SRLatch

S

R

Q

Q'

always

complementary

Page 19: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 19

SR Latch: Timing Diagram

store set store reset

ε = propagation delay of the latch

Q'

Q

Page 20: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 20

SR Latch: Characteristic Equation

Characteristic Equation: Q+ = S + R'.Q (S.R = 0)

Q = present state

Q+ = next state

Page 21: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 21

SR Latch: using NAND gates

A B NAND

0 X 1

1 X X'

S' R' Q Q+

1 1 0 0

1 1 1 1

1 0 0 0

1 0 1 0

0 1 0 1

0 1 1 1

0 0 0 not

0 0 1 allowed

Page 22: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 22

Gated D Latch

● A Gated D Latch has two inputs

– Gate (G) input

– Data (D) input

● It can be constructed from an SR Latch and additional logic gates.

● It has the following behavior

– G = 1: D is passed to Q (Q+ = D)

– G = 0: Q remains unchanged (Q+ = Q)

● Also referred to as a transparent latch.

Page 23: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 23

Gated D Latch: Circuit and Timing

NOR gates

Page 24: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 24

Gated D Latch: Symbol and Truth Table

No invalid inputs!

Page 25: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 25

Gated D Latch: Characteristic Equation

Characteristic Equation: Q+ = G'.Q + G.D

0

1

2

3

6

7

4

5

Page 26: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 26

Gated D Latch: using NAND gates

S'

R'

NAND gates

Page 27: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 27

Flip-Flops

Page 28: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 28

D Flip-Flop

● A D Flip-Flop has two inputs

– Clock (Ck) --- denoted by the small arrowhead

– Data (D)

● The output of the D Flip-Flop changes in response to the clock input only.

– not in response to a change in the D input

● The D Flip-Flop is edge-triggered not level-sensitive

– Positive (or rising) edge-triggered: 0 → 1

– Negative (or falling) edge-triggered: 1 → 0

Page 29: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 29

Q+ = D

Characteristic Equation:

D Flip-Flop

Page 30: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 30

D Flip-Flop: Timing Diagram

Which clock edge is the D flip-flop triggered on?

Page 31: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 31

D Flip-Flop (master-slave)

Gated D Latches

Enabled on opposite levels of the clock

Page 32: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 32

D Flip-Flop: Timing Diagram

Which clock edge is the D flip-flop triggered on?

Page 33: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 33

D Flip-Flop: Setup and Hold Times

Setup time Hold time

Propagation delay

Page 34: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 34

D Flip-Flop: Minimum Clock Period

Page 35: ECE 301 – Digital Electronicsece.gmu.edu/~clorie/Spring11/ECE-301/Lectures/Lecture_18.pdfECE 301 – Digital Electronics Latches and Flip-Flops (Lecture #18) The slides included

Spring 2011 ECE 301 - Digital Electronics 35

Questions?