Documente Academic
Documente Profesional
Documente Cultură
Circuits
Jan M. Rabaey
AAnantha
Design Perspective
Chandrakasan
Borivoje Nikoli
Timing Issues
January 2003
1
Digital
EE141 Integrated Circuits 2nd Timing Issues
Synchronous Timing
CLK
In Combinational
R1 R2
Cin Logic Cout Out
2
Digital
EE141 Integrated Circuits 2nd Timing Issues
Timing
Definitions
3
Digital
EE141 Integrated Circuits 2nd Timing Issues
Latch Parameters
D Q
Clk
T
Clk PW
tsu
D
thold
tc-q td-q
Q
D Q
Clk
T
Clk
D thold
tsu
tc-q
Q
6
Digital
EE141 Integrated Circuits 2nd 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
7
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock Skew and Jitter
Clk
tSK
Clk tJS
8
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock Skew
# of registers
Earliest occurrence
Latest occurrence
of Clk edge of Clk edge
Nominal /2 Nominal + /2
9
Digital
EE141 Integrated Circuits 2nd Timing Issues
Positive and Negative Skew
R1 R2 R3
In Combinational Combinational
D Q D Q D Q
Logic Logic
delay delay
(a) Positive skew
R1 R2 R3
In Combinational Combinational
D Q D Q D Q
Logic Logic
delay
(b) Negative skew
10
Digital
EE141 Integrated Circuits 2nd Timing Issues
Positive Skew
TCLK
TCLK
1
CLK1
CLK2 2 4
th
11
Digital
EE141 Integrated Circuits 2nd Timing Issues
Negative Skew
TCLK +
TCLK
1 3
CLK1
CLK2 2 4
12
Digital
EE141 Integrated Circuits 2nd Timing Issues
Timing Constraints
R1 R2
In Combinational
D Q D Q
Logic
tc q tlogic
tc q, cd t
tsu, thold
13
Digital
EE141 Integrated Circuits 2nd Timing Issues
Timing Constraints
R1 R2
In Combinational
D Q D Q
Logic
tc q tlogic
tc q, cd t
tsu, thold
14
Digital
EE141 Integrated Circuits 2nd Timing Issues
Impact of Jitter
TC LK
t j itter
CLK
-tji tte r
REGS Combinational
In Logic
CLK t log ic
tc-q , tc-q, cd t log ic, cd
ts u, thold
tjitter
15
Digital
EE141 Integrated Circuits 2nd Timing Issues
Longest Logic Path in
Edge-Triggered Systems
TJI +
TSU
Clk
TClk-Q
Tlogic
T
16
Digital
EE141 Integrated Circuits 2nd 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:
Minimum cycle time is determined by the maximum delays through the logic
Clk
TClk-Q Tlogic
Clk
TH
18
Digital
EE141 Integrated Circuits 2nd Timing Issues
How to counter Clock Skew?
Negative Skew
REG
REG
REG
. log Out
REG
In
Positive Skew
Clock Distribution
19
Digital
EE141 Integrated Circuits 2nd Timing Issues
Flip-Flop Based Timing
Skew Flip-flop
Logic delay delay
TSU
Flip TClk-Q
-flop
Logic
Representation after
M. Horowitz, VLSI Circuits 1996.
20
Digital
EE141 Integrated Circuits 2nd Timing Issues
Flip-Flops and Dynamic Logic
Logic delay
TSU
TSU TClk-Q
TClk-Q
Logic delay
Precharge Evaluate Precharge
Evaluate
21
Digital
EE141 Integrated Circuits 2nd Timing Issues
Latch timing
tD-Q When data arrives
to transparent latch
Latch is a soft barrier
D Q
Clk
22
Digital
EE141 Integrated Circuits 2nd Timing Issues
Single-Phase Clock with Latches
Latch
Logic
Clk
PW
P
23
Digital
EE141 Integrated Circuits 2nd Timing Issues
Latch-Based Design
L1 latch is L2 latch is transparent
transparent when = 1
when = 0
L1 L2
Logic
Latch Latch
Logic
24
Digital
EE141 Integrated Circuits 2nd Timing Issues
Slack-borrowing
L1 L2 L1
In CLB_A CLB_B
D Q D Q D Q
a t p d,A b c t p d,B d e
CLK1
CLK2
25
Digital
EE141 Integrated Circuits 2nd Timing Issues
Latch-Based Timing
Skew
Static logic
L2 latch
L1
Logic
L2
Latch Latch
L1 latch
Logic
Long
path
H-tree
CLK
[Restle98]
28
Digital
EE141 Integrated Circuits 2nd Timing Issues
The Grid System
G CL K
D r iv e r
D r iv e r
G C LK
D riv e r
GC LK
No rc-matching
Large power
D r iv e r
G CL K
29
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example: DEC Alpha 21164
Clock Frequency: 300 MHz - 9.3 Million Transistors
30
Digital
EE141 Integrated Circuits 2nd Timing Issues
21164 Clocking
tcycle= 3.3ns 2 phase single wire clock,
trise = 0.35ns tskew = 150ps distributed globally
Clock waveform
2 distributed driver channels
Reduced RC delay/skew
final drivers Improved thermal distribution
3.75nF clock load
58 cm final driver width
Local inverters for latching
Conditional clocks in caches to
reduce power
pre-driver More complex race checking
Device variation
Location of clock
driver on die 31
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock Drivers
32
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock Skew in Alpha Processor
33
Digital
EE141 Integrated Circuits 2nd Timing Issues
EV6 (Alpha 21264) Clocking
600 MHz 0.35 micron CMOS
tcycle= 1.67ns
35
Digital
EE141 Integrated Circuits 2nd Timing Issues
EV6 Clock Results ps
ps
5 300
10 305
15 310
20 315
25 320
30 325
35 330
40 335
45 340
50 345
+ widely dispersed
NCLK
(Mem Ctrl) drivers
+ DLLs compensate
DLL
static and low-
DLL
DLL
frequency variation
L2R_CLK
(L2 Cache)
(L2 Cache)
GCLK
(CPU Core)
verification is added
work
SYSCLK + tailored clocks
37
Digital
EE141 Integrated Circuits 2nd 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
Self-timed design
38
Digital
EE141 Integrated Circuits 2nd Timing Issues
Synchronous Pipelined Datapath
R1 R2 R3 R4
In Logic Logic
D Q Block #1 D Q Block #2 D Q D Q
39
Digital
EE141 Integrated Circuits 2nd Timing Issues
Self-Timed Pipelined Datapath
Req Req Req Req
R1 F1 R2 F2 R3 F3 Out
In
40
Digital
EE141 Integrated Circuits 2nd Timing Issues
Completion Signal Generation
LOGIC
In Out
NETWORK
41
Digital
EE141 Integrated Circuits 2nd Timing Issues
Completion Signal Generation
42
Digital
EE141 Integrated Circuits 2nd Timing Issues
Completion Signal in DCVSL
VDD VDD
Start B0
Done
B1
B0 B1
In1
In1
In2 PDN PDN
In2
Start
43
Digital
EE141 Integrated Circuits 2nd Timing Issues
Self-Timed Adder
VDD VDD
Start Start
P0 P1 P2 P3 Done
C0 C1 C2 C3 C4 C4
C4 C4
C0 G0 G1 G2 G3 C3 C3
Start C2 C2
C1 C1
VDD
Start
Start
P0 P1 P2 P3
C0 C1 C2 C3 C4 C4 (b) Completion signal
C0
K0 K1 K2 K3
Start
44
Digital
EE141 Integrated Circuits 2nd Timing Issues
Completion Signal Using Current Sensing
VDD
Input Register
Start
Inputs Static CMOS Logic Output tdelay
A
GNDsense toverlap
Start
Current Sensor A B
tMDG
Done tpd-NOR
Done
Min Delay Generator B
Output valid
45
Digital
EE141 Integrated Circuits 2nd Timing Issues
Hand-Shaking Protocol
Req
Req
Ack
SENDER RECEIVER
Data 3
Ack
cycle 1 cycle 2
Senders action
Receivers action
(b) Timing diagram
Two Phase Handshake
46
Digital
EE141 Integrated Circuits 2nd Timing Issues
Event Logic The Muller-C Element
A B Fn1
A
0 0 0
F 0 1 Fn
B 1 0 Fn
1 1 1
A B
A
S Q
F B
B F
R A F
B
(a) Logic
A B
B
(c) Dynamic 47
Digital
EE141 Integrated Circuits 2nd Timing Issues
2-Phase Handshake Protocol
Data
Sender Receiver
logic logic
Req
C
Ack
Handshake logic
In Out
R1 R2 R3
En Done
Reqi Req0
C C C
Acki Acko
50
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example
From [Horowitz]
51
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example
52
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example
53
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example
54
Digital
EE141 Integrated Circuits 2nd Timing Issues
4-Phase Handshake Protocol
2 4 Senders action
Req
Receivers action
Ack
3 5
Data 1 1
Cycle 1 Cycle 2
55
Digital
EE141 Integrated Circuits 2nd Timing Issues
4-Phase Handshake Protocol
Implementation using Muller-C elements
Data
Sender Receiver
logic logic
Req
S
C C
Ack
Handshake logic
56
Digital
EE141 Integrated Circuits 2nd Timing Issues
Self-Resetting Logic
VDD
Post-charge
int
out logic
A B C
57
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock-Delayed Domino
GND
VDD
Q1 (also D2)
D1 Pulldown
Network
58
Digital
EE141 Integrated Circuits 2nd Timing Issues
Asynchronous-Synchronous Interface
fin
Synchronous system
Asynchronous
system
fCLK
Synchronization
59
Digital
EE141 Integrated Circuits 2nd 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
60
Digital
EE141 Integrated Circuits 2nd Timing Issues
A Simple Synchronizer
CLK
I1
int
D Q
I2
CLK
Vout
1.0
0.0
0 100 200 300
time [ps]
62
Digital
EE141 Integrated Circuits 2nd Timing Issues
Mean Time to Failure
63
Digital
EE141 Integrated Circuits 2nd Timing Issues
Example
Tf = 10 nsec = T
Tsignal = 50 nsec
tr = 1 nsec
t = 310 psec
VIH - VIL = 1 V (VDD = 5 V)
64
Digital
EE141 Integrated Circuits 2nd Timing Issues
Influence of Noise
Uniform distribution
around VM
p(v)
logarithmic
reduction
T
0 VIL VIH
Still Uniform
Initial Distribution
Low amplitude noise does not influence synchronization behavior
65
Digital
EE141 Integrated Circuits 2nd Timing Issues
Typical Synchronizers
2 phase clocking circuit 2
Q
1
Q 2
66
Digital
EE141 Integrated Circuits 2nd Timing Issues
Cascaded Synchronizers Reduce MTF
In O1 O2 Out
Sync Sync Sync
67
Digital
EE141 Integrated Circuits 2nd Timing Issues
Arbiters
Req1 Ack1
Req1 A
Arbiter
Req2 Ack2 Ack2
B
Ack1
Req2
(a) Schematic symbol
68
Digital
EE141 Integrated Circuits 2nd Timing Issues
PLL-Based Synchronization
Chip 1 Chip 2
Data
Digital Digital
System System
reference
fsystem = N x fcrystal clock
Divider PLL
PLL Clock
Buffer
fcrystal 200<Mhz
Crystal
Oscillator
69
Digital
EE141 Integrated Circuits 2nd Timing Issues
PLL Block Diagram
Reference Up
clock v
Phase Charge Loop
VCO
detector pump filter
Local Down
clock
Divide by
N
System
Clock
70
Digital
EE141 Integrated Circuits 2nd Timing Issues
Phase Detector
Output before filtering
ref
ref
Output local
clock
local Output
clock
(a) (b)
Output (Low pass filtered)
VDD
Transfer
characteristic
A UP = 0 UP = 0 UP = 1
A
DN = 1 DN = 0 DN = 0
Rst
D Q
DN
A B
B
(a) schematic (b) state transition diagram
A A
B B
UP UP
DN DN
72
Digital
EE141 Integrated Circuits 2nd Timing Issues
PFD Response to Frequency
UP
DN
73
Digital
EE141 Integrated Circuits 2nd Timing Issues
PFD Phase Transfer Characteristic
Average (UP-DN)
VDD
74
Digital
EE141 Integrated Circuits 2nd Timing Issues
Charge Pump
VDD
DN
75
Digital
EE141 Integrated Circuits 2nd Timing Issues
PLL Simulation
ref
1.0
div
0.8
Control Voltage (V)
0.6 vco
0.4
ref
0.2
0.0 div
0 1 2 3 4 5
Time ( s)
vco
76
Digital
EE141 Integrated Circuits 2nd Timing Issues
Clock Generation using DLLs
Delay-Locked Loop (Delay Line Based)
fREF U
Phase Charge
D DL
Det Pump
Filter
fO
PD D CP VCO
N Filter
fO
77
Digital
EE141 Integrated Circuits 2nd Timing Issues
Delay Locked Loop
U
FREF Phase Charge C
PH D VCTRL VCDL
detect pump
FO
(a)
REF
OUT
UP
DN
PH
VCTRL
Delay
78
Digital
EE141 Integrated Circuits 2nd Timing Issues
DLL-Based Clock Distribution
Digital
VCDL
Circuit
CP/LF
Phase
Detector
Digital
GLOBAL CLK VCDL
Circuit
CP/LF
Phase
Detector
79
Digital
EE141 Integrated Circuits 2nd Timing Issues