1 / 29

Fuzzy Evolutionary Algorithm for VLSI Placement

Fuzzy Evolutionary Algorithm for VLSI Placement. Sadiq M. Sait Habib Youssef Junaid A. Khan Department of Computer Engineering King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia. Presentation Overview. Introduction Problem statement and cost functions Proposed scheme

Download Presentation

Fuzzy Evolutionary Algorithm for VLSI Placement

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. Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. Khan Department of Computer Engineering King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia

  2. Presentation Overview • Introduction • Problem statement and cost functions • Proposed scheme • Results • Conclusion

  3. Introduction • A Fuzzy Evolutionary Algorithm for VLSI placement is presented. • Standard Cell Placement is: • A hard multi-objective combinatorial optimization problem. • With no known exact and efficient algorithm that can guarantee a solution of specific or desirable quality. • Simulated Evolution is used to perform intelligent search towards better solution. • Due to imprecise nature of design information, objectives and constraints are expressed in fuzzy domain. • The proposed algorithm is compared with Genetic Algorithm.

  4. Problem Statement & Cost Functions

  5. Given A set of modules M = {m1,m2,m3,… mn} A set of signals V = {v1, v2, v3,… vk} A set of Signals Vi  V, associated with each module mi  M A set of modules Mj = {mi|vj  Vi}, associated with each signal vj V A set of locations L = {L1, L2, L3…Lp}, where p  n Objectives The objective of the problem is to assign each mi M a unique location Lj, such that Power is optimized Delay is optimized Wire length is optimized Within accepted layout Width (Constraint) Problem Statement

  6. Wire length Estimation Where li …… is the estimate of actual length of signal net vi,computed using median Steiner tree technique Power Estimation Where: Si …… Switching probability of module mi Ci…… Load Capacitance of module mi VDD … Supply Voltage f …… Operating frequency  …… Technology dependent constant Cost Functions

  7. Power Estimation (contd.) Also Where Ciris the interconnect capacitance at the output node of cell i. Cjgis the input capacitance of cell j. In standard cell placement VDD, f, , and Cjgare constant and power dissipation depends only on Siand Cirwhich is proportional to wire-length of the net vi. Therefore the cost due to power can be written as: Cost Functions

  8. Delay Estimation We have a set of critical paths {1, 2, 3……k} {vi1, vi2, vi3…… viq} is the set of signal nets traversing path i. Ti is the delay of path i computed as: Where CDi …… is the delay due to the cell driving signal net vi. IDi …… is the interconnect delay of signal net vi. Now Cost Functions

  9. Width Constraint Where Widthmaxis the maximum allowable width of layout Widthopt is the optimal width of layout a denotes how wide layout we can have as compared to its optimal value. Cost Functions

  10. Fuzzy logic for multiobjective optimization Unlike crisp set theory, members of a fuzzy set have degree of membership in the range [0,1] Each objective cost is mapped to the membership value in the corresponding fuzzy set of “good in that objective” Some linguistic fuzzy rule is used to combine objectives (AND or ORlogic) Linguistic rule is mapped to some fuzzy operator, where membership values are combined into membership in fuzzy set of good overall solution Fuzzy Operators Used And-like operators Min operator  = min(1, 2) And-like OWA  =  * min(1, 2) + ½ (1-)(1+2) Or-like operators Max operator  = max(1, 2) Or-like OWA  =  * max(1, 2) + ½ (1- )(1+ 2) Cost Functions

  11. ALGORITHM SimE(M,L) /* M: Set of moveable elements */ /* L: Set of locations */ /* B: Selection bias */ INITIALIZAION: Repeat EVALUATION: For Each m  M compute(gm) End For Each SELECTION: For Each m  M If Selection(m,B) Then Ps = Ps U {m} Else Pr = Pr U {m} End If End For Each Sort the elements of Ps; ALLOCATION: For Each m  Ps Allocation(m) End For Each Until Stopping criteria are met Return (Best Solution) End SimE SE Algorithm

  12. IF cell i is near its optimal wire-length AND near its optimal power AND near its optimal net delay OR Tmax(i) is much smaller thanTmaxTHENit has high goodness. Where Tmax is the delay of the most critical path in the current iteration and Tmax(i) is the delay of the longest path traversing cell i in the current iteration Where Proposed Fuzzy goodness evaluation

  13. Goodness (Membership Functions)

  14. Where l*j …… lower bound on wire length of signal net vj lj …… actual wire length of signal net vj Sj …… is the switching probability of vi Where IDi* …… is the lower bound on interconnect delay of vi IDp* …… is the lower bound on interconnect delay of the input net of cell i that is on max(i) Tmax(i) …… Delay of longest path traversing cell i Tmax …… Delay of most critical path in current iteration Goodness (base values)

  15. Goodness (amin_i and amax_i ) amin_i = average(Xei) – 2xSD(Xei) amax_i = average(Xei) + 2xSD(Xei) Selection A cell i will be selected if Random  gi + bias Range of the random number will be fixed i.e, [0,M] M = average(gi) + 2 x SD(gi) M is computed in first few iteration, and updated only once when size of selection set is 90% of its initial size

  16. Selected cells are sorted w.r.t. their connectivity to non-selected cells. Top of the list cell is picked and its location is swapped with other cells in the selection set or with dummy cells, the best swap is accepted and cell is removed from the selection set. Following Fuzzy Rule is used to find good swap. IF a swap results in reduced overall wire length AND reduced overall power AND reduced overall delay AND within acceptable layout width THEN it gives good location Allocation

  17. Where l …… represents a location iwa…… membership in fuzzy set, reduced wire length ipa…… membership in fuzzy set, reduced power ida…… membership in fuzzy set, reduced delay ai_width…… membership in fuzzy set, smaller layout width ia(l)…… is the membership in fuzzy set of good location for cell i Allocation (contd.)

  18. These values are computed when cell i swap its location with cell j, in nth iteration Allocation (Membership functions)

  19. Set of solutions is generated by SimE Best solution is one, which performs better in terms of all objectives and satisfies the constraint Due to multi-objective nature of this NP hard problem fuzzy logic (fuzzy goal based computation) is employed in modeling the single aggregating function Range of acceptable solutions Fuzzy Cost Measure

  20. Following fuzzy rule is suggested in order to combine all objectives and constraint IF a solution is within acceptable wire-length AND acceptable power AND acceptable delay AND within acceptable layout width THENit is an acceptable solution Fuzzy Cost Measure (contd.)

  21. where X … is the solution cpdl … is membership in fuzzy set, acceptable power and delay and wire-length cp … is membership in fuzzy set, acceptable power cd … is membership in fuzzy set, acceptable delay cl … is membership in fuzzy set, acceptable wire-length cwidth … is membership in fuzzy set, acceptable width c … is membership in fuzzy set, acceptable solution cwidth 1.0 Cwidth/Owidth gwidth Fuzzy Cost Measure (contd.) Oi …… optimal costs Ci …… actual costs Membership functions

  22. Membership value c(x) is used as the fitness value. Roulette wheel selection scheme is used for parent selection. Partially Mapped Crossover. Extended Elitism Random Selection is used for the creation of next generation. Variable mutation rate in the range [0.03- 0.05] is used depending upon the standard deviation of the fitness value in a population. Genetic Algorithm

  23. Experiments and Results

  24. Technology Details • .25  MOSIS TSMC CMOS technology library is used • Metal1 is used for the routing in horizontal tracks • Metal2 is used for the routing in vertical tracks 0.25  technology parameters

  25. Circuits and Layout Details

  26. Comparison b/w GA and FSE

  27. (a) (b) (d) (c) Comparison b/w GA and FSE (a) And (c) represents current and best fitness of solution by FSE. (b) and (d) represent average and best membership by GA for S1196

  28. Comparison b/w GA and FSE (a) (b) (c) (d) (a) and (b) show number of solution visited in a particular membership range. (c) and (d) show cumulative number of solutions in specific membership ranges vs. execution time for FSE and GA respectively for S1196.

  29. Conclusion • An evolutionary algorithm (FSE) for low power high performance VLSI standard cell placement is presented • Fuzzy logic is used to overcome the multiobjective nature of the problem • FSE performs better than GA with less execution time and better quality of final solution • FSE has better evolutionary rate as compared to GA

More Related