Professional Documents
Culture Documents
CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits: - Combinational Logic - Sequential Logic
CPE/EE 427, CPE 527 VLSI Design I Sequential Circuits: - Combinational Logic - Sequential Logic
Sequential logic
output depends on current and previous inputs Requires separating previous, current, future Called state or tokens Ex: FSM, pipeline
clk in CL out CL CL clk clk clk
Pipeline
11/1/2006
Sequencing Cont. If tokens moved through pipeline at constant speed, no sequencing elements would be necessary Ex: fiber-optic cable
Light pulses (tokens) are sent down cable Next pulse sent before first reaches end of cable No need for hardware to separate pulses But dispersion sets min time between pulses
Sequencing Overhead Use flip-flops to delay fast tokens so they move through exactly one stage each cycle. Inevitably adds some delay to the slow tokens Makes circuit slower than just the logic delay
Called sequencing overhead
11/1/2006
Sequential Logic
Outputs
Current State
Next State
clock
11/1/2006 VLSI Design I; A. Milenkovic 5
Timing Metrics
In D Q Out
clock
tsu thold
clock
time
In
time
output stable
Out
output stable
time
11/1/2006 VLSI Design I; A. Milenkovic 6
Outputs
Current State
Timing Diagrams
Transparent Opaque Edge-trigger
D
clk Latch Q D
clk Flop Q
11/1/2006
Timing Diagrams
Transparent Opaque Edge-trigger
D
clk Latch Q D
clk Flop Q
11/1/2006
Cons
11/1/2006 VLSI Design I; A. Milenkovic 10
Cons
11/1/2006
Used in 1970s
11
11/1/2006
12
11/1/2006
13
11/1/2006
14
Inverted output
11/1/2006
15
11/1/2006
16
11/1/2006
17
11/1/2006
18
11/1/2006
19
11/1/2006
20
10
11/1/2006
21
11/1/2006
22
11
11/1/2006
23
D X
Q Q
11/1/2006
24
12
en
Flop D Flop Q en D 1 0 Q D
en
11/1/2006
25
Reset Force output low when reset asserted Synchronous vs. asynchronous
Symbol Synchronous Reset Asynchronous Reset reset D reset D Latch D Q D Flop Q
reset Q reset D
reset Q Q
Q D
reset
reset
reset
11/1/2006
26
13
Set / Reset Set forces output high when enabled Flip-flop with asynchronous set and reset
set D reset reset Q
set
11/1/2006
27
Flop
Combinational Logic
1 tnonoverlap 2 1 Latch Combinational Logic Half-Cycle 1 Tc/2 2 Latch Combinational Logic Half-Cycle 1 1 Latch p Combinational Logic Latch tnonoverlap
tpw p Latch
11/1/2006
Flop
28
14
Timing Diagrams
tpd
clk D Flop Q
clk D
tsetup
thold
tpcq Q tccq
clk Latch D Q
clk D
thold
11/1/2006
29
Max-Delay: Flip-Flops
F1
Combinational Logic Tc
clk Q1 D2
tpcq tpd
tsetup
11/1/2006
F2
t pd Tc ( ) 14 244 4 3
sequencing overhead
clk Q1 D2
clk
30
15
Max-Delay: Flip-Flops
F1
sequencing overhead
Combinational Logic Tc
clk Q1 D2
tpcq tpd
tsetup
11/1/2006
F2
t pd Tc ( tsetup + t pcq ) 14 24 3
clk Q1 D2
clk
31
L1
L2
sequencing overhead
11/1/2006
L3
t pd = t pd 1 + t pd 2 Tc ( ) 14 244 4 3
1 D1 Q1 Combinational Logic 1 D2
2 Q2 Combinational Logic 2 D3
1 Q3
32
16
t pd = t pd 1 + t pd 2 Tc
sequencing overhead
2t (123)
pdq
1 L1 D1 Q1 Combinational Logic 1 D2
2 L2 Q2 Combinational Logic 2 D3
1 L3 Q3
11/1/2006
33
p L2 Q2
Q1 D2 p tpcq Q1
Tc tpd
tpw tsetup
11/1/2006
34
17
p L2 Q2
Q1 D2 p tpcq Q1
Tc tpd
tpw tsetup
11/1/2006
35
Min-Delay: Flip-Flops
clk
tcd
F1
Q1
CL
11/1/2006
36
18
Min-Delay: Flip-Flops
clk
F1
Q1
CL
11/1/2006
37
L1
tcd 1,tcd 2
1 Q1 CL
Hold time reduced by nonoverlap Paradox: hold applies twice each cycle, vs. only once for flops. But a flop is made of two latches!
2 L2 tnonoverlap D2
1 2
tccq
Q1 D2 thold
tcd
11/1/2006
38
19
L1
1 Q1 CL
Hold time reduced by nonoverlap Paradox: hold applies twice each cycle, vs. only once for flops. But a flop is made of two latches!
2 L2 tnonoverlap D2
1 2
tccq
Q1 D2 thold
tcd
11/1/2006
39
p L1
tcd
Q1
CL
11/1/2006
40
20
p L1
Q1
CL
11/1/2006
41
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
11/1/2006
42
21
Borrowing time across half-cycle boundary 1 Latch (b) Combinational Logic 2 Latch
Combinational Logic
Loops may borrow time internally but must complete within the cycle
11/1/2006
43
2-Phase Latches
tborrow Tc ( tsetup + tnonoverlap ) 2
D1
1 L1 Q1 Combinational Logic 1 D2
2 L2 Q2
Pulsed Latches
tborrow t pw tsetup
D2
11/1/2006
44
22
Clock Skew We have assumed zero clock skew Clocks really have uncertainty in arrival time
Decreases maximum propagation delay Increases minimum contamination delay Decreases time borrowing
11/1/2006
45
Skew: Flip-Flops
clk clk Combinational Logic Tc clk tpcq Q1 D2 clk F1 Q1 CL tpdq tsetup tskew F2 Q1 D2
D2
clk Q1 tccq D2
11/1/2006
F1 clk
46
23
Skew: Latches
2-Phase Latches
t pd Tc
sequencing overhead
1 L1 D1 Q1 Combinational Logic 1 D2
2 L2 Q2 Combinational Logic 2 D3
1 L3 Q3
2t (123)
pdq
1 2
tcd 1 , tcd 2 thold tccq tnonoverlap + tskew tborrow Tc ( tsetup + tnonoverlap + tskew ) 2
Pulsed Latches
Two-Phase Clocking If setup times are violated, reduce clock speed If hold times are violated, chip fails at any speed In this class, working chips are most important
No tools to analyze clock skew
An easy way to guarantee hold times is to use 2phase latches with big nonoverlap times Call these clocks 1, 2 (ph1, ph2)
11/1/2006
48
24
11/1/2006
49
Summary Flip-Flops:
Very easy to use, supported by all tools
Pulsed Latches:
Fast, some skew tol & borrow, hold time risk
11/1/2006
50
25