1 / 25

Simulated Annealing

Simulated Annealing. To minimize the wire length. 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. Heuristic approach.

abiba
Download Presentation

Simulated Annealing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 < kmax and e > 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 MODEL sample:unplaced; TECHNOLOGY scmos; VIEWTYPE SYMBOLIC; EDITWTYLE SYMBOLIC; INPUT clk,a1; OUTPUT z<1:0>; 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"; • The Standard Open format BDNET format.

  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 FullAdder 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 BitMultiplier 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)

More Related