28
inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced Digital Circuits Lecture 11 – Flip-Flops February 25, 2020, NY Times: Should robots have a face? As automation comes to retail industries, companies are giving machines more humanlike features in order to make them liked, not feared. 1 EECS241B L11 FLIP-FLOPS

Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

inst.eecs.berkeley.edu/~ee241b

Borivoje Nikolić

EE241B : Advanced Digital Circuits

Lecture 11 – Flip-Flops

February 25, 2020, NY Times: Should robots

have a face?

As automation comes to retail industries, companies are giving machines more humanlike features in order to make them liked, not feared.

1EECS241B L11 FLIP-FLOPS

Page 2: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Announcements

• Response to project abstracts sent• Please let me know if you didn’t receive it

• Team web pages

• Be careful not to leak proprietary info (interface tools via Hammer)

• Assignment 2 posted

2EECS241B L11 FLIP-FLOPS

Page 3: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Outline

• Module 3• Design of latches and flip-flops

3EECS241B L11 FLIP-FLOPS

Page 4: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

3. Design for Performance

3.D Latch Design

4EECS241B L11 FLIP-FLOPS

Page 5: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

MUX

• 2-input MUX

A

Sel

YSel

B

Sel

Sel

SelA

Sel

Sel

B

Y

A

B

Sel

1

0

Y

EECS241B L11 FLIP-FLOPS 5

Page 6: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Transmission Gates

EECS241B L11 FLIP-FLOPS 6

S

A

S

Y

Page 7: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Latch vs. Flip-Flop

Courtesy of IEEE Press, New York. 2000EECS241B L11 FLIP-FLOPS 7

Page 8: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Latches

D

Clk

Clk

Q

Clk

D

Clk

Q

Transmission-Gate Latch C2MOS Latch

EECS241B L11 FLIP-FLOPS 8

Usually without contention

Page 9: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Latches

Courtesy of IEEE Press, New York. 2000EECS241B L11 FLIP-FLOPS 9

Page 10: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

TSetup-1

TClk-Q

Time

Setup-Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Timet=0

ClockDataTSetup-1

EECS241B L11 FLIP-FLOPS 10

Page 11: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

TSetup-1

TClk-Q

Time

Timet=0

ClockDataTSetup-1

Setup-Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

EECS241B L11 FLIP-FLOPS 11

Page 12: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

TSetup-1

TClk-Q

Time

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Timet=0

ClockDataTSetup-1

Setup-Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

EECS241B L11 FLIP-FLOPS 12

Page 13: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

TSetup-1

TClk-Q

Time

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Timet=0

ClockDataTSetup-1

Setup-Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

EECS241B L11 FLIP-FLOPS 13

Page 14: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Timet=0

ClockDataTSetup-1

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Setup-Hold Time Illustrations

Circuit before clock arrival (Setup-1 case)

Clk-Q Delay

TSetup-1

TClk-Q

Time

EECS241B L11 FLIP-FLOPS 14

Page 15: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Setup-Hold Time Illustrations

Hold-1 case

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Timet=0

0

Clk-Q Delay

THold-1

TClk-Q

Time

EECS241B L11 FLIP-FLOPS 15

Page 16: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

THold-1

TClk-Q

Time

Setup-Hold Time Illustrations

Hold-1 case

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

0

EECS241B L11 FLIP-FLOPS 16

Page 17: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

THold-1

TClk-Q

Time

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Setup-Hold Time Illustrations

Hold-1 case

0

EECS241B L11 FLIP-FLOPS 17

Page 18: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

THold-1

TClk-Q

Time

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Setup-Hold Time Illustrations

Hold-1 case

0

EECS241B L11 FLIP-FLOPS 18

Page 19: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Clk-Q Delay

THold-1

TClk-Q

Time

D

CN

QM

CP

D1 SM

Inv1

Inv2TG1

Timet=0

ClockTHold-1

Data

Setup-Hold Time Illustrations

Hold-1 case

0

EECS241B L11 FLIP-FLOPS 19

Page 20: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

More Precise Setup Time

tD 2 C

t

t

t

tC 2 Q1.05tC 2 Q

tSu

tH

Clk

D

Q

(a)

Td-clk

1.05(tclk-q)

tclk-q

EECS241B L11 FLIP-FLOPS 20

Page 21: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Generating Complementary Clocks

EECS241B L11 FLIP-FLOPS 21

Page 22: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Latch tD-Q and tClk-Q

EECS241B L11 FLIP-FLOPS 22

Page 23: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

tsetup

EECS241B L11 FLIP-FLOPS 23

Page 24: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Key Point

• Two ways to design a flip-flop• Latch pair

• Pulsed latch

EECS241B L11 FLIP-FLOPS 24

Page 25: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

3. Design for Performance

3.E Flip-Flop Design

25EECS241B L11 FLIP-FLOPS

Page 26: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Latch vs. Flip-Flop

Courtesy of IEEE Press, New York. 2000EECS241B L11 FLIP-FLOPS 26

Page 27: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Flip-Flops

• Performance metrics

• Delay metrics• Insertion delay

• Inherent race immunity

• ‘Softness’ (Clock skew absorption)

• Inclusion of logic

• Small (+constant) clock load

• Power/Energy Metrics• Power/energy

• Design robustness• Noise immunity

EECS241B L11 FLIP-FLOPS 27

Page 28: Lecture 11 – Flip-Flops Borivoje Nikolićinst.eecs.berkeley.edu/~ee241/sp20/Lectures/Lecture11... · 2020-04-04 · inst.eecs.berkeley.edu/~ee241b Borivoje Nikolić EE241B : Advanced

Scan Test

EECS241B L11 FLIP-FLOPS 28