Sequential Elements
Sequential Elements
Mark McDermott
Electrical and Computer Engineering
The University of Texas at Austin
in out
CL CL CL
Dout Dout
Din Din
clock clock
Transparent-low Transparent-high
Din Din
Tdq Tdq
Dout Dout
Dout
Din
clock
clk
Latch clk
Flop
D Q D Q
clk
Q (latch)
Q (flop)
f
f
§ Buffered input X
D Q
+ Fixes diffusion input
+ Noninverting f
f
§ Buffered output
+ No back driving
f Q
§ Widely used in standard cells
+ Very robust (most important) X
D
- Rather large
- Rather slow (1.5 – 2 FO4 delays) f
f
- High clock loading
§ Datapath latch Q
f
+ Smaller, faster
- un-buffered input -> okay for datapaths X
D
f
f
AGEN - LD / STA
Integer Register
Bypass Cache
Arith Flags
ALU 0
ALU 1
File
f f
X
D Q
f f
f f Q
X
D Q
f f
f f
f f
10/2/18 VLSI-1 Class Notes Page 12
Clock Enable
f f
D 1
Latch
Latch
Latch
D Q Q D Q
0
en en
f en
f
f D 1
Flop
Q
0
Flop
Flop
D Q D Q
en
en
Latch
Flop
D Q D Q
reset reset
Synchronous Reset
f Q f f Q
reset reset
Q
D D
f f
f
f f f
f f
f
Q
Q f
Asynchronous Reset
f f
reset
reset
D
D f
f f
f
f f
reset
reset
f
f
f
f
f
reset
set Q
D
f
f
f
f
set
reset
f
f
clk
Flip-Flops
§ Flip-flops clk clk
Flop
Flop
Combinational Logic
§ 2-Phase Latches f2
f1 f2 f1
Combinational Combinational
Latch
Latch
Latch
Logic Logic
Half-Cycle 1 Half-Cycle 1
Pulsed Latches
fp tpw
§ Pulsed Latches fp fp
Latch
Latch
Combinational Logic
Flop
D Q D
tccq Latch/Flop Clk-Q Cont. Delay
tpcq
tpdq Latch D-Q Prop Delay Q tccq
D Q D tpdq
tcdq
Q
I2 T2 I3 I5 T4 I6 Q
QM
D I1 T1 I4 T3
CLK
tsetup =
tpcq =
thold ≥
© Digital Integrated Circuits2nd
sequencing overhead
clk clk
Q1 D2
Combinational Logic
F1
F2
Tc
tsetup
clk
tpcq
Q1 tpd
D2
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
L1
L2
L3
Logic 1 Logic 2
f1
f2
Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
fp sequencing overhead fp
D1 Q1 D2 Q2
Combinational Logic
L1
L2
Tc
D1 tpdq
D2
fp
tpcq Tc tpw
Q1 tpd tsetup
(b) tpw < tsetup
D2
clk
Q1
F1 CL
tcd ³ thold - tccq
clk
D2
F2
clk
Q1 tccq tcd
D2 thold
f1
L1
f2
Hold time reduced by D2
non-overlap
L2
tnonoverlap
Paradox: hold applies f1
Q1
CL tcd ³ thold - tccq + t pw
L1
fp
tpw
thold
Q1 tccq tcd
D2
§ In a flop-based system:
– Data launches on one rising edge
– Must setup before next rising edge
– If it arrives late, system fails
– If it arrives early, time is wasted
– Flops have hard edges
§ In a latch-based system
– Data can pass through latch while transparent
– Long cycle of logic can borrow time into next
– As long as each loop completes in one cycle
f1
ϕ1 Delayed
f2
f1 f2 f1
Combinational
Latch
Latch
Latch
(a) Combinational Logic
Logic
Loops may borrow time internally but must complete within the cycle
D1 Q1 D2 Q2
Combinational Logic 1
L1
L2
f1
f2 tnonoverlap
Tc
tsetup
Tc/2 tborrow
Nominal Half-Cycle 1 Delay
D2
Q1 D2
Combinational Logic
F1
F2
Tc
D2
Q1
CL
F1 clk
D2 F2
tskew
clk
thold
Q1 tccq
D2 tcd
2-Phase Latches
tpd ≤ Tc - (2tpdq)
sequencing overhead
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
tborrow ≤ Tc/2 - (tsetup + tnonoverlap + tskew)
L1
L2
L3
Logic 1 Logic 2
f1
Pulsed Latches f2
sequencing overhead
Courtesy Altera
!ln( MTBF )
C2 =
!tMET
e(C2 ´tMET )
C1 =
MTBF ´ fCLOCK ´ f DATA
Courtesy Altera
Din to Dout
10%
Tcq
Tsu Thold
minimum Tcq
Dout
Din
clock
fail
fail
pass
Condition FLOP 1st pass
f2 f1 Q
X
D Q
f2 f1
f2 f1
f2 f1
CLK CLKB
Din Q
CLKB CLK
master
clk
CLKB CLK
CLK CLKB
CLKB CLKD
CLK Clock slope becomes critical
Low power feedback
Poor driving capability
Dout
N
Din
Dclk_
Clk
Clk
Dclk_
Din
Dout
Din
Dout
pclk
Clock
Clock
Pclk
Din valid
Dout valid
Dout’
A
B
clock
§ Flip-Flops:
– Very easy to use, supported by all tools
§ 2-Phase Transparent Latches:
– Lots of skew tolerance and time borrowing
– Supported by most tools. Can cause timing loops.
§ Pulsed Latches:
– Fast, some skew tol. & borrow, hold time risk
f
§ Transmission gate
+ No Vt drop D Q
- Requires inverted clock
f
§ Inverting buffer f
+ Restoring X
D Q
+ No back driving
+ Fixes either f
• Output noise sensitivity f
• Or diffusion input D Q
– Inverted output
f