Professional Documents
Culture Documents
Lecture 10
18-322 Fall 2003
Textbook: [Sections 7.5, 10.1, 10.3]
Overview
Timing issues & clock distribution
System Performance Determination
Pipelining
Clock skew. Register timing
Counter clock skew
clk
setup time
Unstable data
hold time
Q
clk-to-Q (propagation) delay (tpFF)
Combinational
Logic
Next
State
Current
State
Clock
Primary
Outputs
Memory
Elements
(Registers)
FFs
Setup Time
Required time for input to be stable
BEFORE CLOCK EDGE
Comb.
Logic
Data stable here
before clock here
Data
Data
OK
Data
OR
by accelerating the combinational logic
Data
OK
Hold Time
Required time for input to be stable
AFTER CLOCK EDGE
Comb.
Logic
Data stable here
after clock here
Hold Time: 2 ns
Timing Analysis
Look for longest path: clock speed
Look for shortest paths: check hold time
Static Timing Analysis:
Attempt to determine longest/shortest path from schematic
Difficult problem
Know
False Paths
Example:
#4
#3
#2
Solutions:
Simulation
False Path Analysis
#3
Non-pipelined version
REG
Pipelined version
log
REG
Out
REG
log
REG
REG
REG
a
REG
REG
tp,comb
Out
REG
log
REG
REG
REG
REG
Out
Pipelined version
Overview
Timing issues & clock distribution
System Performance Determination
Pipelining
Clock skew. Register timing
Counter clock skew
In
CL1
R1
ti
CL2
R2
CL3
R3
Out
tl,min t r,min
tl,max tr,max
= t t (> 0 or <0)
Clock skew can severely
affect the performance
Note: we assumed here
tsetup = 0
Constraints on Skew
t
R1
t = t +
tr,min + tl,min + ti
R2
data
earliest time
(a) Race between clock and data.
t + T =
t + T +
tr,max + tl,max + ti
R1
+ T
R2
data
worst-case
(1)
(2)
t r, min + t i + t l, min
T tr,max + t i + t l,max
Data
CL
CL
CL
Data
CL
CL
CL
Overview
Timing issues & clock distribution
Pipelining
Clock skew. Register timing
Counter clock skew
REG
REG
In
REG
REG
Negative Skew
log
Out
Positive Skew
Clock Distribution
clk
Module
Module
secondary clock drivers
Module
Module
Module
Module
Clock Drivers
Clock driver
32-bit adder
Cin
Sum
32-bit
reg
32-bit
reg
32-bit
reg
R3
R4
R5
Cout
32-bit
reg
32-bit
reg
R2
R1
Cout
Cin
Cout
Cin
Sum
Sum
v
v
300fF
clk driver
150
~1mm wire
200, 100fF
Example (contd)
150
600fF
model
200
50fF
50fF
900fF