Timing Issues

advertisement
Digital Integrated
Circuits
A Design Perspective
Jan M. Rabaey
Anantha Chandrakasan
Borivoje Nikolić
Timing Issues
January 2003
EE141 Integrated
© Digital
Circuits2nd
1
Timing Issues
Synchronous Timing
CLK
In
R1
EE141 Integrated
© Digital
Circuits2nd
Cin
Combinational
Logic
Cout
R2
Out
2
Timing Issues
Timing
Definitions
EE141 Integrated
© Digital
Circuits2nd
3
Timing Issues
Latch Parameters
D Q
Clk
T
Clk
PWm
D
tsu
thold
tc-q
Q
td-q
Delays can be different for rising and falling data transitions
EE141 Integrated
© Digital
Circuits2nd
4
Timing Issues
Register Parameters
D Q
Clk
T
Clk
thold
D
tsu
tc-q
Q
Delays can be different for rising and falling data transitions
EE141 Integrated
© Digital
Circuits2nd
5
Timing Issues
Clock Uncertainties
4 Power Supply
3 Interconnect
Devices
2
5 Temperature
6 Capacitive Load
7 Coupling to Adjacent Lines
1 Clock Generation
Sources of clock uncertainty
EE141 Integrated
© Digital
Circuits2nd
6
Timing Issues
Clock Nonidealities

Clock skew
 Spatial variation in temporally equivalent clock
edges; deterministic + random, tSK

Clock jitter
 Temporal variations in consecutive edges of the
clock signal; modulation + random noise
 Cycle-to-cycle (short-term) tJS
 Long term tJL

Variation of the pulse width
 Important for level sensitive clocking
EE141 Integrated
© Digital
Circuits2nd
7
Timing Issues
Clock Skew and Jitter
Clk
tSK
Clk
tJS
Both skew and jitter affect the effective cycle time
 Only skew affects the race margin

EE141 Integrated
© Digital
Circuits2nd
8
Timing Issues
Clock Skew
# of registers
Earliest occurrence
of Clk edge
Nominal – /2
Latest occurrence
of Clk edge
Nominal +  /2
Insertion delay
Max Clk skew
Clk delay

EE141 Integrated
© Digital
Circuits2nd
9
Timing Issues
Positive and Negative Skew
In
R1
Combinational
Logic
D Q
CLK
R2
D Q
tCLK1
Combinational
Logic
R3
tCLK2
delay
•••
D Q
tCLK3
delay
(a) Positive skew
In
R1
Combinational
Logic
D Q
tCLK1
R2
D Q
Combinational
Logic
tCLK2
delay
R3
•••
D Q
tCLK3
delay
CLK
(b) Negative skew
EE141 Integrated
© Digital
Circuits2nd
10
Timing Issues
Positive Skew
TCLK + d
CLK1
CLK2
TCLK
1
3
d
2
4
d + th
Launching edge arrives before the receiving edge
EE141 Integrated
© Digital
Circuits2nd
11
Timing Issues
Negative Skew
TCLK + d
1
CLK1
CLK2
2
d
TCLK
3
4
Receiving edge arrives before the launching edge
EE141 Integrated
© Digital
Circuits2nd
12
Timing Issues
Timing Constraints
R1
In
D
R2
Q
Combinational
Logic
tCLK1
CLK
tc - q
tc - q, cd
tsu, thold
D
Q
tCLK2
tlogic
tlogic, cd
Minimum cycle time:
T -  = tc-q + tsu + tlogic
Worst case is when receiving edge arrives early (positive )
EE141 Integrated
© Digital
Circuits2nd
13
Timing Issues
Timing Constraints
R1
In
D
R2
Q
Combinational
Logic
tCLK1
CLK
tc - q
tc - q, cd
tsu, thold
D
Q
tCLK2
tlogic
tlogic, cd
Hold time constraint:
t(c-q, cd) + t(logic, cd) > thold + 
Worst case is when receiving edge arrives late
Race between data and clock
EE141 Integrated
© Digital
Circuits2nd
14
Timing Issues
Impact of Jitter
TC LK

CLK




