ECE 733 Class Notes Latches And Flip

advertisement
ECE 733 Class Notes
Latches and Flip-Flops
Dr. Paul D. Franzon
Outline
• Design Goals
• Basic Latches and Flip-flops
• Optimizing Timing
• Single Sided Designs
• Differential Designs
• Some comparisons
References
•
•
•
Dally & Poulton, Chapters 4, 12.1
Kang & Leblecici, Chs 8-9
Bernstein, Ch. 5
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
1
ECE 733 Class Notes
Objectives and Motivation
Objectives:


Understand design goals and tradeoffs in flip-flops and how they are
measured
Be able to describe operation of a wide range of flips and recognize how the
roles of individual transistors determine operation
Motivation


Most complex high-speed digital circuit
Constrains performance of logic and I/O
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
2
ECE 733 Class Notes
D
Q
Revision
Ck
Ck
D-Latch:



level-sensitive
Tracks data while clock high
Stores data while clock low
D-Flip-flop


edge-sensitive
Stores data on clock edge
tSetUp
D
thold
tclock-Q
Q
taperture
Ck
D
tSetUp
thold
tclock-Q
Q
taperture
tD-Q
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
3
ECE 733 Class Notes
Edge-Triggered Flip-Flops
Created from latches:
Two styles:
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
4
ECE 733 Class Notes
Goals of Flip-Flop Design
Timing and Clock Speed:
tclock  tck  Q  max  tlog ic  max  t setup  t skew  max
Logic
clock
skew
Goal:

Minimize tDQ=tCk-Q + tsetup
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
5
ECE 733 Class Notes
…Goals
Timing Closure:

Ability to withstand max-min process and
temperature variations depends on how
much of the clock-period is taken up by
setup and hold times
Goal:

Register
Q1
D1
Comb
Logic
Constrains maximum taperture = tsetup+thold
clock
Register
D2
tLogic-delay
+/-tskew
Q2
clock’
tset-up
thold tskew
tskew
clock
D2
tck-Q-max + tlogic-max – tck-Q-min-tlogic-min
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
6
ECE 733 Class Notes
Goals of flip-flop design
Timing Related:

To get fastest clock period:
 Minimize tD-Q
=t_su + t_ck-Q
 “soft” clock edge
 NOT (or reduce) propagate clock skew to Q
 Removes or reduces impact of tskew on clock period
clock
D
skew
clock
skew
D
Q

Q
Note : Latches have this property for signals that arrive after clock
rising edge!
Incorporate logic into flip-flop
 And remove from before/after flip-flop
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
7
ECE 733 Class Notes
Goals of Flip-Flop Design
Timing Related:
•
•
Be able to drive good loads
•
Typical fan-out: 2-8 FO4 inputs (50 – 200 fF in 0.18 m)
Minimum susceptibility to clock slope (edge rate)
•
Most FFs have an max rise/fall time specification
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
8
ECE 733 Class Notes
Goals of Flip-Flop Design
Power Related



Minimize internal power
Minimize clock load
Note : Speed-power tradeoff
 Can design to minimize Power.Delay or Energy.Delay Product
 Measured in fJ – gives minimum energy per transition (and energy-delay
product for constant fclock)
Bit Error Rate Related

Minimize suceptibility to:
 Noise on clocks or signals (e.g. due to crosstalk)
 Clock edge rate variations
 Charge-sharing failures
 Charge leakage failures, including alpha particle strikes
 Power & ground noise
Other

Facilitate test and debug (Be static & scannable)
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
9
ECE 733 Class Notes
Flip-Flop Basics
Generic Flip-Flop:
Sampler
Static:
storage
Output
Dynamic:
etc.
Sampling Stage:


Must ensure input is sampled for both high and low D
Fastest if no DC path from Vdd to Gnd during sampling
Output Stage:

Drives load without disrupting stored state
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
10
ECE 733 Class Notes
Basic Bistable Static Storage Element
V1
Cross-coupled inverter pair
V2
V1
V1
V3
V3
V1
V2
Stable operating point
Inverter loaded with
itself:
•Regenerative feedback
Unstable (high gain)
Stable operating point
V2
V1
Qualitative View:
Energy
V2
V2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
11
ECE 733 Class Notes
Noise Margin
Add noise at one input:
V2
V1
Assume nominal V2 =“1”
V1
Vn
V1
Size of “boxes”
determine NMs
V1
Small Vn
V2
High gain  no longer stable
V2
Unity gain
Large Vn
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
V2
12
ECE 733 Class Notes
Can replace
INV with logic
Basic Latches
To store a logic level (change state):

