Integrated Circuits
A Design Perspective
Jan M. Rabaey Anantha Chandrakasan Borivoje Nikoli
Timing Issues
January 2003
2nd
EE141 Digital Integrated Circuits
Timing Issues
Synchronous Timing
CLK In R1 Combinational Logic Cout R2
Cin
Out
EE141 Digital Integrated Circuits
2nd
Timing Issues
Timing Definitions
EE141 Digital Integrated Circuits
2nd
Timing Issues
Latch Parameters
D Q Clk T Clk D tc-q PWm thold td-q tsu
Delays can be different for rising and falling data transitions
2nd
EE141 Digital Integrated Circuits
Timing Issues
Register Parameters
D Q Clk T Clk D tsu Q tc-q Delays can be different for rising and falling data transitions
2nd
thold
EE141 Digital Integrated Circuits
Timing Issues
Clock Uncertainties
4 Power Supply 3 Interconnect Devices 2 5 Temperature 1 Clock Generation 6 Capacitive Load 7 Coupling to Adjacent Lines
Sources of clock uncertainty
2nd
EE141 Digital Integrated Circuits
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
2nd
EE141 Digital Integrated Circuits
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 Digital Integrated Circuits
2nd
Timing Issues
Clock Skew
# of registers Earliest occurrence Latest occurrence of Clk edge of Clk edge Nominal /2 Nominal + /2
Insertion delay Max Clk skew
Clk delay
EE141 Digital Integrated Circuits
2nd
Timing Issues
Positive and Negative Skew
In CLK R1 D Q tCLK1 delay (a) Positive skew R1 D Q tCLK1 delay (b) Negative skew
10
Combinational Logic
R2 D Q tCLK2
Combinational Logic
R3 D Q tCLK3
delay
In
Combinational Logic
R2 D Q tCLK2
Combinational Logic
R3 D Q tCLK3
EE141 Digital Integrated Circuits
2nd
Timing Issues
Positive Skew
TCLK + CLK1 1
TCLK
CLK2
2
+ th
Launching edge arrives before the receiving edge
11
EE141 Digital Integrated Circuits
2nd
Timing Issues
Negative Skew
TCLK + CLK1 1 TCLK 3
CLK2
Receiving edge arrives before the launching edge
12
EE141 Digital Integrated Circuits
2nd
Timing Issues
Timing Constraints
In R1 D Q tCLK1 tc q, cd tsu, thold tc q t tlogic Combinational Logic R2 D Q tCLK2
CLK
Minimum cycle time: T - = tc-q + tsu + tlogic
Worst case is when receiving edge arrives early (positive )
2nd
EE141 Digital Integrated Circuits
Timing Issues
13
Timing Constraints
In R1 D Q tCLK1 tc q, cd tsu, thold tc q t tlogic Combinational Logic R2 D Q tCLK2
CLK
Hold time constraint: t(c-q, cd) + t(logic, cd) > thold +
Worst case is when receiving edge arrives late Race between data and clock
2nd
EE141 Digital Integrated Circuits
Timing Issues
14
Impact of Jitter
CLK
TC LK
t j itter -tji tte r
In
REGS CLK tc-q , tc-q, ts u, thold tjitter
Combinat ional Logic t log ic t log ic, cd
cd
EE141 Digital Integrated Circuits
2nd
Timing Issues
15
Longest Logic Path in Edge-Triggered Systems
TSU Clk TClk-Q TLM T TJI +
Latest point of launching
Earliest arrival of next cycle
EE141 Digital Integrated Circuits
2nd
Timing Issues
16
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 < can Skew T be either positive or negative
2nd
EE141 Digital Integrated Circuits
Timing Issues
17
Shortest Path
Earliest point of launching
Clk
TClk-Q TLm
Clk
TH
Data must not arrive before this time
Nominal clock edge
EE141 Digital Integrated Circuits
2nd
Timing Issues
18
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+
2nd
EE141 Digital Integrated Circuits
Timing Issues
19
How to counter Clock Skew?
Negative Skew REG
REG
REG In
REG
log
Out
Positive Skew Clock Distribution
Data and Clock Routing
20
EE141 Digital Integrated Circuits
2nd
Timing Issues
Flip-Flop Based Timing
Skew
Logic delay TSU
Flip-flop delay
Flip -flop
TClk-Q
Logic
= 0
= 1
Representation after M. Horowitz, VLSI Circuits 1996.
2nd
EE141 Digital Integrated Circuits
Timing Issues
21
Flip-Flops and Dynamic Logic
Logic delay TSU TSU TClk-Q TClk-Q
= 0
= 1
Logic delay
= 0
= 1
Precharge
Evaluate
Evaluate
Precharge
Flip-flops are used only with static logic
2nd
EE141 Digital Integrated Circuits
Timing Issues
22
Latch timing
tD-Q
D Clk Q
When data arrives to transparent latch Latch is a soft barrier
tClk-Q When data arrives to closed latch Data has to be re-launched
2nd
EE141 Digital Integrated Circuits
Timing Issues
23
Single-Phase Clock with Latches
Latch
Logic
Tskl Clk
Tskl
Tskt
Tskt
PW P
Timing Issues
24
EE141 Digital Integrated Circuits
2nd
Latch-Based Design
L1 latch is transparent when = 0
L2 latch is transparent when = 1
L1 Latch
Logic
L2 Latch
Logic
EE141 Digital Integrated Circuits
2nd
Timing Issues
25
Slack-borrowing
In L1 D Q a CLB_A t p d,A b L2 D Q c CLB_B t p d,B L1 d D Q e
CLK1
CLK2
TC LK
CLK1
CLK1
CLK2 slack passed to next stage t pd,A a valid tD Q tpd,B t DQ e valid d valid
26
b valid c valid
EE141 Digital Integrated Circuits
2nd
Timing Issues
Latch-Based Timing
Static logic
Skew
L1 Latch
Logic
L2 Latch
L1 latch
Logic
= 1 = 0
Short path
L2 latch
Long path
Can tolerate skew!
EE141 Digital Integrated Circuits
2nd
Timing Issues
27
Clock Distribution
H-tree
CLK
Clock is distributed in a tree-like fashion
2nd
EE141 Digital Integrated Circuits
Timing Issues
28
More realistic H-tree
[Restle98]
2nd
EE141 Digital Integrated Circuits
Timing Issues
29
The Grid System
G D C L e r K r i v
D r iv e r
D riv e r
No rc-matching Large power
D r i v G C e r L K
EE141 Digital Integrated Circuits
2nd
Timing Issues
30
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 Digital Integrated Circuits
2nd
Timing Issues
31
21164 Clocking
tcycle= 3.3ns trise = 0.35ns final drivers tskew = 150ps
Clock waveform
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
pre-driver
Location of clock driver on die
2nd
Local inverters for latching Conditional clocks in caches to reduce power More complex race checking Device variation
Timing Issues
32
EE141 Digital Integrated Circuits
Clock Drivers
EE141 Digital Integrated Circuits
2nd
Timing Issues
33
Clock Skew in Alpha Processor
EE141 Digital Integrated Circuits
2nd
Timing Issues
34
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
Local clocks can be gated off to save power Reduced load/skew Reduced thermal issues Multiple clocks complicate race checking
Timing Issues
35
EE141 Digital Integrated Circuits
2nd
21264 Clocking
EE141 Digital Integrated Circuits
2nd
Timing Issues
36
EV6 Clock Results
ps 5 10 15 20 25 30 35 40 45 50 GCLK Skew
(at Vdd/2 Crossings)
2nd
ps 300 305 310 315 320 325 330 335 340 GCLK Rise Times
(20% to 80% Extrapolated to 0% to 100%)
37
345
EE141 Digital Integrated Circuits
Timing Issues
EV7 Clock Hierarchy
Active Skew Management and Multiple Clock Domains
NCLK ( M e m C t r l)
+ widely dispersed drivers
DLL
+ DLLs compensate static and lowfrequency variation + divides design and verification effort
DLL
DLL
G CLK (C P U C o re )
- DLL design and verification is added work + tailored clocks
Timing Issues
38
L2L_CLK (L2 Cache)
PLL
SYSCLK
EE141 Digital Integrated Circuits
2nd
L2R_CLK (L2 Cache)
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
2nd
EE141 Digital Integrated Circuits
Timing Issues
39
Synchronous Pipelined Datapath
In R1 D Q tpd,reg Logic Block #1 tpd1 R2 D Q Logic Block #2 tpd2 R3 D Q tpd3 R4 D Q
CLK
EE141 Digital Integrated Circuits
2nd
Timing Issues
40
Self-Timed Pipelined Datapath
Req Ack HS Start Req Ack Done HS Start Req Ack Done HS Start Req ACK Done
In
R1
F1
R2
F2
R3
F3
Out
tpF1
tpF2
tpF3
EE141 Digital Integrated Circuits
2nd
Timing Issues
41
Completion Signal Generation
In LOGIC NETWORK Out
Start
DELAY MODULE
Done
Using Delay Element (e.g. in memories)
EE141 Digital Integrated Circuits
2nd
Timing Issues
42
Completion Signal Generation
Using Redundant Signal Encoding
EE141 Digital Integrated Circuits
2nd
Timing Issues
43
Completion Signal in DCVSL
VDD Start VDD B0 B1 B0 In1 In1 In2 In2 B1 Done
PDN
PDN
Start
EE141 Digital Integrated Circuits
2nd
Timing Issues
44
Self-Timed Adder
VDD Start C0 C0 Start VDD Start C0 C0 Start (a) Differential carry generation
45
VDD C3 P3 G3 Start C4 C4 C4 C3 C2 C1 Start C3 P3 K3 C4 C4 (b) Completion signal Done C4 C3 C2 C1
P0 G0
C1
P1 G1
C2
P2 G2
P0 K0
C1
P1 K1
C2
P2 K2
EE141 Digital Integrated Circuits
2nd
Timing Issues
Completion Signal Using Current Sensing
Input Register VDD Static CMOS Logic GND sense Current Sensor A Done Min Delay Generator B Output A toverlap B tMDG Done Output tpd-NOR valid Start tdelay
Inputs Start
EE141 Digital Integrated Circuits
2nd
Timing Issues
46
Hand-Shaking Protocol
Req Ack SENDER Data RECEIVER Ack Req 3
(a) Sender-receiver configuration
Data
1 cycle 1
1 cycle 2 Senders action Receivers action (b) Timing diagram
Two Phase Handshake
EE141 Digital Integrated Circuits
2nd
Timing Issues
47
Event Logic The Muller-C Element
A F B (a) Schematic
VDD A B A S R (a) Logic Q F B B A B VDD B F
A 0 0 1 1
B 0 1 0 1
Fn+1 0 Fn Fn 1
(b) Truth table
VDD
(b) Majority Function (c) Dynamic
2nd
EE141 Digital Integrated Circuits
Timing Issues
48
2-Phase Handshake Protocol
Sender logic Data ready C Req Ack Handshake logic Data Receiver logic Data accepted
Advantage : FAST - minimal # of signaling events (important for global interconnect) Disadvantage : edge - sensitive, has state
2nd
EE141 Digital Integrated Circuits
Timing Issues
49
Example: Self-timed FIFO
In Out R1 En Reqi C Acki C C Acko Done Req0 R2 R3
All 1s or 0s -> pipeline empty Alternating 1s and 0s -> pipeline full
2nd
EE141 Digital Integrated Circuits
Timing Issues
50
2-Phase Protocol
EE141 Digital Integrated Circuits
2nd
Timing Issues
51
Example
From [Horowitz]
2nd
EE141 Digital Integrated Circuits
Timing Issues
52
Example
EE141 Digital Integrated Circuits
2nd
Timing Issues
53
Example
EE141 Digital Integrated Circuits
2nd
Timing Issues
54
Example
EE141 Digital Integrated Circuits
2nd
Timing Issues
55
4-Phase Handshake Protocol
2 Req 4 Senders action Receivers action Ack 3 Data 1 Cycle 1 5 1 Cycle 2
Also known as RTZ Slower, but unambiguous
2nd
EE141 Digital Integrated Circuits
Timing Issues
56
4-Phase Handshake Protocol
Implementation using Muller-C elements
Data Sender logic Data ready Req C C S Ack Receiver logic Data accepted
Handshake logic
EE141 Digital Integrated Circuits
2nd
Timing Issues
57
Self-Resetting Logic
completion detection (L1) completion detection (L2) completion detection (L3)
Precharged Logic Block (L1)
Precharged Logic Block (L2)
Precharged Logic Block (L3)
VDD
int out A B C
Post-charge logic
EE141 Digital Integrated Circuits
2nd
Timing Issues
58
Clock-Delayed Domino
GND CLK1 VDD Q1 (also D2) D1 Pulldown Network CLK2 (to next stage)
EE141 Digital Integrated Circuits
2nd
Timing Issues
59
AsynchronousSynchronous Interface
fin Asynchronous system Synchronous system fCLK Synchronization
EE141 Digital Integrated Circuits
2nd
Timing Issues
60
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
2nd
EE141 Digital Integrated Circuits
Timing Issues
61
A Simple Synchronizer
CLK int 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!
2nd
EE141 Digital Integrated Circuits
Timing Issues
62
Synchronizer: Output Trajectories
2 .2 Vout 2 .2 22 . 2
22 2 22 2 time [ps]
22 2
Single-pole model for a flip-flop
EE141 Digital Integrated Circuits
2nd
Timing Issues
63
Mean Time to Failure
EE141 Digital Integrated Circuits
2nd
Timing Issues
64
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
2nd
EE141 Digital Integrated Circuits
Timing Issues
65
Influence of Noise
Uniform distribution around VM p(v)
logarithmic reduction T
VIL
VIH
Initial Distribution
Still Uniform
Low amplitude noise does not influence synchronization behavior
2nd
EE141 Digital Integrated Circuits
Timing Issues
66
Typical Synchronizers
2 phase clocking circuit
Q 1 2
Using delay line
EE141 Digital Integrated Circuits
2nd
Timing Issues
67
Cascaded Synchronizers Reduce MTF
In Sync O1 Sync O2 Sync Out
EE141 Digital Integrated Circuits
2nd
Timing Issues
68
Arbiters
Req1 Req2 Arbiter Ack1 Ack2 Req2
Ack1
Req1
A B
Ack2
(a) Schematic symbol Req1 Req2 A B metastable Ack1 VT gap
(b) Implementation (c) Timing diagram t
EE141 Digital Integrated Circuits
2nd
Timing Issues
69
PLL-Based Synchronization
Chip 1 Data Digital System fsystem = N x fcrystal PLL fcrystal , 200<Mhz Crystal Oscillator Divider reference clock Digital System Chip 2
PLL Clock Buffer
EE141 Digital Integrated Circuits
2nd
Timing Issues
70
PLL Block Diagram
Reference clock Up Phase detector Down Charge pump Loop filter v VCO
Local clock
Divide by N
System Clock
EE141 Digital Integrated Circuits
2nd
Timing Issues
71
Phase Detector
ref ref Output local clock (a) VDD local clock Output
Output before filtering
Output (Low pass filtered)
(b)
Transfer characteristic
90 (c) 180 phase error (deg)
-180
-90
2nd
EE141 Digital Integrated Circuits
Timing Issues
72
Phase-Frequency Detector
Rst D Q A Rst D Q B (a) schematic A B UP DN B UP B UP = 0 DN = 1 DN UP = 0 DN = 0 UP = 1 DN = 0 A A
(b) state transition diagram A B UP DN (c) Timing waveforms
2nd
EE141 Digital Integrated Circuits
Timing Issues
73
PFD Response to Frequency
A B UP DN
EE141 Digital Integrated Circuits
2nd
Timing Issues
74
PFD Phase Transfer Characteristic
Average (UP-DN) VDD
2 2 phase error (deg)
EE141 Digital Integrated Circuits
2nd
Timing Issues
75
Charge Pump
VDD
UP DN
To VCO Control Input
EE141 Digital Integrated Circuits
2nd
Timing Issues
76
PLL Simulation
ref 1.0 0.8 0.6 0.4 ref 0.2 0.0 div 0 1 2 3 4 5 vco Time ( s) div
Control Voltage (V)
vco
EE141 Digital Integrated Circuits
2nd
Timing Issues
77
Clock Generation using DLLs
Delay-Locked Loop (Delay Line Based) fREF
U D
Phase Det
Charge Pump
DL
Filter
fO Phase-Locked Loop (VCO-Based) fREF N PD
U D
CP
Filter
VCO fO
EE141 Digital Integrated Circuits
2nd
Timing Issues
78
Delay Locked Loop
FREF PH Phase detect U D Charge C pump (a) REF OUT UP DN PH VCTRL Delay
79
VCTRL VCDL FO
EE141 Digital Integrated Circuits
2nd
Timing Issues
DLL-Based Clock Distribution
VCDL Digital Circuit
CP/LF Phase Detector GLOBAL CLK VCDL Digital Circuit
CP/LF Phase Detector
2nd
EE141 Digital Integrated Circuits
Timing Issues
80