MODULE 5 Chapter 7 Clocked Storage Elements Clocked Storage

advertisement
Clocked Storage Elements
MODULE 5
Chapter 7
Outline
 Background
 Timing, terminology, classification
 Static CSEs
 Latches
 Registers
 Dynamic CSEs
 Latches
 Registers
Clocked Storage Elements
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
1
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
FSM with Positive Edge Triggered
Registers
13/03/28
Store a temporary value, remember a state
Separate the past, current, future
Typically controlled by clock.
May have load signal, etc.
y is created by:
y
In CMOS,, memory
 capacitance (dynamic);
 feedback (static).
 Also see http://en.wikipedia.org/wiki/Flip-flop_(electronics)
 CSEs/Flip-flops provide memory/state
 VLSI uses predominantly D-type flip-flops
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
2
Memory elements





§ 7.1
13/03/28
3
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
4
D-Latch
Variations in memory elements
 Form of required clock signal.
 How behavior of data input around clock affects
the stored value.
 When the stored value is presented to the output.
 Whether there is ever a combinational path from
input to output.
 Noise sensitivity on input and output
…
[Taskin, Kourtev & Friedman, The VLSI Handbook]
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
5
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
6
1
D-Register
Latches vs. Registers
Terminology of book
(more commonly known as D-Flip-Flop)
Latch
Register
Level-sensitive
Edge-triggered
Transparent when clock
is active
Input and output isolated
p g on 0  1 clock:
Sampling
positive edge triggered
Clock active high:
positive latch
Sampling on 1  0 clock:
negative edge triggered
Clock active low:
negative latch
Safer
Faster, smaller
[Taskin, Kourtev & Friedman, The VLSI Handbook]
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
7
Timing Metrics Reminder
tc-q
tsu
thold
tplogic
tcd
T
: delay from clock (edge) to Q
: setup time
: hold time
: worst case propagation delay of logic
: best case propagation delay
(contamination delay)
T  tc-q + tplogic + tsu
: clock period
t
+t
t
cdregister
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
cdlogic
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
8
Static vs. Dynamic Memory Elements
Static
Dynamic
Operate through positive
feedback
Store charge on
(parasitic) capacitor
Preserve state as long as
power is on
Charge leaks away (in
milliseconds)
Can work when clock is
off
Clock must be kept
running (for periodic
refresh)
More robust
Faster, smaller
hold
9
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
10
Positive Feedback: Bi-Stability
Static CSEs / Flipflops
Vi1
Vo1 =V i2
Vo2
V
o1
Vi2 = Vo1
 Latches
 Registers
Vi1
Vi2 = Vo1
Large part of literature talks about
Clocked Storage Elements
Are called Flip-Flops in book
Vo2
A
C
 Loop-gain in A,B <<1
 A,B: stable points
 Loop-gain in C >> 1
 C: meta-stable point
§ 7.2.1
B
Vi1 = Vo2
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
11
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
12
2
Meta-Stability
SR-Latch
S
>1
Vi2= Vo1
Vi2= Vo1
S
B
R
S
S

&
Q
13/03/28
13
D
RCK
&
Q
R
Q
Q
Q
1
0
0
Q
0
1
0
S
R
Q
Q
1
0
1
0
1
1
0
0
Q
1
0
1
Q
0
1
1
R
forbidden
forbidden
 Construction of D-latch
 D-latch most common in VLSI
13/03/28
14
VDD
S
Q
R
Q
R
&
&
Q
&
Q
&
Q




Naïve implementation
16 transistors
D latch requires 9xN, 9xP
Master-slave D-register
needs 18xN, 18xP
 Larger area, cost, power
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
M4
Q
Q
&
&
Q

M6
M1
S
M5
M8
M3

M7
R
 = CK
 Save 6 PMOS, 2 NMOS transistors
 D-latch requires 7 x N, 3 x P (instead of 9xN, 9xP)
{TPS}:
15
Is this a ratioed design or not?
Does it consume static power?
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
Sizing for ‘Set’ Action
 M3-M4 form conventional inverter
 Model M5-M6 as one equivalent (double
length) transistor M56
 Assume Q = 0  M1 is off, M2 is on
 M2-M56 operate like ratioed pseudo
NMOS inverter
 Latch switches when M56 pulls input of
M3-M4 below their switching threshold
(assume VDD/2)
 Positive feedback amplifies switching
 M2 and M56 both in velocity saturation
around VQ = VDD/2
M2
Q
CK
Q
S
S
Q
0
0
1
1
CMOS Clocked SR-Latch
S
&
Q
R
0
1
0
1
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
Q
R
R
R
S
Q
>1
>1
S
Q
S
§ 7.2.5
Clocked SR-Latch
S
S
QQ
&
R
Vi1= Vo2
 Gain should be larger than 1 in the transition region
 Smaller than 1 in stable region
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
QQ
Q
R

Vi1= Vo2
>1
R
C
QQ
13/03/28
YES
NO
16
Sizing for ‘Set’ Action
VDD
M2
Q

M6
M1
S
M5
M4
Q
M8
M3

M7
R
2

VDSATp

V2
W  
W  

k'n    VDD  VTn VDSATn  DSATn   k'p     VDD  VTp VDSATp 
2 
2 
 L 5 6 
 L  2 
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
17
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
18
3
SR Latch Timing
Multiplexer-Based Latches
VDD
M2
M4
Q
Q

M6
M1
S
M5
M8
M3

M7
R
CLK
Restoration
IN
CLK
Multiplexer
§ 7.2.2
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
19
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
Recirculating latch
Pass Transistor Latch
 Tiny
 Low clock load
2
2






 Quasi-static, static on one phase
 Feedback restores value
 Requires 4 x N, 4 x P, minimum size
(compare 7 x N, 3 x P, non-minimum size)
 1 and 2 inverse but should be non-overlapping
 Definitely not ideal, because… {TPS}
13/03/28
D
Q
Used in 1970’s
[“Latch Design” slides based on Weste & Harris],
21
Latch Design
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
22
Latch Design
Transmission gate
 No Vt drop
Inverting buffer / Basic Dynamic Latch
 Restoring
 No backdriving
X
D
 Fixes either

D
Q
13/03/28
Q
 Output noise sensitivity
 Or
O diffusion
diff i input
i
t

TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
20

Vt drop
nonrestoring
t i
backdriving
output noise sensitivity
dynamic
diffusion input
Let’s explore TG/PG based latch designs
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
 Requires inverted clock
13/03/28
Latch Design
1
1
Mux-based latches much more common in modern dig. IC’s
 Inverted output
23
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
D
Q
13/03/28
24
4
Noise Sensitivity
Dynamic Latch
Diffusion Input Noise Sensitivity
 Noise on input can drop node
below VT
“0”
 TG NMOS turns on, and X can
discharge if it was a “1”
 Similar problems for
Vin > VDD
 Storage capacitance comes primarily from inverter gate
capacitance.
 Setup and hold times determined by transmission gate—
must ensure that value stored on transmission gate is solid.
 Stored charge leaks away
 Duration of stored value being good depends on
technology
 Worst conditions during burn-in (High VDD, high Temp).
 Modern technologies (almost) mandate static latches.
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
25
Latch Design
Q
X
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
26
Latch Design
Buffered input
 Fixes diffusion input
 Noninverting

X
D
 Static latches are now essential
because of leakage
X
< -VT
Output Noise Sensitivity
 State node X is exposed
 Noise spike on output can
corrupt the state
13/03/28
Tristate feedback
 Static
 Backdriving risk
Coupling Noise
and Supply Noise
Q
X
D



Q



 If only during burn-in
(@ high VDD, T)



=

TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential

13/03/28
27
Latch Design
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
28
Latch Design
Buffered output
Widely used in standard cells
Datapath latch
(only use in noise-controlled environments)
 Smaller

 Faster
Q

X
D
 No backdriving
 Very robust (most important)


 Unbuffered input
 Rather large
 Rather slow (1.5 – 2 FO4 delays)
 High clock loading

Q
X
D



TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
29
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
30
5
Registers
Latch Designs can Suffer from
Race Problems
t
 Not transparent—use multiple storage elements
to isolate output from input.
 Master-slave, edge triggered principle
loop
t

1
D
Q

Q
master
t
slave
D
Q
Signal can race around during 

§ 7.2.3
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
31
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
32
Master-slave operation
master
slave
D

 = 0:
 master latch is disabled;
 slave latch is enabled,
Q
 but master latch output is stable,
 so output does not change.
 = 1:
aste latch
atc is
s enabled,
e ab ed,
 master
 loading value from input;
 slave latch is disabled,
 maintaining old output value.
 = 1  0:
 Slave latch copies current value of
master, and master stops changing
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
www.play-hookey.com
l h k
clickable
33
Transistor Level Master Slave
Positive Edge Triggered Register
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
34
Set-up Time Simulation
 Robust Design
 Can eliminate I1 and I4, however, they make design
more robust (avoid charge sharing, robust input)
(see next)
Slightly smaller delay
between D and CLK
 High Clock Load (8 x)
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
35
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
36
6
Ratioed Reduced Clock Load
Register
Simple Master-Slave Register
Clock phase overlap is important design problem
CK1
CK2
CK2=1
CK1=1
 Similar problem for 0-0 overlap




I2 and I4 are small, even long
Lower clock load
Increased design complexity
Reduced robustness (reverse conduction / backdriving)
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
37
Dynamic Edge Triggered Register
13/03/28
38
Clocking and CSE problems
§ 7.3.1
tT1
approximately zero
tI1 + tT2 + tI3
tsu
thold
tcq
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
 Clock overlap with multiple phases
great problem in view of clock skew
 Power – in some cases, around 50% of total power
 Delay – setup time, clk-to-Q, ..
 Robustness
 Noise-sensitivity of element,
specifically for dynamic elements
Next: advanced CSEs to combat some of the above
toverlap 0-0 < tT1 + tI1 + tT2 Prevent race through T1, I1, T2
thold
> toverlap 1-1
Enforce hold-time constraint
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
39
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
Clocked CMOS Register – insensitive to overlap
VDD
M2
M6
40
C2MOS Latch
Other Latches/Registers: C2MOS
VDD
13/03/28
VDD
Clocked CMOS Latch
M2
CLK
M4
CLK
M3
CLK
M8
CLK
M7
X
D
CL1
=
Q
CL2

=
CLK
M4
CLK
M3
M1
M1
Master Stage
M5
Slightly … Slower
Slightly … Smaller
Slave Stage
“Keepers” can be added to make circuit pseudo-static
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
41
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
42
7
Insensitive to Clock-Overlap
Other Latches/Registers: TSPC
True Single Phase Clocking
VDD
M2
CLK
0
CLK
M4
0
VDD
VDD
VDD
M6
M2
M6
Q
D
1
M1
In
X
M5
CLK
In
Out
Positive latch
(transparent when CLK= 1)
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
VDD
VDD
Q
Q
Q
CLK
CLK
X
M2
CLK
CLK
M1
In1
PDN
M9
Y
D
CLK
VDD
M6
In2
Q
CLK
VDD
CLK
M3
In
44
Alternative TSPC Register
VDD
PUN
Negative latch
(transparent when CLK= 0)
TSPC register: positive and negative latch in cascade
43
Including Logic in TSPC
In1
CLK
M5
13/03/28
VDD
CLK
M7
1
Output always decoupled from input, even with overlap
VDD
VDD
Out
CLK
(b) (1-1) overlap
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
VDD
Q
M3
M1
(a) (0-0) overlap
VDD
X
M8
X
D
VDD
M5
CLK
M4
M8
M7
In2
Clk = 0
Example: logic inside the latch
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
D sampled on X
Clk = 1
45
Falling X can’t charge Y Y is stable
L1
L2
D Q
Clk
Clk
13/03/28
VDD
VDD
M3
M6
CLK
D
CLKG
M2
CLKG
VDD
M1
MP
M5
CLKG
X
MN
M4
D Q
(a) register
Clk
(b) glitch generation
Clk
CLK
Clk
Master-Slave Latches
46
Q
L
Data
Y sampled on Q
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
Pulsed Latches
Remember: Use registers to avoid race-around problem.
Two latches in cascade: master-slave
Alternative: Pulse triggered latches
D Q
Y ↑ doesn’t make Q’ ↓
Evaluate based on X
Pulse-Triggered Latches
An Alternative Approach
Data
Precharge Y to VDD
Clk ↑
AND latch
CLKG
Pulse-Triggered Latch
(c) glitch clock
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
47
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
48
8
Pulsed Latches
Hybrid Latch-FF Timing
Hybrid Latch – Flip-flop (HLFF), AMD K-6 and K-7 :
3.0
P3
x
M3
D
2.5
Q
2.0
M6
P2
M2
Volts
P1
CLK
M5
D
Q
1.5
1.0
VDD
M1
CLKD
0.5
M4
CLKD
CLK
0.0
20.5
0.0
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
49
0.2
0.8
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
More Topics







0.4
0.6
time (ns)
1.0
13/03/28
50
Summary
 Background
Reset and enable inputs
Scan-enabled CSEs
Sense-amplifier based CSEs
Double-edge triggered
g sleep
p mode
Low-leakage
(Ultra) Low voltage
Soft-error / SEU tolerance
 Timing, terminology, classification
 Static CSEs
 Latches
 Registers
 Dynamic CSEs
 Latches
 Timing of CSEs
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
 Registers
13/03/28
51
TUD/EE ET4293 digic 1213 - © NvdM - 05 Sequential
13/03/28
52
9
Download