t j itter
-tji tte r 
In
CLK
tc-q , tc-q,
ts u, thold
tjitter
EE141 Integrated
© Digital
Combinational
Logic
REGS
Circuits2nd
cd
t log ic
t log ic, cd
15
Timing Issues
Longest Logic Path in
Edge-Triggered Systems
TSU
Clk
TClk-Q
Latest point
of launching
EE141 Integrated
© Digital
Circuits2nd
TJI + 
TLM
T
Earliest arrival
of next cycle
16
Timing Issues
Clock Constraints in
Edge-Triggered Systems
If launching edge is late and receiving edge is early, the data will not be too late if:
Tc-q + TLM + TSU < T – TJI,1 – TJI,2 - 
Minimum cycle time is determined by the maximum delays through the logic
Tc-q + TLM + TSU +  + 2 TJI < T
Skew can be either positive or negative
EE141 Integrated
© Digital
Circuits2nd
17
Timing Issues
Shortest Path
Earliest point
of launching
Clk
TClk-Q TLm
Clk
TH
Nominal
clock edge
EE141 Integrated
© Digital
Circuits2nd
Data must not arrive
before this time
18
Timing Issues
Clock Constraints
in Edge-Triggered Systems
If launching edge is early and receiving edge is late:
Tc-q + TLM – TJI,1 < TH + TJI,2 + 
Minimum logic delay
Tc-q + TLM < TH + 2TJI+ 
EE141 Integrated
© Digital
Circuits2nd
19
Timing Issues
How to counter Clock Skew?


.
REG
REG
In

REG
REG
Negative Skew
log
Out

Positive Skew
Clock Distribution
Data and Clock Routing
EE141 Integrated
© Digital
Circuits2nd
20
Timing Issues
Flip-Flop – Based Timing
Skew

Flip-flop
delay
Logic delay
TSU
TClk-Q
Flip
-flop
=0
=1
Logic
Representation after
M. Horowitz, VLSI Circuits 1996.
EE141 Integrated
© Digital
Circuits2nd
21
Timing Issues
Flip-Flops and Dynamic Logic
Logic delay
TSU
TSU
TClk-Q
TClk-Q
=0
=0
=1
=1
Logic delay
Precharge
Evaluate
Evaluate
Precharge
Flip-flops are used only with static logic
EE141 Integrated
© Digital
Circuits2nd
22
Timing Issues
Latch timing
When data arrives
to transparent latch
tD-Q
D
Q
Latch is a ‘soft’ barrier
Clk
tClk-Q
When data arrives
to closed latch
Data has to be ‘re-launched’
EE141 Integrated
© Digital
Circuits2nd
23
Timing Issues
Single-Phase Clock with Latches

Latch
Logic
Tskl
Tskl
Tskt
Tskt
Clk
PW
P
EE141 Integrated
© Digital
Circuits2nd
24
Timing Issues
Latch-Based Design
L1 latch is
transparent
when  = 0
L2 latch is transparent
when  = 1

L1
Latch
Logic
L2
Latch
Logic
EE141 Integrated
© Digital
Circuits2nd
25
Timing Issues
Slack-borrowing
In
L1
D
Q
CLB_A
t p d,A
a
b
CLK1
L2
D Q
CLB_B
t p d,B
c
L1
d
D
CLK2
Q
e
CLK1
TC LK
CLK1




CLK2
slack passed to next stage
t pd,A
a valid
EE141 Integrated
© Digital
Circuits2nd
tD Q
tpd,B
b valid c valid
t DQ
e valid
d valid
26
Timing Issues
Latch-Based Timing
Skew
Static logic

L1
Latch
Logic
L2 latch
=1
L2
Latch
L1 latch
Logic
Long
path
=0
Can tolerate skew!
Short
path
EE141 Integrated
© Digital
Circuits2nd
27
Timing Issues
Clock Distribution
H-tree
CLK
Clock is distributed in a tree-like fashion
EE141 Integrated
© Digital
Circuits2nd
28
Timing Issues
More realistic H-tree
[Restle98]
EE141 Integrated
© Digital
Circuits2nd
29
Timing Issues
The Grid System
GCL K
Driver
GCLK
Driver
Driver
GCLK
•No rc-matching
•Large power
Driver
GCL K
EE141 Integrated
© Digital
Circuits2nd
30
Timing Issues
Example: DEC Alpha 21164
Clock Frequency: 300 MHz - 9.3 Million Transistors
Total Clock Load: 3.75 nF
Power in Clock Distribution network : 20 W (out of 50)
Uses Two Level Clock Distribution:
• Single 6-stage driver at center of chip
• Secondary buffers drive left and right side
clock grid in Metal3 and Metal4
Total driver size: 58 cm!
EE141 Integrated
© Digital
Circuits2nd
31
Timing Issues
21164 Clocking
tcycle= 3.3ns
trise = 0.35ns