D
Must overcome the potential “hill”
between two stable states
Q’
Some Methods:

Use Transmission gates to break feedback
path
 D-latch

Break supply current path (RS latch)
 Reset/Set
 D latch:
Clk
S
D
clk
Q
R
R
Q
Q’
S
Q
Q’
Q’
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
NOR RS latch
13
ECE 733 Class Notes
Latch Basics
Other Methods To Change State:



Directly over-powering regenerative
feedback in storage cell
Must generate a “negative noise margin”
by the write (clk=high)
In this case:
 Sizes p1, p2 = 2 m / 0.35 m
 Sizes n3, n4 = 3 m / 0.35 m
 Sizes n1, n2, n5, n6 = 5 m / 0.35 m
provides sufficient write margin
p2
p1
Q
Q’
D’
n1
n3
n4
n5
D
clk
clk
n2
n6
V1
RH inverter (D=0)
LH inverter (D’=1)
Negative Voltage Margin
 Write
V2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
14
ECE 733 Class Notes
Revision: Flip-flop Design Goals
Timing:
t clock  t ck  Q  max  t log ic  max  t setup  max  t skew  max
Logic
clock
skew
Goals :


Minimize tDQ = tclock-Q + tSU
Constrain upper limt for taperture = tsetup + thold
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
15
ECE 733 Class Notes
Timing
Tradeoff between tclock-Q and tsu / thold:
tclock-Q
thold
tSU
Why?
D
clk
clock
D
Q
Q
X
Smaller tSU  VX smaller
-Amplification Voltage growth exponential with time
VQe-t/
 Amplifier delay increases exponentially with decreasing
tSU
(I.E. with smaller Vx)
Q “metastable” during amplification
Q
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
16
ECE 733 Class Notes
Doing this in Project
Illustrate for D: 0  1 transition:
Conservative tsu:
Aggressive tsu:
Failure:
Clock
D
Q
tsu tck-Q
One point on
curve on previous page
tsu tck-Q
Another point
<tsu
Failure!
NOT a valid tsu
Reminder: Goal most likely to minimize tDQ, not tsu
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
17
ECE 733 Class Notes
… Project Characterization
T_hold
Failure:
Good:
Ck
Ck
D
D
Q
Q
<thold
Failure!
NOT a valid thold
≥thold
Good! (NO change in Q due to D)
≥ thold
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
18
ECE 733 Class Notes
Timing
Objective : Minimize tD-Q = tSU + tclock-Q
Often results in negative setup time
tSU
clock
D
Q
Forbidden
400
tD-Q
tclock-Q
tD-Q
(ps)
350
300
250
-60 -40 -20 0 20 40 60 80
e.g. “strong-ARM flip-flop”
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
tSU(ps)
19
ECE 733 Class Notes
Other Timing Parameters
tSU
clock
D
400
350
Forbidden
Hold
Hold period:
300
Hold period
(no transitions
allowed)
250
-80 -60 -40 -20 0 20 40 60 80 tSU(ps)
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
20
ECE 733 Class Notes
Other Timing Parameters
Effect of clock edge rate

Flip-flop timing can be sensitive to clock edge rate (slope)
 Can cause race-through in Master-Slave
 e.g. pass-gate FF:
D
clk
Vinv
Vt
clk’
Vt
T2 open
T1 open
Q’
Q
T1
Clk
T2
Clk’
Problem if T2 open longer than Tinv-delay past this time
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
21
ECE 733 Class Notes
Latches Flip-Flops Characterized
Single-Sided



C2MOS
TSPC
Transmission Gate
Double-Sided (complementary or differential)






DCVS
Single Transistor Clock
Hybrid Latch Flip-flop
Semi Dynamic Flip-flop
Sense Amp Flip Flop
K6 Flip Flop
Comparisons
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
22
ECE 733 Class Notes
Common Questions
How is the signal sampled on the clock 0  1 transition?
What determines:



tsetup ?
thold ?
tck-Q ?
How is the data stored?
What prevents false transitions from occuring when


