Professional Documents
Culture Documents
NCSU Paul Franzon FlipFlops PDF
NCSU Paul Franzon FlipFlops PDF
Motivation
Most complex high-speed digital circuit
Constrains performance of logic and I/O
D Q Revision
Ck
Ck
tSetUp thold
D-Latch:
level-sensitive D
tclock-Q
Tracks data while clock high
Q taperture
Stores data while clock low
D-Flip-flop
edge-sensitive Ck
tSetUp thold
Stores data on clock edge
D
tclock-Q
Q taperture
tD-Q
Edge-Triggered Flip-Flops
Created from latches:
Two styles:
Logic
clock
skew
Goal:
Minimize tDQ=tCk-Q + tsetup
Goals
Timing Closure:
Ability to withstand max-min process and
temperature variations depends on how
much of the clock-period is taken up by Register Register
setup and hold times Q1
D1 Comb D2
Goal: Logic Q2
Constrains maximum taperture = tsetup+thold tLogic-delay
clock
clock
+/-tskew
tset-up
tskew thold tskew
clock
D2
clock clock
skew skew
D 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
Charge-sharing failures
Other
Facilitate test and debug (Be static & scannable)
Flip-Flop Basics
Generic Flip-Flop:
Sampler storage Output
Static: 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
V2 V1
V3 V2
V3 V1
Inverter loaded with Stable operating point
itself:
Regenerative feedback Unstable (high gain)
V2 V1 Qualitative View: V2
Energy
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: V1 Assume nominal V2 =1
V2 V1
Vn
V1
Size of boxes V2
V1 Small Vn
determine NMs
High gain no longer stable
V2
Unity gain
V2
Large Vn
2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html 12
ECE 733 Class Notes
Can replace
Basic Latches INV with logic
To store a logic level (change state): D Q
Must overcome the potential hill
between two stable states
Some Methods:
Use Transmission gates to break feedback Clk
path
D-latch
Latch Basics
Other Methods To Change State:
p2
Directly over-powering regenerative p1
V2
Logic
clock
skew
Goals :
Minimize tDQ = tclock-Q + tSU
Constrain upper limt for taperture = tsetup + thold
Timing
tclock-Q
Tradeoff between tclock-Q and tsu / thold:
thold
tSU
clock
D
Q
Why? Q
X
Smaller tSU VX smaller
D -Amplification Voltage growth exponential with time
VQe-t/
clk Amplifier delay increases exponentially with decreasing
tSU (I.E. with smaller Vx)
Q metastable during amplification
Clock
Project Characterization
T_hold
Failure: Good:
Ck Ck
D D
Q Q
<thold thold
Timing
Objective : Minimize tD-Q = tSU + tclock-Q
Often results in negative setup time
tSU
clock
D Forbidden
Q
tD-Q 400
tclock-Q
tD-Q 350
(ps)
300
Hold
Forbidden
tSU 400
clock 350
D
300
Hold period
(no transitions 250 -80 -60 -40 -20 0 20 40 60 80 tSU(ps)
allowed)
Q
D Q
T1
clk Vinv
Vt
T2
clk Vt
Clk
T2 open T1 open Clk
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 ?
C2MOS Flip-Flop
Edge triggered Master-Slave device: Samples while clk Low
Clock Buffer
C2MOS Operation
Track (ck = 0)
=on
Track (ck 1)
Timing
What determines t_setup and t_hold?
clk
ckb
ck
D can not change during this interval
tsu
t_hold
D clk D clk
clk D clk D
SN PP 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)
D b
clk
a
Observation:
SP stage simply inverts a while clk lo
clk
Operation
D=0, clk=0 ck 1
1 0 1
D 1
b Q D x1 b Q
a a
clk clk
Note: a/b floats high or low (x0, x1)
D1, clk=1 (Q should not change)
x0 1
D 0 b Q
a
clk
Operation
D=1, clk=0 ck 1
1 x1 0
D 0
b Q D 0 b Q
a a
clk clk
clk
TSPC Issues
Timing:
tclock-Q is very quick
Must have logic between stages to prevent hold violation
Clock Slope
Example : Sensitivity of TSPC flip-flop: p2
D
b p1
a Q
n1
clk
D remains high b
a low when clock low
Q
p1 off p1 & p2
before p2 on On
Power
Low
Positive setup
Variants: Q Q
Simple DCVS:
Latch or flip-flop? Latch
p1 p2
Dynamic or static? Dynamic
Q Q
Q clk clk
n2 n6
DCVS
Combine to make Master-Slave Flip-flop
Better than single-sided flip-flops
Fewer gates than C2MOS
clk
p5
p1 p2
Q Q
p3 p4
n1 n3 n4 n5
D D
n6 n7
clk
n2
Operation
Clock = low:
clk
Master turned on p5
p1 p2
One of n1 or n5 turned on Q Q
p3 p4
Clock high
n1 n3 n4 n5
n1 or n5 overpowers latch
D D
n6 n7
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
Operation
Ck=0; D=1
clk p5 p1 p2
Q Q
p3 p4
n1 n3 n4 n5
D D
n6
n7
clk
n2
Master Slave
Operation
Ck1; D=1
clk p5 Float Hi p1 p2
Q Q Q=0
p3 p4
n1 n3 n4 n5
D D
n6
n7
clk
n2
Master Slave
Operation
Ck=1; D0
(expect to see no transition)
clk p5 0 p1 p2
Q Q Q=0
p3 p4
n5 off
n1 n3 n4 n5
D D
n6
n6 off n7
clk
n2
Master Slave
DCVS clk
Variant : Ratio insensitive Latch p4
p3
p5
Q Q
Especially hard to overcome nFETs in
X-coupled inverters
Reduces sensitivity to process n1 n3 n5
n4
variations
p5, p4 ensures Vdd/Gnd path broken
when changing stored state clk
n2
p3 ties the on p1 or p2 to Vdd when
clock is low and latch is holding its
outputs
e.g. 0 held: 0 1 1 0
D has not changed: D has changed:
Vdd path
Operation
Ck=0; D=1 Ck1; D=1
clk clk
p5
p4 HI p5
p4 HI p3
p3
D D D
D p1 p2
p1 p2
Q Q Q Q=1
Q
n1 n3 n4 n5
n1 n3 n4 n5
clk clk
n2
n2
Operation
Ck0; D=1 (latch event) Ck=0; D0 (expect no change)
clk
clk
p4
p3
HI p5
p5
p4 HI p3
D D
D D p1 p2
p2
p1
Q Q Q=1
Q Q Q=1
n1 n3 n4 n5
n1 n3 n4 n5
clk
clk n2
n2
latch pair
Q Q Q Q
D D A A B
clk B
clk
Dynamic D latch with pre-charge
p1 p3
p5 p6
p4
p5 X
n9 n10
p2 p3
p2 p4
n3 n4 n4 n5 n6 n8
n1 n2
n1 n2 n3
(Dynamic) (Semi-static)
Min. sizes. Ensures static
Small clock load; charge sharing issues operation if D changes while
clk high.
operation
Ck=0; D=1 Ck1; D=1
p1 p1
p4 p4
p5 p5
p2 p3 p2 p3
n3 n3
n1 n2 n1 n2
Operation
Ck=1; D->0
p1
p4
p5
p2 p3
n3
n1 n2
Operation
Ck=0; D=1 Ck1; D=1
p3 p3
p5 p6 p5 p6
Hi
n9 n10 n9 n10
p2 p4 p2 p4
Lo Lo
n4 n5 n6 n8 n4 n5 n6 n8
n1 n2 n3 n1 n2 n3
Operation
Ck=1; D 0
p3
p5 p6
Lo
n9 n10
p2 p4
Pulse-triggered Latch
Principle of Operation:
Clocked Transistors p1 p3
p2 p4
X pre-charged (clock low) n3 X
Pulse samples D onto X n6
Storage
n2 n5
n1 n4
Master Slave
2012, Dr. Paul D. Franzon, www.ece.ncsu.edu/erl/faculty/paulf.html 50
ECE 733 Class Notes
HLFF
Operation: Precharge Precharge
Absorbs skew (clock low) (clock high)
Fully static (retains Q)
Negative setup
p1 p3
Allows cycle stealing p2 p4
Can add logic n1 X
thold c.f. tD-Q n4
Storage
n2 n5
n3 n6
D high D low
HLFF Operation
Basic Structure
p1 p2 p3 p4
Precharge dynamic inverter master
Clock-evaluate inverter slave n1 X n4
Clock Low n2 n5
Precharge X
n3 n6
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 tsu:
turn on, pulling X high Can be negative
After thold Criteria:
p3 (weak) turns on starts pulling X As long as n2 turns on while n1, n3 Hi
high to help precharge
D : Hi Lo : n2 off : no change as n3 off thold
D : Lo Hi : n2 on : no change as n3 off Determined by:
and p3 keeps X high
time n3 on after optimal tsu point
Operation
Ck=0; D=1 Ck1; D=1
Q=1
p1 p2 p3 p4 p1 p2 p3 p4
X
n4 n1 n4
n1
n5 n2 n5
n2
n6 n3 n6
n3
Operation
Ck=1; X precharges Ck=1; D0
Q=1
p1 p2 p3 p4 Q=1 p1 p2weak
p3 p4
X
n4 n1 n4
n1
n5 n2 n5
n2
n6 n3 n6
n3
Operation
Ck=0; D=0 Ck1; D=0
Q=0
p1 p2 p3 p4 p1 p2weak
p3 p4
X
n1 n4 n1 n4
n2 n5 n2 n5
n3 n6 n3 n6
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
Operation
Ck=1; X precharges Ck=1; D1
weak p3 reduces dip in X, as a result of
charge-sharing through n2, making
sure p4 does not turn on
Q=1
p1 p2 p3 p4 Q=1 weak
p1 p2 p3 p4
X
n1 n4 n4
n1
n2 n5 n5
n2
n3 n6 n6
n3
HLFF Waveforms
charge share X to nfet n1
p1 p2 p3 p4
n1 n4
n2 n5
n3 n6
p1
p2
n1
n4
n2
n5
n3
SDFF
Operation p1
X p2
N1
n1 n4
n2
n5
n3
Operation
Ck=0; D=1 Ck1; D=1
p1 p1
p2 p2
Q=1
1 1 0
n1 n1
1
n4 1 n4
n2 0 n2 0 1
n5 n5
n3 n3
Operation
Ck=1; D0 D=1; Ck0
p1 Q=1 p1 Q=1
0 p2 0 1 p2
0
n1 1 n1
1
n4 n4
n2 1 n2 0
n5 n5
n3 n3
Operation
Ck=0; D=0 Ck1; D=0
p1 p1
p2
Q=0
1 1 p2
n1 n1 10
1
n4 n4
n2 0 n2 0 1
n5 n5
n3 n3
Operation
Ck=1; D1 Ck0
p1
Q=0 p1
Q=0
1 p2 p2
1
1 1
n1 n1
0 1
n4 n4
n2 1 n2 0
n5 n5
n3 n3
p2, p3 : Off
n3, n4 : On
Clk 1
Diff Amp amplfies change in D
Role of N5
Keeps both INVs grounded even if D
changes
If D changes after thold
N5 reduces swing onto INVs
Operation
Ck=0; D=1 Ck1; D=1
1 2 1 2
3 4 3 4
0 1
1 0
Data stored in latch at top center
Operation
Ck=1; D0 Ck0; D=1
1 2 1 2
0 0 4 3 0 0 4
3
0 1 1 1
1 0 1 0
Mn5 prevents change in latch RS latch unaffected as S, R = 1
SAFF Timing
Ck->1
tforbidden
3 4 N3 is sufficiently off to prevent full transition
but on enough to start one
Tck-Q
0 1 N6-N1-N3 pulls 1 down
S->0
Delay in SR latch
1 0
SAFF
Modified SAFF
K6 ETL
p1 p2
p3
p4
n1
n3
n2
n4
Operation
Clock Low:
p1 p2
Nothing
p3
p4
Clock Hi
n1
n3
D or Db sampled onto Q or Qb
n2 n4
by clock pulse
An input of NOR 1
rst Lo, 3 INV delays later
q, qb Hi
rst off
StrongArm
Sense
K6 Amp
SDFF
HLFF
PowerPC
C2MOS
Delay Comparison
General Characteristics