lecture 11 – flip-flops borivoje...
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/27.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042322/5f0cd0c87e708231d43744d7/html5/thumbnails/28.jpg)
Scan Test
EECS241B L11 FLIP-FLOPS 28