D changes after thold ?
When clock goes low ?
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
23
ECE 733 Class Notes
C2MOS Flip-Flop
Edge triggered Master-Slave device:
Samples while clk Low
Tri-state inverter
Samples while clk High
Clock Buffer
Regenerate when clock high
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
24
ECE 733 Class Notes
C2MOS Operation
Track (ck = 0)
=on
Tracking input
Recycling previous value
Track (ck  1)
“Holding” sampled value
Sampling input
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
25
ECE 733 Class Notes
Timing
What determines t_setup and t_hold?
clk
ckb
ck
tsu
D can not change during this interval
t_hold
What determines t_clock-Q?
Clock buffer delay + delay through second tri-state buffer
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
26
ECE 733 Class Notes
True Single Phase Clocked (TSPC) Latches & Flip-Flops
Based on the following dynamic latches:

Transparent while clock high:
clk
D
clk
clk
D
clk
D
SN
When clock low:
PP
D
SP
PP
Note : Only clock is needed, not clock’ or a second clock phase

True single phase  lowest skew in distribution
Make latches and flip-flops by mixing stages.
(Source : Yuang and Svenson)
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
27
ECE 733 Class Notes
TSPC Flip Flops
Example:
• Positive edge triggered static-input flip flop

SP + SP + SN + SN
D
clk
b
a



Observation:
 SP stage simply inverts a while clk lo
 Not needed if Q’ OK..
Note, nodes a, b, Q’ float for part of clock
period
 Watch for inadvertant charge sharing
Note can put logic in PU and PD chains
b
D
Q’
a
clk
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
28
ECE 733 Class Notes
Operation
D=0, clk=0
ck 1
1
D
1
0
b
Q’
a
clk
D
x1
1
b
Q’
a
clk
Note: a/b floats high or low (x0, x1)
D1, clk=1 (Q’ should not change)
x0
D
0
a
b
1
Q’
clk
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
29
ECE 733 Class Notes
Operation
D=1, clk=0
ck 1
1
D
0
a
b
x1
Q’
clk
D
0
b
0
Q’
a
clk
Note: a/b floats high or low (x0, x1)
D0, clk=1 (Q’ should not change)
D
x1
x0
a
b
0
Q’
clk
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
30
ECE 733 Class Notes
TSPC Issues
Timing:




tclock-Q is very quick
 Must have logic between stages to prevent hold violation
Can be sensitive to clock slope (next page)
Has floating nodes during evaluate
Very high clock load
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
31
ECE 733 Class Notes
Clock Slope
Example : Sensitivity of TSPC flip-flop:
p2
D
a
b
p1
Q’
n1
clk
Possible failure:
D remains high
 a low when clock low
clock
b
Q’
p1 off
before p2 on
Possible Fixes :
p1 & p2
On
Reduce Wn1; enforce clock slope rules
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
32
ECE 733 Class Notes
Transmission Gate Master-Slave
PowerPC 603



Clock Load
 High
Power
 Low
 low power feedback
Positive setup
TG delay determines t_su
INV(s) + TG gate determines t_ck-Q
(first INV only matters if tsu very small)
Q buffer makes timing less sensitive to load variations
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
33
ECE 733 Class Notes
Differential Latches and Flip Flops
i.e. Requires both D and D’
Conventional Latches and Master-Slave Designs



DCVS
True Single Phase Clocked Latch
DSTC and SSTC
Pulse-triggered Latches:




HLFF
DSFF
SAFF
ETL
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
34
ECE 733 Class Notes
Differential Cascode Voltage Switch
Q
Variants:
• Static RAM style Latch


p2
p1
Q’
D’
Operation explained earlier
Transparent when clk hi
n3
n1
n5
n4
D
clk
n2
Simple DCVS:



Latch or flip-flop?
Dynamic or static?
Latch
p1
Dynamic
Susceptibility to charge sharing can be
reduced by placing inverters on Q and
Q’
Q
p2
Q’
D’
n1
n5
D
clk
clk
n2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n6
35
ECE 733 Class Notes
DCVS
Combine to make Master-Slave Flip-flop

Better than single-sided flip-flops
 Fewer gates than C2MOS
 Fully static storage
 Smaller clock load
 Complementary  faster operation
clk
p5
p2
p1
Q’
p3
p4
n3
n1
D
n6
Q
n7
n4
n5
D’
clk
n2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
36
ECE 733 Class Notes
Operation
Clock = low:


clk
Master “turned on”
One of n1 or n5 turned on
n1 or n5 overpowers latch
p2
p1
Q’
Q
p4
p3
Clock  high

