SEQUENTIAL ELEMENTS MODULE 6 Sequential Elements

advertisement
P
P
P
MODULE 6
P
P
P
I
O
P
PI
PI
O
O
O
P
P
O
I
P
O
I
O
P
SEQUENTIAL ELEMENTS
7.1
7.1.1
7.1.2
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
7.3
7.3.1
7.3.2
7.3.3
7.4
7.5
7.5.1
7.5.2
7.6
7.6.1
7.6.2
7.6.3
7.7
7.8
Introduction
Timing Metrics for Sequential Circuits
Classification of Memory Elements
Static Latches and Registers
The Bistability Principle
Multiplexer-Based Latches
Master-Slave Edge-Triggered Register
Timing Properties of Multiplexer-Based Master ….
Low-Voltage Static Latches
Static SR Flip-Flops — Writing Data by Pure Force
Dynamic Latches and Registers
Dynamic Transmission-Gate Edge-Triggered Registers
C2MOS — A Clock-Skew Insensitive Approach
True Single-Phase Clocked Register (TSPCR)
Alternative Register Styles
Pipelining: An Approach to Optimize Sequential Circuits
Latch versus register based pipelines
NORA-CMOS A logic style for pipelined circuits
Nonbistable Sequential Circuits
The Schmitt Trigger
Monostable Sequential Circuits
Astable Circuits
Perspective: Choosing a Clocking Strategy
Summary
326 – 327
327 – 328
328 – 330
330
330 – 332
332 – 333
333 – 335
335 – 339
339 – 341
341 – 344
344
344 – 346
346 – 350
350 – 354
354 – 358
358 – 360
360
361 – 363
364 – 367
367 – 368
368 – 370
370 – 371
371 – 372
§ 7.5 Will be discussed with module 08 timing design
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 1
Sequential Elements - Outline
„ Background
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 2
FSM with Positive Edge Triggered
Registers
„ Timing, terminology, classification
„ Static Flipflops
„ Latches
„ Registers
„ Dynamic Flipflops
„ Latches
„ Much of this material has
already been covered in CS1
(v Genderen), Lecture 4(?),
Katz Section 6.1
„ Here we will add transistorlevel implementation,
dynamic flipflops
„ Registers
„ Non-bistable elements
„ Schmitt Trigger
Ch. 7
§ 7.1
Ch. 6
[Sorin Cotofana]
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 3
Memory elements
„
„
„
„
„ Flip-flops provide memory/state
„ VLSI uses predominantly D-type
flip-flops
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 4
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.
Store a temporary value, remember a state
Typically controlled by clock.
May have load signal, etc.
In CMOS, memory is created by:
„ capacitance (dynamic);
„ feedback (static).
„ Also see http://en.wikipedia.org/wiki/Flip-flop_(electronics)
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 5
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 6
1
Timing Metrics Reminder
Nomenclature
Beware for confusion
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 ET1205 D2 0708 - © NvdM
5/25/2008
cdlogic
hold
6 sequential 7
Latches vs. Registers
Katz (CS1)
Rabaey
Latch
Level sensitive
storage element
Level sensitive
storage element
Register
Group of
storage elements
Edge triggered
storage element
Flip Flop
Edge triggered
storage element
Bistable element
using feedback
CLK = CK=φ
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 8
Static vs. Dynamic Memory Elements
Latch
Register
Static
Dynamic
Level-sensitive
Edge-triggered
Transparent when clock
is active
Input and output isolated
Operate through positive
feedback
Store charge on
(parasitic) capacitor
Sampling on 0 → 1 clock:
positive edge triggered
Preserve state as long as
power is on
Charge leaks away (in
milliseconds)
Sampling on 1 → 0 clock:
negative edge triggered
Can work when clock is
off
Safer
More robust
Clock must be kept
running (for periodic
refresh)
Clock active high:
positive latch
Clock active low:
negative latch
Faster, smaller
Faster, smaller
Rabaey: bistable elements are called Flip Flops
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 9
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 10
Positive Feedback: Bi-Stability
Static Latches and Registers
Vi1
Vo1 =V i2
Vo2
V
o1
Vi2 = Vo1
„Latches Î can be gated or not
„Registers
Vi2 = Vo1
Vi1
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 ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 11
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 12
2
SR-Latch
S
QQ
>1
S
R
QQ
>1
R
S
Q
R
Q
Clocked SR-Latch
S
R
Q
Q
0
1
0
1
0
0
1
1
Q
1
0
0
Q
0
1
0
S
forbidden
&
Q
&
S
Q
&
R
S
Q
R
Q
QQ
R
S
R
Q
Q
1
0
1
0
1
1
0
0
Q
1
0
1
Q
0
1
1
Q
&
Q
CK
&
R
S
&
S
forbidden
D
R
„
„
„
„
„
„
Katz: gated latch
Positive latch (active on CK high)
Naïve implementation
16 transistors
D latch requires 9xN, 9xP
Larger area, cost, power
„ Construction of D-latch
„ D-latch, D-register most common in
VLSI
§ 7.2.5
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 13
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 14
Multiplexer-Based Latches
CMOS Clocked SR-Latch
VDD
S
&
Q
&
M2
Q
CK
R
&
Q
&
φ
M6
M1
S
M5
M4
Q
M8
M3
φ
M7
R
CLK
φ = CK
„ Save 6 (incl. 4 large) PMOS transistors and 2 NMOS
„ D-latch requires 7 x N, 3 x P (instead of 9xN, 9xP)
Q: Is this a ratioed design or not?
Does it consume static power?
TUD/EE ET1205 D2 0708 - © NvdM
YES
NO
5/25/2008
6 sequential 15
Recirculating latch
Restoration
IN
Recirculating latch
§ 7.2.2
CLK
Multiplexer
Mux-based latches much more common in modern dig. IC’s
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 16
Insensitive for Charge Sharing
φ1
φ1
φ1
φ2
φ1
φ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
„ Can suffer from charge sharing (when φ not non-overlapping)
Cin and Cload form communicating vessels when Output connected
directly to input
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 17
φ2
„ Non ratioed
Uni-directionality of this inverter
prevents coupling between Q and D
„ High load to CLK
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 18
3
Latch Designs can Suffer from
Race Problems
Recirculating NMOS Latch.
X
t
loop
t
φ
1
„ Degraded 1 at X
„ Lower noise margin, higher delay, power
D
Q
φ
Q
t
Signal can race around during φ = 1
§ 7.2.3
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 19
TUD/EE ET1205 D2 0708 - © NvdM
Registers
„ Not transparent—use multiple storage elements
to isolate output from input.
„ Master-slave, edge triggered principle
master
§ 7.2.3
D
master
slave
D
Q
Q
§ 6.1.4-5
φ
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 21
6 sequential 20
Master-slave operation
φ
slave
5/25/2008
φ = 0:
„ master latch is disabled;
„ slave latch is enabled,
„ but master latch output is
stable,
„ so output does not change.
φ = 1:
„ master latch is enabled,
„ loading value from input;
„ slave latch is disabled,
„ maintaining old output value.
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 22
Transistor Level Master Slave
Positive Edge Triggered Register
www.play-hookey.com
clickable
„ Robust Design
„ Can eliminate I1 and I4, however, they make design
more robust (avoid charge sharing, robust input)
„ link
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 23
„ High Clock Load (8 x)
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 24
4
Ratioed Reduced Clock Load
Register
Set-up Time Simulation
„
„
„
„
Slightly smaller delay
between D and CLK
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 25
I2 and I4 are small, even long
Lower clock load
Increased design complexity
Reduced robustness (reverse conduction)
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 26
Schmitt Trigger
Non-bistable Elements
„Schmitt Trigger
V OH
Vou t
In
Out
with hysteresis
„ •VTC
VTC with
hysteresis
V OL
slopes
„ •Restores
Restoressignal
signal
slopes
Was discussed in P-lab
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 27
VM–
TUD/EE ET1205 D2 0708 - © NvdM
Noise Suppression using
Schmitt Trigger
VM+
5/25/2008
Vi n
6 sequential 28
CMOS Schmitt Trigger
V DD
Vin
Vout
M2
V
VM+
M4
X
in
M
1
V out
M
3
VM–
t0
TUD/EE ET1205 D2 0708 - © NvdM
t
t0 + tp
5/25/2008
Moves switching threshold
of first inverter
t
6 sequential 29
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 30
5
Schmitt Trigger Simulated VTC
CMOS Schmitt Trigger (2)
VDD
M4
5.0
6.0
M6
M3
4.0
In
Out
4.0
Vout (V)
V X (V)
3.0
2.0
VM+
M2
X
2.0
VM-
1.0
0.0
0.0
1.0
2.0
3.0
Vin (V)
4.0
5.0
0.0
0.0
TUD/EE ET1205 D2 0708 - © NvdM
1.0
2.0
M5
V DD
M1
3.0
Vin (V)
5/25/2008
4.0
5.0
6 sequential 31
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 32
Summary
„ Background
„ Timing, terminology, classification
„ Static Flipflops
„ Latches
„ Registers
„ Dynamic Flipflops
„ Latches
„ Registers
„ Non-bistable elements
„ Schmitt Trigger
TUD/EE ET1205 D2 0708 - © NvdM
5/25/2008
6 sequential 33
6
Download