Académique Documents
Professionnel Documents
Culture Documents
© KLMH
Introduction
Unlike greedy algorithms, SA algorithms can accept candidate solutions with higher
cost.
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 2
Simulated Annealing
© KLMH
Cost
Initial solution
Local
optimum Global
optimum
Solution states
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 3
Simulated Annealing
© KLMH
What is annealing?
Slower cooling has a higher probability of achieving a perfect lattice with minimum-
energy
Cooling process occurs in steps
Atoms need enough time to try different structures
Sometimes, atoms may move across larger distances and create (intermediate) higher-
energy states
Probability of the accepting higher-energy states decreases with temperature
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 4
Simulated Annealing
© KLMH
Simulated Annealing
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 5
Simulated Annealing – Algorithm
© KLMH
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 6
Simulated Annealing – Algorithm
© KLMH
Input: initial solution init_sol
Output: optimized new solution curr_sol
T = T0 // initialization
i=0
curr_sol = init_sol
curr_cost = COST(curr_sol)
while (T > Tmin)
while (stopping criterion is not met)
i=i+1
(ai,bi) = SELECT_PAIR(curr_sol) // select two objects to perturb
trial_sol = TRY_MOVE(ai,bi) // try small local change
trial_cost = COST(trial_sol)
cost = trial_cost – curr_cost
if (cost < 0) // if there is improvement,
curr_cost = trial_cost // update the cost and
curr_sol = MOVE(ai,bi) // execute the move
else
Lienig
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3: Chip Planning 7
The authors showed that the normalized polish expression
corresponds to the post-order traversal of the slicing tree and
satisfies the following properties:
(i) each block appears exactly once in the string,
Example PE: P1 = 25V1H374VH6V8VH
Initial floorplan
W (X-axis)
Area = 11 x 15 unit2
Area = 11 x 15 Area = 13 x 14
Area = 13 x 14 Area = 15 x 11
Area = 15 x 11 Area = 15 x 7
In general, better results are produced with a high initial temperature and a slow
rate of cooling, at the cost of increased runtime.
Practical Problems in VLSI Physical Design Polish Expression (19/8)
References
“A NEW ALGORITHM FOR FLOORPLAN DESIGN”
by D. F. Wong and C. L. Liu, 1986.
“Practical problems in VLSI physical design” by Sung
Kyu Lim (Book).
“VLSI physical design: from graph partitioning to timing
closure” by Kahng et al.