p5
n1
D
n7
n6
n3
n5
n4
D’
clk
n2
Master
Slave
After thold, what prevents a false transition?


If D changes, can NOT result in the off n1 or n5 turning ON, as no PU path in
master
D changing can only result in the on transistor turning OFF: OK as latch has
already stored new value
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
37
ECE 733 Class Notes
Operation
Ck=0; D=1
clk
p5
p1
p2
Q’
p4
p3
n3 n4
n1
D
Q
n6
n7
D’
n5
clk
n2
Master
Slave
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
38
ECE 733 Class Notes
… Operation
Ck1; D=1
clk
p5
Float Hi
p1
p2
Q’
p4
p3
n3 n4
n1
D
Q Q=0
n6
n7
D’
n5
clk
n2
Master
Slave
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
39
ECE 733 Class Notes
… Operation
Ck=1; D0
(expect to see no transition)
clk
p5
0
p1
p2
Q’
p4
p3
n3 n4
n1
D
n6 off
Q Q=0
n6
n7
D’
n5 off
n5
clk
n2
Master
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
Slave
40
ECE 733 Class Notes
DCVS
clk
Variant : Ratio insensitive Latch



p4
Removes need to “overcome” X-coupled D
latch to change state
 Especially hard to overcome nFETs in
X-coupled inverters
 Reduces sensitivity to process
variations
p5, p4 ensures Vdd/Gnd path broken
when changing stored state
p3 ties the “on” p1 or p2 to Vdd when
clock is low and latch is holding its
outputs
e.g. ‘0’ held:
D has not changed:
0
1
p3
p5
p2
p1
Q’
n3
n1
n4
D’
Q
n5
clk
1
D has changed:
n2
0
Vdd path
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
41
ECE 733 Class Notes
Operation
Ck=0; D=1
Ck1; D=1
clk
clk
p4
D
HI
p3
p2
p1
Q’
n3
n1
n4
p4
p5
D’
Q
n5
D
HI
p3
p5
p2
p1
Q’
n3
n1
n4
D’
Q
Q=1
n5
clk
clk
n2
n2
P3 OFF allows latch state to change easilly
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
42
ECE 733 Class Notes
Operation
Ck0; D=1 (latch event)
Ck=0; D0 (expect no change)
clk
clk
p4
D
HI
p3
p2
p1
Q’
n3
n1
n4
HI
p4
p5
D’
Q
n5
Q=1
D
p3
p5
p2
p1
Q’
n3
n1
n4
D’
Q
Q=1
n5
clk
clk
n2
n2
P3 ON means latch data is preserved
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
43
ECE 733 Class Notes
DCVS latch with pre-charge
Add pre-charge to increase speed:

Simple Latched Dual Rail Domino structure:
“latch pair”
clk
clk
Q’
Q
D’
D
clk
clk
clk
Q’
Q
A
A’
B’
B
clk
Dynamic D latch with pre-charge
D latch with merged logic
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
44
ECE 733 Class Notes
Single Transistor Clocked MS latches
Yuan & Svensson ’97
p3
p1
p5
p4
X
p5
p2
p3
n1
n9
p2
n3
n10
p4
n4
n4
n5
n6
n8
n2
n1
(Dynamic)

p6
Small clock load; charge sharing issues
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n2
n3
(Semi-static)
Min. sizes. Ensures static
operation if D changes while
clk high.
45
ECE 733 Class Notes
operation
Ck=0; D=1
Ck1; D=1
p1
p1
p4
p4
p5
p5
p2
p2
p3
p3
n3
n3
n1
n2
n1
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n2
46
ECE 733 Class Notes
…Operation
Ck=1; D->0
p1
p4
p5
p2
p3
n3
n1
n2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
47
ECE 733 Class Notes
Operation
Ck=0; D=1
Ck1; D=1
p3
p3
p5
p5
p6
Hi
n9
p2
Lo
n4
n1
n5
n2
n9
n10
p2
p4
n6
n4
n3
n1
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n10
p4
Lo
n8
p6
n5
n2
n6
n8
n3
48
ECE 733 Class Notes
… Operation
Ck=1; D 0
p3
p5
Lo
p2
p6
n9
n10
p4
INV and nFETs it drives
help discharge floating node
n4
n1
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n5
n2
n6
n8
n3
49
ECE 733 Class Notes
Pulse-triggered Latch
Principle of Operation:
Hybrid Latch Flip-Flop (HLFF) (AMD, K6, Portovi, 1996)
Clocked Transistors
p1
p3
p2
X pre-charged (clock low)
Pulse samples D onto X
n3
p4
X
n6
Storage
n5
n2
n1
Master
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n4
Slave
50
ECE 733 Class Notes
HLFF
Operation:






