Download presentation
Presentation is loading. Please wait.
Published byLucinda Owens Modified over 8 years ago
2
CS137 Electronic Design Automation Day 9: February 25, 2004 Placement II André DeHon, Michael Wrighton
3
DeHon/Wrighton CALTECH CS137 Winter2004 Today Continue with Placement Improving Quality Avoiding local minima Techniques: Simulated Annealing Exhaustive (Branch-and-bound)
4
DeHon/Wrighton CALTECH CS137 Winter2004 Review: Cost Functions Total Wirelength Wirelength 2 Critical Path Delay More on this later Close Things Placed Close
5
DeHon/Wrighton CALTECH CS137 Winter2004 First Cut Randomly place netlist Consider moves of nodes Perform those moves which improve some global cost metric When no more moves possible -- terminate
6
DeHon/Wrighton CALTECH CS137 Winter2004 Force-Directed Model netlist as being connected with springs F=kx Perform swaps when F is reduced
7
DeHon/Wrighton CALTECH CS137 Winter2004 Force Directed Swaps
8
DeHon/Wrighton CALTECH CS137 Winter2004 Problem: Greedy Approach Any greedy approach will tend to get wedged in some local minima FM attacked problem by swapping all nodes even if negative gain
9
DeHon/Wrighton CALTECH CS137 Winter2004 Simulated Annealing Physically motivated approach Physical world has similar problems objects/atoms seeking minimum cost arrangement at high temperature (energy) can move around at low temperature, no free energy to move cool quickly, freeze in defects (weak structure) cool slowly, allow to find minimum cost
10
DeHon/Wrighton CALTECH CS137 Winter2004 Key Benefit Avoid Local Minima Allowed to take locally not improving moves in order to avoid being stuck Algorithm Progression Cost of Solution Local Minimum Best Solution Better Solution
11
DeHon/Wrighton CALTECH CS137 Winter2004 Simulated Annealing At high temperature can move around not trapped to only make “improving” moves free energy from temperature allows exploration of non- minimum states avoid being trapped in local minima As temperature lowers less energy to take big, non-minimizing moves more local / greedy moves
12
DeHon/Wrighton CALTECH CS137 Winter2004 Design Optimization Components: “Energy” (Cost) function to minimize represent entire state, drives system forward Moves local rearrangement/transformation of solution Cooling schedule initial temperature temperature steps (sequence) time at each temperature
13
DeHon/Wrighton CALTECH CS137 Winter2004 Basic Algorithm Sketch Pick an initial solution Set temperature (T) to initial value while (T> T min ) for time at T pick a move at random compute cost if less than zero, accept else if RND<e - cost/T, accept update T
14
DeHon/Wrighton CALTECH CS137 Winter2004 Details Initial Temperature T 0 = avg/ln(P accept ) Cooling schedule fixed ratio: T= T (e.g. =0.85) temperature dependent Time at each temperature fixed number of moves? Fixed number of rejected moves? Fixed fraction of rejected moves?
15
DeHon/Wrighton CALTECH CS137 Winter2004 Cost Function Can (Should) be very general Drive entire solution in right direction reward each good move Should be cheap to compute delta costs e.g. FM O(1) ideally
16
DeHon/Wrighton CALTECH CS137 Winter2004 Bad Cost Functions Update cost rerun maze route on every move rerun timing analysis recalculate critical path delay Drive toward solution: size < threshold ? Critical path delay
17
DeHon/Wrighton CALTECH CS137 Winter2004 Cost Functions Total Wire Length Bounding Box Semiperimeter Exact estimate for up to 3 node nets VPR Bounding Box (improves apprx): q(i) varies from 1 -> 2.79 by the number of nodes on the net
18
DeHon/Wrighton CALTECH CS137 Winter2004 Timing Cost Function TimingCost(i,j) = Dly(i,j) ∙Critclty(i,j) CritcltyExp Maintain all delay’s (i -> j) in a lookup table Recompute Net Criticality @ Every Temperature Balance w/ Wiring Cost Function Marquardt, Betz, & Rose, 2000
19
DeHon/Wrighton CALTECH CS137 Winter2004 Multiple Cost Functions “Auto-Normalize” Function is not weighted on ‘absolute’ values
20
DeHon/Wrighton CALTECH CS137 Winter2004 Handling ‘Max’ Style Cost Functions Max(a1, a2, a3, a4…) is difficult to ‘drive’ annealing Instead: Minimize e a1 +e a2 +e a3 +e a4 +…
21
DeHon/Wrighton CALTECH CS137 Winter2004 Initial Solution Spectral Placement Random Constructive Placement
22
DeHon/Wrighton CALTECH CS137 Winter2004 Moves Swap two cells swap regions …rows, columns, subtrees rotate cell (when feasible) flip (mirror) cell permute cell inputs (equivalent inputs)
23
DeHon/Wrighton CALTECH CS137 Winter2004 Variant Allow non-legal solutions capture badness in cost function E.g. -- allow cells to overlap Just make sure cost function makes very expensive as cool settle out to legal solutions
24
DeHon/Wrighton CALTECH CS137 Winter2004 Variant: “Rejectionless” Order moves by cost compare FM Pick random number first Use random to define range of move costs will currently accept Pick randomly within this range (never pick a costly move which will reject)
25
DeHon/Wrighton CALTECH CS137 Winter2004 Theory If stay long enough at each cooling stage will achieve tight error bound If cool long enough will find optimum Long Enough If P ≠ NP – will be very long
26
DeHon/Wrighton CALTECH CS137 Winter2004 Practice Good results ultimately, what most commercial tools use... Slow convergence Tricky to pick schedules to accelerate convergence
27
DeHon/Wrighton CALTECH CS137 Winter2004 Black Magic VPR Details Rlimit new = Rlimit old (1-0.44+α) Maintain moves accepted at 44% Lam and Delosme Moves @ Temp = cN 4/3 Temperature Update Schedule T new = T old ∙γ αγ α > 0.960.5 0.8 < α ≤ 0.960.9 0.15 < α ≤ 0.80.95 α ≤ 0.150.8 Empirical
28
DeHon/Wrighton CALTECH CS137 Winter2004 Costly, but general Works for most all problems (part, placement, route, retime, schedule…) Can have hybrid/mixed cost functions as long as weight to single potential With care, can attack multiple levels place and route Ignores structure of problem resignation to finding/understanding structure Big Hammer
29
Optimal/Exhaustive
30
DeHon/Wrighton CALTECH CS137 Winter2004 More on Long Enough… If you run simulated annealing long enough…. It should converge to optimum If you have enough monkeys typing at keyboards keyboards long enough They’ll eventually produce the works of Shakespeare….
31
DeHon/Wrighton CALTECH CS137 Winter2004 Brute Force? If you are really going to give up on structure and explore the entire space …there are more efficient ways to do it …and maybe they’re not terrible For small/modest problems As our computers get faster
32
DeHon/Wrighton CALTECH CS137 Winter2004 Optimum Placement Simplest case: Gate/array (FPGA) w/ fixed cell locations N locations M cells Try all permutations of N choose M N!/(N-M)! cases
33
DeHon/Wrighton CALTECH CS137 Winter2004 Improving Prune off symmetry cases Rotate 90, 180, 270 Mirror X, Y, XY Reject provably bad starts (return to in a minute)
34
DeHon/Wrighton CALTECH CS137 Winter2004 Exhaustive Placement More general: Modules have variable size Modules can be rotated/flipped… To explore all cases: For each module For each orientation
35
DeHon/Wrighton CALTECH CS137 Winter2004 Branch-and-Bound Recall from Logic Optimization Consider dense 1D placement Search space of all placements Tree branch is choice of logical cell for physical cell position Keep track of best solution so far as reach leaves If partial solution worse than best solution, prune branch
36
DeHon/Wrighton CALTECH CS137 Winter2004 Pruning: 1D example Reducing channel width Have solution with width=10 When find a partial solution with width>=10 Can abort that branch Reducing Delay Have solution with delay=20 When find a partial solution with delay>=20 Can abort branch
37
DeHon/Wrighton CALTECH CS137 Winter2004 Viable Only on small problems But “small” growing with machine speed Use for end-case in constructive Flatten bottom of hierarchy Maybe even in iteration/overlap relaxation
38
DeHon/Wrighton CALTECH CS137 Winter2004 Caldwell et. al. Results [TRCAD v19n11p1304-13]
39
DeHon/Wrighton CALTECH CS137 Winter2004 Runtime [TRCAD v19n11p1304-13]
40
DeHon/Wrighton CALTECH CS137 Winter2004 Faster? Accounting and gain complexity Make it linear time But do make each update somewhat complex Exhaustive case less bookkeeping Not an atypical result…
41
DeHon/Wrighton CALTECH CS137 Winter2004 Admin Will Meet on Monday Should have feedback from Dehon Reminder: No Support for Non-Standard Tools Jython, Optik, M3, C, Perl, Tcl/Tk, etc. Reading Scheduling
42
DeHon/Wrighton CALTECH CS137 Winter2004 Summary Simulated Annealing use randomness to explore space accept “bad” moves to avoid local minima decrease tolerance over time General purpose solution costly in runtime Small (sub)problems May solve exhaustively Can prune to accelerate…
43
DeHon/Wrighton CALTECH CS137 Winter2004 Big Ideas: Use randomness to explore large (non- convex) space Simulated Annealing Use dominance to quickly skip over obviously bad solutions Branch and Bound
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.