Review: Sequential Definitions
description
Transcript of Review: Sequential Definitions
![Page 1: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/1.jpg)
Review: Sequential Definitions
Static versus dynamic storage static uses a bistable element with feedback (regeneration) and
thus preserves its state as long as the power is on static is preferred when updates are infrequent (clock gating) dynamic stores state on parasitic capacitors so only holds the
state for a period of time (milliseconds) and requires periodic refresh
dynamic is usually simpler (fewer transistors), higher speed, lower power
Latch versus flipflop latches are level sensitive with two modes: transparent - inputs
are passed to Q and hold - output stable fliplflops are edge sensitive that only sample the inputs on a clock
transition
![Page 2: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/2.jpg)
Review: Timing Metrics
clock
In
Out
datastable
outputstable
outputstable
time
time
time
clock
D QIn Out
tsu thold
tc-q
![Page 3: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/3.jpg)
Review: System Timing Constraints
CombinationalLogic
clock
Outputs
Sta
teR
egis
ters
NextState
CurrentState
Inputs
T tc-q + tplogic + tsutcdreg + tcdlogic thold
T (clock period)
![Page 4: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/4.jpg)
Dynamic ET Flipflop
T1 T2I1 I2 QQM
D
C1 C2
!clk
clk
clk
!clk
!clk
clk
master transparentslave hold
master holdslave transparent
master slave
tsu =thold =tc-q =
tpd_tx
zero2 tpd_inv + tpd_tx
![Page 5: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/5.jpg)
Dynamic ET FF Race Conditions
T1 T2I1 I2 QQM
D
C1 C2
!clk
clk
clk
!clk
!clk
clk0-0 overlap race condition toverlap0-0 < tT1 +tI1 + tT2
1-1 overlap race condition toverlap1-1 < thold
![Page 6: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/6.jpg)
Dynamic Two-Phase ET FF
clk2
clk1tnon_overlap
T1 T2I1 I2 QQM
D
C1 C2
clk1
!clk1
clk2
!clk2
master transparentslave hold
master holdslave transparent
![Page 7: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/7.jpg)
Pseudostatic Dynamic Latch
Robustness considerations limit the use of dynamic FF’s coupling between signal nets and internal storage nodes can
inject significant noise and destroy the FF state leakage currents cause state to leak away with time internal dynamic nodes don’t track fluctuations in VDD that
reduces noise margins
A simple fix is to make the circuit pseudostatic
D
!clk
clk
Add above logic added to all dynamic latches
![Page 8: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/8.jpg)
C2MOS (Clocked CMOS) ET Flipflop
clk
!clk
!clk
clk
QM
C1 C2
QD
M1
M3
M4
M2 M6
M8
M7
M5
Master Slave
!clk
clk
master transparentslave hold
master holdslave transparent
on
on
off
offon
onoff
off
A clock-skew insensitive FF
![Page 9: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/9.jpg)
C2MOS FF 0-0 Overlap Case
0 0QM
C1 C2
QD
M1
M4
M2 M6
M8
M5
!clk
clk
!clk
clk
Clock-skew insensitive as long as the rise and fall times of the clock edges are sufficiently small
![Page 10: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/10.jpg)
C2MOS FF 1-1 Overlap Case
1 1
QM
C1 C2
QD
M1
M2 M6
M5
!clk
clk
M3 M7
!clk
clk
1-1 overlap constraint toverlap1-1 < thold
![Page 11: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/11.jpg)
C2MOS Transient Response
-0.5
0
0.5
1
1.5
2
2.5
3
0 2 4 6 8
QM(3)Q(3)
Q(0.1)
Time (nsec)
Vo
lts
clk(0.1)
clk(3)
For a0.1 ns clock
For a3 ns clock(race conditionexists)
![Page 12: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/12.jpg)
True Single Phase Clocked (TSPC) Latches
clk clkInQ
Positive LatchNegative Latch
transparent when clk = 1hold when clk = 0
clk clkInQ
hold when clk = 1transparent when clk = 0
![Page 13: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/13.jpg)
TSPC ET FF
clkmaster holdslave transparent
clk clkD
Master Slave
clk clk QQM
master transparentslave hold
ononoffoff
ononoffoff
on onoffoff
![Page 14: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/14.jpg)
Simplified TSPC ET FF
clkD clkQ
clk
clk
X
QM
M1
M2
M3 M6
M5
M4 M7
M8
M9
clkmaster holdslave transparent
master transparentslave hold
on
on
off
off
1
!Don
off
on
off
D D
![Page 15: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/15.jpg)
Sizing Issues in Simplified TSPC ET FF
0
1
2
3
0 0.2 0.4 0.6 0.8 1
Time (nsec)
Vo
lts
clk
!Qorig
Qorig
!Qmod
Qmod
Transistor sizing
Original width M4, M5 = 0.5m M7, M8 = 2m
Modified width M4, M5 = 1m M7, M8 = 1m
![Page 16: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/16.jpg)
Split-Output TSPC Latches
clkInQ
Positive Latch Negative Latch
transparent when clk = 1hold when clk = 0
clkInQ
hold when clk = 1transparent when clk = 0
A
A
When In = 0, A = VDD - VTn When In = 1, A = | VTp |
![Page 17: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/17.jpg)
Split-Output TSPC ET FF
clkD
Qclk
clk
QM
![Page 18: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/18.jpg)
Pulsed FF (AMD-K6) Pulse registers - a short pulse (glitch clock) is generated
locally from the rising (or falling) edge of the system clock and is used as the clock input to the flipflop race conditions are avoided by keeping the transparent mode time
very short (during the pulse only) advantage is reduced clock load; disadvantage is substantial
increase in verification complexity
clk
D
Q
M1
M2
M3
M4
M5
M6
P1
P2
P3X
!clkd
0 ONVdd
OFF OFF
11 0ON
1/0ON/OFF
0/Vdd ON/OFF
1/0
0 OFF
1
1OFF
ON ON
ON
![Page 19: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/19.jpg)
Sense Amp FF (StrongArm SA100)
clk
D
Q
!Q
M1
M2
M3
M5
M6
M4
M9
M7
M8
M10
Sense amplifier (circuits that accept small swing input signals and amplify them to full rail-to-rail signals) flipflops
advantages are reduced clock load and that it can be used as a receiver for reduced swing differential buses
0
0
1
1
1
1
1
0
1
0
1
![Page 20: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/20.jpg)
Flipflop Comparison Chart
Name Type #clk ld #tr tset-up thold tpFF
Mux Static 8 (clk-!clk) 20 3tpinv+tptx0 tpinv+tptx
PowerPC Static 8 (clk-!clk) 16
2-phase Ps-Static 8 (clk1-clk2) 16
T-gate Dynamic 4 (clk-!clk) 8 tptx to1-1 2tpinv+tptx
C2MOS Dynamic 4 (clk-!clk) 8
TSPC Dynamic 4 (clk) 11 tpinv tpinv 3tpinv
S-O TSPC Dynamic 2 (clk) 10
AMD K6 Dynamic 5 (clk) 19
SA 100 SenseAmp 3 (clk) 20
![Page 21: Review: Sequential Definitions](https://reader036.fdocuments.us/reader036/viewer/2022081507/5681594b550346895dc687ea/html5/thumbnails/21.jpg)
Choosing a Clocking Strategy
Choosing the right clocking scheme affects the functionality, speed, and power of a circuit
Two-phase designs + robust and conceptually simple - need to generate and route two clock signals - have to design to accommodate possible skew between the
two clock signals
Single phase designs + only need to generate and route one clock signal + supported by most automated design methodologies + don’t have to worry about skew between the two clocks - have to have guaranteed slopes on the clock edges