Download presentation
Presentation is loading. Please wait.
Published byAda Young Modified over 9 years ago
1
Simulated Annealing To minimize the wire length
2
Combinatorial Optimization The Process of searching the solution space for optimum possible solutions NP hard problems are taken care by this Methods : 1. Deterministic 2. Heuristic
3
Heuristic approach Not guaranteed to get an exact solution. Can be many solution. Every different sample new results. Iterative Improvements Simulated annealing Genetic algorithm
4
Simulated Annealing Basically we have a current soltion and we change the parameters and obtain a new solution and then see whether the new solution is good or not if so accept it and go further till a time has reached.
5
Basic Iteration We decide to move the system to the new state based on the probability that the system ultimately reaches the lowest energy state. We continue doing it till the best possible solution is received or the resources are exhausted.
6
Neighbours of the state The neighbors of the state are specified by the user.
7
Transition Probability Probability of making a transition is decided based on the function P(ΔE,T) Where Δ E=E(S’)-E(S)..... T :- Temperature. We don’t stay at a false minimum.
8
Annealing schedule Initially the system assumes the highest possible energy level and then it is gradually decreased.
9
Pseudo Code s := s0 e := E(s) k := 0 while k emax sn := neighbour(s) en := E(sn) if random() < P(en - e, temp(k/kmax)) then s := sn; e := en k := k + 1 return s
10
State Neighbours Choosing the neighbours is very critical, always swap adjacent neighbors state not any arbitrary state. Chances are more likely that energy increases when we swap any arbitrary state, rather than adjacent swap.
11
My Implementation
12
Inputs and Outputs 1. Input (a) BDNET file (b) No of iterations at each temperature (c) No of Temperature points to try 2. Output (a) Placement of the optimized Cells (b) Plot of the Cost function
13
Net List File The Standard Open format BDNET format. MODEL sample:unplaced; TECHNOLOGY scmos; VIEWTYPE SYMBOLIC; EDITWTYLE SYMBOLIC; INPUT clk,a1; OUTPUT z ; SUPPLY Vdd; GROUND GND; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/nanf251": physical NAME: "u1" "GND!" : UNCONNECTED; "Vdd!" : UNCONNECTED; "O" : "n0"; "A1" : "a1"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u2" "GND!" : UNCONNECTED; 12 "Vdd!" : UNCONNECTED; "O" : "z0"; "A1" : "clk"; "B!" : "n0"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u3" "GND!" : UNCONNECTED; "Vdd!" : UNCONNECTED; "O" : "z1"; "A1" : "n0"; "B!" : "clk";
14
Test Computers These Tests are performed on the Test Computer with Linux OS Intel 1.7GHZ Celeron 128 MB RAM 845 Chipset Motherboard.
15
Sample1 1. Total Size : 14 Cells. 2. Total Nets : 17 3. Initial Cost : 29 4. Final Cost : 23,22,23 5. Initial temperature: 10000 6. Percent Reduction in Cost = 26 percent 7. Iteration = 150 8. Temperature Steps : 100
16
Initial Placement
17
Final Placement
18
Sample Circuit 2: 8 bit Full Adder with Register 1. Total Size : 73 Cells. 2. Total Nets : 91 3. Initial Cost : 505 4. Final Cost : 154,158,153 5. Initial temperature: 10000 6. Percent Reduction in Cost = 226 percent 7. Iteration = 150 8. Temperature Steps : 100
19
Sample Circuit 3 1. Total Size : 93 Cells. 2. Total Nets : 114 3. Initial Cost : 405 4. Final Cost : 138,144,140 5. Initial temperature: 10000 6. Percent Reduction in Cost = 189 percent 7. Iteration = 150 8. Temperature Steps : 100
20
Sample Circuit 4: ALU 1. Total Size : 439 Cells. 2. Total Nets : 400 3. Initial Cost : 7499 4. Final Cost : 1633,1624,1688 5. Initial temperature: 10000 6. Percent Reduction in Cost = 355 percent 7. Iteration = 150 8. Temperature Steps : 100
21
Sample Circuit 5: 8x8 Bit Multiplier 1. Total Size : 441 Cells. 2. Total Nets : 457 3. Initial Cost : 7105 4. Final Cost : 1366,1409,1324 5. Initial temperature: 10000 6. Percent Reduction in Cost = 420 percent 7. Iteration = 150 8. Temperature Steps : 100
22
Matlab Plot (for ALU)
23
Cost vs No:of Cells
24
Time vs no:of cells
25
Real Life Scenario Lets assume the Pentium 4 processor has 55 million transistors and each transistor takes 1 cell then in that case my algorithm took 21 seconds for 441 cells. So for 55x106 cells it will take 30 days. Consider this: 55000000/x = 441/21 X=55000000*21/441 X=2619047.6 seconds X=727 hours X=30 days (1month)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.