Absorbs skew
Fully static (retains Q)
Negative setup
Allows cycle stealing
Can add logic
thold c.f. tD-Q
Precharge
(clock low)
Precharge
(clock high)
p1
p3
p2
n1
X
p4
n4
Storage
n2
n3
D high
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n5
n6
D low
51
ECE 733 Class Notes
HLFF Operation
Basic Structure


Precharge dynamic inverter master
Clock-evaluate inverter slave
Clock Low

Precharge X
Clock High



n1 on; n3 on for 3 INV delay
D high  X low  p4 pulls Q hi
D low  X charge shared with n1_S; p2
turn on, pulling X high
After thold



p1
n1
n2
n3
p2
X
p3
p4
n4
n5
n6
tsu:
•Can be negative
•Criteria:
p3 (weak) turns on – starts pulling X
As long as n2 turns on while n1, n3 Hi
high to help precharge
thold
D : Hi  Lo : n2 off : no change as n3 off
•Determined by:
D : Lo  Hi : n2 on : no change as n3 off
and p3 keeps X high
time n3 on after optimal tsu point
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
52
ECE 733 Class Notes
Operation
Ck=0; D=1
Ck1; D=1
p1
p2
p3
p1
p4
p2
p3
p4
Q=1
X
n1
n4
n1
n4
n2
n5
n2
n5
n3
n6
n3
n6
= turning off
= turning on
Critical path  larger transistors
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
53
ECE 733 Class Notes
Operation
Ck=1; X precharges
p1
n1
Ck=1; D0
p2
p3
p4
Q=1
n4
p2weak
p3
p1
X
n1
p4
Q=1
n4
n2
n5
n2
n5
n3
n6
n3
n6
Precharge helps defines size of weak pull-up
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
54
ECE 733 Class Notes
Operation
Ck=0; D=0
Ck1; D=0
p1
n1
p2
p3
p4
p2weak
p3
p1
X
n4
n1
p4
Q=0
n4
n2
n5
n2
n5
n3
n6
n3
n6
Easier transition than 01.
Tsu determined by time for RHS sampler to replace role of LHS sampler if D=1
At clock going high, and then changes to 0 during pulse
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
55
ECE 733 Class Notes
Operation
Ck=1; X precharges
p1
n1
Ck=1; D1
weak p3 reduces dip in X, as a result of
charge-sharing through n2, making
sure p4 does not turn on
p2
p3
p4
Q=1
p1
n5
n3
n6
p2
p3
Q=1
p4
X
n4
n2
weak
n1
n4
n2
n5
n3
n6
Helps defines size of weak pull-up
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
56
ECE 733 Class Notes
HLFF Waveforms
charge share X to nfet n1
p1
p2
p3
p4
n1
n4
n2
n5
n3
n6
Weak p3 pulling X high
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
57
ECE 733 Class Notes
Semi-Dynamic Flip Flop
Sun UltraSparc, Klass, VLSI Circuits 98
p1
p2
n1
n4
n2
n5
n3
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
58
ECE 733 Class Notes
SDFF
Operation
p1
X
N1
n1
p2
n4
n2
n5
n3
Clk = low :
X precharged to
Clk  hi :
D=0 :
1, N1 is ON
X stays high, N1 on then off, Q pulled down; 0 stored
After thold if D  1:
D=1:
N1 is off : No change
X goes low, leaving N1 on. Pulls Q high
After thold if D  0:
No P/G connection on LHS  X latched low by X-coupled inverters)
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
59
ECE 733 Class Notes
Operation
Ck=0; D=1
Ck1; D=1
p1
p1
1
n1
n3
1 0
p2
Q=1
n1
1
n2
p2
0
n4
n2
n5
1
0 1
n4
n5
n3
Defines critical path
Tsu: 3 nfets on long enough for 10 transistion
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
60
ECE 733 Class Notes
Operation
Ck=1; D0
D=1; Ck0
p1
0
n1
1
n2
1
0
p2
Q=1
p1
0 1
n1
n4
1
n2
n5
0
p2
Q=1
n4
n5
n3
n3
Q does not change
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
61
ECE 733 Class Notes
Operation
Ck=0; D=0
Ck1; D=0
p1
1
n1
1
n2
0
p1
p2
1
n4
n1 10
n5
n2
n3
0 1
p2
Q=0
n4
n5
n3
If D went high while Delayed ck
nFET is turning off, a different Q could result
(i.e. tsu could be negative, and the action
In LHS pull down chain defines tsu)
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
62
ECE 733 Class Notes
Operation
Ck=1; D1
Ck0
p1
1
n1
0
n2
1
p2
1
n4
Q=0
p1
1
n1
n2
n5
n3
1
0
p2
Q=0
1
n4
n5
n3
Because top left nFET turned
off, Q does not change
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
63
ECE 733 Class Notes
SDFF Timing Waveforms
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
64
ECE 733 Class Notes
Sense Amp Flip Flop
Matsui, et.al. 1994, DEC Alpha 21264; StrongArm
110







