Professional Documents
Culture Documents
Chapter8 Retiming
Chapter8 Retiming
Chapter8 Retiming
Theerayod Wiangtong
25/01/05
Introduction
arrival time si
arrival time sj
x
register i
register j
12
j
i
D
6
23
max
A
5
B
5
C
12
D
6
Retiming
Shift registers around to improve circuit performance.
A 5
5
i
A 5
j
i
12
12
Optimal Retiming
A 5
si = sj
i
6
12
max
D
6
A
5
B
5
C
12
Retiming
Allow synthesis tool to automatically move register
stages delay on each side of the F/Fs
Does not change total delay of the circuit Just
improves the balance of delays
Fundamental criteria
u
r(u)
w(u,v)
r(v)
Structural constraints
u
Structural constraints
u
Structural constraints
u
Structural model:
Synchronous logic network.
Implicit notion of state.
Explicit notion of area and delay
Example
Example
Rules of retiming
Move register position.
Do not modify combinational logic.
Preserve network structure:
Modify weights.
Do not modify graph structure.
Example
Retiming
Global optimization technique [Leiserson].
Changes register positions:
affects area:
changes register count.
affects cycle-time:
changes path delays between register pairs.
Assumptions
Vertex delay is constant:
No fan-out delay dependency.
Synchronous implementation:
Cycles have positive weights.
Edges have non-negative weights.
Example
Retiming of a vertex:
Integer.
Lag: registers moved from output to input (+).
Lead: registers moved from input to output (-).
Retiming of a network:
Vector of vertex retiming.
Example
r = -[11222100]T
See example
9.3.9 pp 465
Legal retiming
Refined analysis
Least register path:
.
Over all paths between vi and vj.
Critical delay:
.
Over all the paths from vi to vj with weight W(vi, vj).
Example
Solution:
Given a value of :
solve linear constraints.
methods:
Bellman-Ford or derivate.
MILP.
Relaxation.
Example
Example
Summary of retiming
Sequential optimization technique for:
Cycle time or register area.
Applicable to:
Synchronous logic models.
Architectural data-path models: