Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lecture 10
18-322 Fall 2003
cycle time
clk
setup time
Unstable data
hold time
Primary Primary
Inputs Outputs
Combinational
Logic
Current Next
State State
Memory
Elements
(Registers)
Clock
Maximum Clock Frequency
φ
“Speed” of the sequential machine
FF’s (how fast can this machine be
clocked)
Comb.
Logic
Data
Data OK
Setup Time Fix 2
Data
OR
… by accelerating the combinational logic
Data OK
Hold Time
Comb.
Logic
#3
#2 #3
Solutions:
Simulation
False Path Analysis
Speeding up System Performance:
Pipelining
tp,comb
REG
REG
a a
. .
REG
REG
REG
φ log φ log
REG
Out Out
φ φ φ φ
REG
REG
b b
REG
f . log
REG
REG
REG
Out
φ φ φ
REG
Pipelined version
φ
δ
φ’ φ’’ If the local clock of R2 is delayed
tφ’ tφ’’ = tφ’ + δ w.r.t. R1, it might happen that the
tr,min + tl,min + ti inputs of R2 change before the
R1 R2
previous data is latched -> race
data
δ ≤ tr,min + ti + tl,min
earliest time
(a) Race between clock and data.
The clock is routed in the opposite direction of data φ (b) Negative skew
REG
REG
REG
φ . log Out
REG
In φ φ
Positive Skew
φ
Clock Distribution
clk
Module Module
secondary clock drivers
Module Module
Module Module
CLOCK
Clock driver
Timing & Race Conditions: Example
Source
32-bit
32-bit adder Destination
reg Cout
A
32-bit Sum 32-bit 32-bit 32-bit
B Cin reg
reg reg reg
≈
R2
A Cout
Sum
R1 B Cin
R3 R4 R5
Cout
v A
Sum
v B Cin v v v
300fF
~1mm wire
clk driver 200Ω, 100fF
150Ω
Example (cont’d)
π model
150Ω φ’ 200Ω φ”