Clocked T
DiffAmp
Storage
First stage : Sense Amp
 Precharged to Hi when clk=0
 p2, p3 :
Off
 n3, n4 :
On
Clk 1
 Diff Amp amplfies change in D
 p2 or p3 turn on, latching value onto
storage cell
 S’ or R’ go low
Role of N5
 Keeps both INVs “grounded” even if D
changes
If D changes after thold
 N5 reduces swing onto INVs
Strength of N5? Weak
SR latch
Ideal for low-swing inputs
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
65
ECE 733 Class Notes
Operation
Ck=0; D=1
1
3
Ck1; D=1
1
2
4
3
0
2
4
1
0
1
Data stored in latch at top center
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
66
ECE 733 Class Notes
Operation
Ck=1; D0
1
3
0
Ck0; D=1
1
2
0
0 4
0
3
1
0
1
Mn5 prevents change in latch
2
0 4
1
1
1
0
RS latch unaffected as S, R = 1
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
67
ECE 733 Class Notes
SAFF Timing
Ck->1
1
3
N2 not on long enough to pull down
2 long enough to start turning N3 off.
Once N3 is enough, D-> 1 will no longer work
2
tsu
4
tforbidden
N3 is sufficiently off to prevent full transition
but on enough to start one
Tck-Q
0
1
1
N6-N1-N3 pulls 1 down
S->0
Delay in SR latch
0
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
68
ECE 733 Class Notes
SAFF
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
69
ECE 733 Class Notes
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
70
ECE 733 Class Notes
Modified SAFF
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
71
ECE 733 Class Notes
K6 ETL
p1
p2
p3
n1
p4
n3
n2
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
n4
72
ECE 733 Class Notes
Operation
Clock Low:
p1
p3
n1
n2
p2
Nothing
p4
Clock  Hi
n3
n4
Pulsed output!
-Must ensure output pulse
is sufficiently wide
D or Db sampled onto Q or Qb
by clock pulse
An input of NOR  1
 rst Lo, 3 INV delays later
 q, qb  Hi
 rst off
Self reset, Why?
Reduces clock load
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
73
ECE 733 Class Notes
Flip Flop Comparison
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
74
ECE 733 Class Notes
StrongArm
K6
Sense
Amp
SDFF
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
75
ECE 733 Class Notes
HLFF
PowerPC
C2MOS
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
76
ECE 733 Class Notes
Delay Comparison
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
77
ECE 733 Class Notes
Power Delay Product
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
78
ECE 733 Class Notes
Clock Power Consumption
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
79
ECE 733 Class Notes
General Characteristics
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
80
ECE 733 Class Notes
Reduced Clock Swing FlipFlop
Goal : Reduce clock power
• Clock 20% - 40% of overall chip power
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
81
ECE 733 Class Notes
Low Swing Double-Edge Triggered Flip-Flop
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
82
ECE 733 Class Notes
Flip Flop Design – Summary
In high performance circuits, what are some of the goals of Flip-Flop design?
Fast total tD-Q = tsu + tclk-Q
Minimum Power consumption
(internal + clock load)
Capture tradeoff:
-Power Delay product
(=Energy.Delay at constant fclk)
Narrow aperture time (tSU+thold )
Minimize sensitivity to clock slope; charge sharing; crosstalk; Vdd/Gnd noise
What design characteristics tend to produce the best flip-flops?
Use latch concepts in FFs; esp. pulsed clocked latches
- gives narrow aperture WITH negative tSU
Strive for reduced node swings
©2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html
83
Download