tskew = 150ps
Clock waveform





final drivers


pre-driver
Location of clock
driver on die
EE141 Integrated
© Digital
Circuits2nd
2 phase single wire clock,
distributed globally
2 distributed driver channels


Reduced RC delay/skew
Improved thermal distribution
3.75nF clock load
58 cm final driver width
Local inverters for latching
Conditional clocks in caches to
reduce power
More complex race checking
Device variation
32
Timing Issues
Clock Drivers
EE141 Integrated
© Digital
Circuits2nd
33
Timing Issues
Clock Skew in Alpha Processor
EE141 Integrated
© Digital
Circuits2nd
34
Timing Issues
EV6 (Alpha 21264) Clocking
600 MHz – 0.35 micron CMOS
tcycle= 1.67ns
trise = 0.35ns
Global clock waveform

tskew = 50ps
2 Phase, with multiple conditional
buffered clocks
 2.8 nF clock load
 40 cm final driver width




PLL
EE141 Integrated
© Digital
Circuits2nd
Local clocks can be gated “off” to
save power
Reduced load/skew
Reduced thermal issues
Multiple clocks complicate race
checking
35
Timing Issues
21264 Clocking
EE141 Integrated
© Digital
Circuits2nd
36
Timing Issues
EV6 Clock Results
ps
300
305
310
315
320
325
330
335
340
345
ps
5
10
15
20
25
30
35
40
45
50
GCLK Skew
GCLK Rise Times
(at Vdd/2 Crossings)
(20% to 80% Extrapolated to 0% to 100%)
EE141 Integrated
© Digital
Circuits2nd
37
Timing Issues
EV7 Clock Hierarchy
Active Skew Management and Multiple Clock Domains
+ widely dispersed
drivers
DLL
DLL
DLL
NCLK
(Mem Ctrl)
+ DLLs compensate
static and lowfrequency variation
GCLK
(CPU Core)
SYSCLK
EE141 Integrated
© Digital
Circuits2nd
L2R_CLK
(L2 Cache)
PLL
L2L_CLK
(L2 Cache)
+ divides design and
verification effort
- DLL design and
verification is added
work
+ tailored clocks
38
Timing Issues
Self-timed and Asynchronous
Design
Functions of clock in synchronous design
1) Acts as completion signal
2) Ensures the correct ordering of events
Truly asynchronous design
1) Completion is ensured by careful timing analysis
2) Ordering of events is implicit in logic
Self-timed design
1) Completion ensured by completion signal
2) Ordering imposed by handshaking protocol
EE141 Integrated
© Digital
Circuits2nd
39
Timing Issues
Synchronous Pipelined Datapath
In
CLK
R1
D Q
Logic
Block #1
tpd,reg
EE141 Integrated
© Digital
tpd1
Circuits2nd
R2
D Q
Logic
Block #2
tpd2
R3
D Q
Logic
Block #3
R4
D Q
tpd3
40
Timing Issues
Self-Timed Pipelined Datapath
Req
Req
HS
Ack
Done
R1
F1
tpF1
EE141 Integrated
© Digital
HS
Ack
Start
In
Req
Circuits2nd
Start
R2
Req
HS
Ack
Done
F2
tpF2
ACK
Start
R3
Done
F3
Out
tpF3
41
Timing Issues
Completion Signal Generation
LOGIC
In
Out
NETWORK
Start
DELAY MODULE
Done
Using Delay Element (e.g. in memories)
EE141 Integrated
© Digital
Circuits2nd
42
Timing Issues
Completion Signal Generation
Using Redundant Signal Encoding
EE141 Integrated
© Digital
Circuits2nd
43
Timing Issues
Completion Signal in DCVSL
VDD
VDD
B0
Start
Done
B1
B0
B1
In1
In1
In2
In2
PDN
PDN
Start
EE141 Integrated
© Digital
Circuits2nd
44
Timing Issues
Self-Timed Adder
VDD
VDD
Start
C0
C0
P0
C1
G0
P1
C2
G1
P2
C3
G2
P3
Start
C4
C4
G3
Start
VDD
Done
C4
C4
C3
C3
C2
C2
C1
C1
Start
Start
C0
C0
P0
C1
K0
P1
K1
C2
P2
K2
C3
P3
C4
C4
(b) Completion signal
K3
Start
(a) Differential carry generation
EE141 Integrated
© Digital
Circuits2nd
45
Timing Issues
Inputs
Start
Input Register
Completion Signal Using Current Sensing
VDD
Start
Output
Static CMOS Logic
A
GNDsense
Current Sensor
tdelay
toverlap
A
B
tMDG
Done
Done
Min Delay Generator
B
Output
EE141 Integrated
© Digital
Circuits2nd
tpd-NOR
valid
46
Timing Issues
Hand-Shaking Protocol
Two Phase Handshake
EE141 Integrated
© Digital
Circuits2nd
47
Timing Issues
Event Logic – The Muller-C Element
A
F
C
B
(a) Schematic
VDD
A
A
S
B
R
(a) Logic
Q
A
B
Fn+1
0
0
1
1
0
1
0
1
0
Fn
Fn
1
(b) Truth table
VDD
VDD
B
F B
F
B
A
A
F
B
B
(b) Majority Function
(c) Dynamic
EE141 Integrated
© Digital
Circuits2nd
48
Timing Issues
2-Phase Handshake Protocol
Advantage : FAST - minimal # of signaling events (important for global
interconnect)
Disadvantage : edge - sensitive, has state
EE141 Integrated
© Digital
Circuits2nd
49
Timing Issues
Example: Self-timed FIFO
Out
In
R1
En
R2
R3
Done
Reqi
Req0
C
C
C
Acko
Acki
All 1s or 0s -> pipeline empty
Alternating 1s and 0s -> pipeline full
EE141 Integrated
© Digital
Circuits2nd
50
Timing Issues
2-Phase Protocol
EE141 Integrated
© Digital
Circuits2nd
51
Timing Issues
Example
From [Horowitz]
EE141 Integrated
© Digital
Circuits2nd
52
Timing Issues
Example
EE141 Integrated
© Digital
Circuits2nd
53
Timing Issues
Example
EE141 Integrated
© Digital
Circuits2nd
54
Timing Issues
Example
EE141 Integrated
© Digital
Circuits2nd
55
Timing Issues
4-Phase Handshake Protocol
Also known as RTZ
Slower, but unambiguous
EE141 Integrated
© Digital
Circuits2nd
56
Timing Issues
4-Phase Handshake Protocol
Implementation using Muller-C elements
EE141 Integrated
© Digital
Circuits2nd
57
Timing Issues
Self-Resetting Logic
completion
detection
(L1)
Precharged
Logic Block
(L1)
completion
detection
(L2)
Precharged
Logic Block
(L2)
completion
detection
(L3)
Precharged
Logic Block
(L3)
VDD
int
out
A
EE141 Integrated
© Digital
B
Post-charge
logic
C
Circuits2nd
58
Timing Issues
Clock-Delayed Domino
GND
CLK2 (to next stage)
CLK1
VDD
Q1 (also D2)
D1
EE141 Integrated
© Digital
Circuits2nd
Pulldown
Network
59
Timing Issues
Asynchronous-Synchronous Interface
fin
Synchronous system
Asynchronous
system
fCLK
Synchronization
EE141 Integrated
© Digital
Circuits2nd
60
Timing Issues
Synchronizers and Arbiters
Arbiter: Circuit to decide which of 2 events
occurred first
 Synchronizer: Arbiter with clock  as one of
the inputs
 Problem: Circuit HAS to make a decision in
limited time - which decision is not important
 Caveat: It is impossible to ensure correct
operation
 But, we can decrease the error probability at
the expense of delay

EE141 Integrated
© Digital
Circuits2nd
61
Timing Issues
A Simple Synchronizer
CLK
int
D
I1
Q
I2
CLK
• Data sampled on rising edge of the clock
• Latch will eventually resolve the signal value,
but ... this might take infinite time!
EE141 Integrated
© Digital
Circuits2nd
62
Timing Issues
Synchronizer: Output Trajectories
Vout
2.0
1.0
0.0
0
100
200
300
time [ps]
Single-pole model for a flip-flop
EE141 Integrated
© Digital
Circuits2nd
63
Timing Issues
Mean Time to Failure
EE141 Integrated
© Digital
Circuits2nd
64
Timing Issues
Example
Tf = 10 nsec = T
Tsignal = 50 nsec
tr = 1 nsec
t = 310 psec
VIH - VIL = 1 V (VDD = 5 V)
N(T) = 3.9 10-9 errors/sec
MTF (T) = 2.6 108 sec = 8.3 years
MTF (0) = 2.5 sec
EE141 Integrated
© Digital
Circuits2nd
65
Timing Issues
Influence of Noise
Uniform distribution
around VM
p(v)
logarithmic
reduction
T
0
VIL
VIH
Initial Distribution
Still Uniform
Low amplitude noise does not influence synchronization behavior
EE141 Integrated
© Digital
Circuits2nd
66
Timing Issues
Typical Synchronizers
2 phase clocking circuit
2
Q
1
Q
2
1
Using delay line
EE141 Integrated
© Digital
Circuits2nd
67
Timing Issues
Cascaded Synchronizers Reduce MTF
O1
In
Sync
O2
Sync
Out
Sync
f
EE141 Integrated
© Digital
Circuits2nd
68
Timing Issues
Arbiters
Req1
Req2
Ack1
Arbiter
Req1
A
Ack2
B
Ack2
Ack1
(a) Schematic symbol
Req2
Req1
(b) Implementation
Req2
VT gap
A
B
metastable
Ack1
EE141 Integrated
© Digital
Circuits2nd
(c) Timing diagram
t
69
Timing Issues
PLL-Based Synchronization
Chip 1
Chip 2
Data
Digital
System
Digital
System
fsystem = N x fcrystal
Divider
PLL
reference
clock
PLL
Clock
Buffer
fcrystal , 200<Mhz
Crystal
Oscillator
EE141 Integrated
© Digital
Circuits2nd
70
Timing Issues
PLL Block Diagram
Reference
clock
Up
Phase
detector
Charge
pump
Loop
filter
VCO
Down
Local
clock
Divide by
N
EE141 Integrated
© Digital
vcont
Circuits2nd
System
Clock
71
Timing Issues
Phase Detector
Output before filtering
Transfer
characteristic
EE141 Integrated
© Digital
Circuits2nd
72
Timing Issues
Phase-Frequency Detector
Rst
D Q
B
UP
B
UP = 0
DN = 1
A
A
UP = 0
DN = 0
UP = 1
DN = 0
A
Rst
D Q
DN
A
B
B
(a) schematic
(b) state transition diagram
A
A
B
B
UP
UP
DN
DN
(c) Timing waveforms
EE141 Integrated
© Digital
Circuits2nd
73
Timing Issues
PFD Response to Frequency
A
B
UP
DN
EE141 Integrated
© Digital
Circuits2nd
74
Timing Issues
PFD Phase Transfer Characteristic
Average (UP-DN)
VDD
-2 p
2p
EE141 Integrated
© Digital
Circuits2nd
phase error (deg)
75
Timing Issues
Charge Pump
VDD
UP
To VCO Control Input
DN
EE141 Integrated
© Digital
Circuits2nd
76
Timing Issues
PLL Simulation
EE141 Integrated
© Digital
Circuits2nd
77
Timing Issues
Clock Generation using DLLs
Delay-Locked Loop (Delay Line Based)
U
fREF
Phase
Det
D
Charge
Pump
DL
Filter
fO
Phase-Locked Loop (VCO-Based)
fREF
U
÷N
PD
D
CP
VCO
Filter
fO
EE141 Integrated
© Digital
Circuits2nd
78
Timing Issues
Delay Locked Loop
EE141 Integrated
© Digital
Circuits2nd
79
Timing Issues
DLL-Based Clock Distribution
VCDL
•••
Digital
Circuit
•••
Digital
Circuit
CP/LF
Phase
Detector
GLOBAL CLK
VCDL
CP/LF
Phase
Detector
EE141 Integrated
© Digital
Circuits2nd
80
Timing Issues
Download