240 likes | 338 Views
Generating Supply Voltage Islands In Core-based System-on-Chip Designs. Final Presentation Steven Beigelmacher Gall Gotfried www.ece.cmu.edu/~ggall 04/26/2005. Overview. Review What are we doing? How are we doing it? How We Did It Methodology Experimental setup Results
E N D
Generating Supply Voltage Islands In Core-based System-on-Chip Designs Final Presentation Steven Beigelmacher Gall Gotfried www.ece.cmu.edu/~ggall 04/26/2005
Overview • Review • What are we doing? • How are we doing it? • How We Did It • Methodology • Experimental setup • Results • Future directions
Review • Voltage islands are regions where nearby IP blocks use a supply voltage different from the full-chip supply • We propose reducing energy consumed in a core-based SoC design by generating these voltage islands • A coarse-grained placement problem
Review • Different classes of placement algorithms exist • Integer Linear Programming, Recursive, Iterative • We went with an iterative solver • Want to avoid greedy algorithms • Simulated annealing – locally bad choices can be globally good • Parquet – S. Adya, H. Chan, I. Markov • Pronunciation: pär-'kA • to make of parquetry • Parquetry -- work in the form of usually geometrically patterned wood laid or inlaid especially for floors • http://vlsicad.eecs.umich.edu/BK/parquet
Review • Simulated annealing loops are made up of two phases • What are the set of perturbations I can make to the current solution? (move function) • What is the relative “goodness” of that change? (cost function) • Move Function • Move block to spot (x,y), swap two blocks, block rotation, block scaling, etc
Review • Cost Function • Calculate a number quantifying the “goodness” of the solution • How good a solution is will depend on the area, aspect ration, wire length, etc • What are we doing? • Analyzing the most effective way of detecting possible voltage islands • Modifying the cost function to take into account these voltage islands • Quantifying energy savings
Sequence Pairs • Used to speed up and simplify move functions • Simple graphical approximation • Rectangular coordinate system • Approximates relative location of blocks in graph • Blocks represented by sequential numbering in X and Y directions
Simulated Annealing (Parquet) • The initial locations of blocks in S.P. • Arbitrary • Only used to simplify the simulated annealing move function • Upon completion of a random move • Sequence pairs • Get matched up with (x,y) coordinates • Checked and adjusted to not overlap and meet aspect ratio requirements
Sequence Pair Example X < 3 2 5 4 1 > Y < 1 2 3 4 5 >
Selecting a Move Randomly picking which move to make Making the move
Checking the Cost • Parquet uses different linear cost functions depending on emphasis of aspect ratio, wire length, or area AR and minWL AR minWL None Calculation of these delta components changes as t 0
Cost Function Measures • How do we assess the “goodness” of current solution with respect voltage islands? • Number of islands • Number of nodes in islands • Size of the largest island • Reduction in power • The above are all important to our modified cost function
Tread Lightly • Need solutions that increase the quantity of any of the previous parameters to have reduced cost • …but without breaking up the entire placer • Voltage islands with blocks laid on top of each other don’t do us much good • Make voltage island friendly solutions good, without making them too good
Calculating the Modified Cost • Calculate the cost (delta) as before • If a perturbation improves one of the voltage island parameters, scale delta • Scaling is cumulative • Scaling is weighted towards certain measures • Stop doing this as t0 • Why do we do this?
Accepting a Move Accept good moves Else, accept bad moves with some probability that decreases as t 0 Once t equals 0, run a few more greedy iterations
What Did Our Changes Do? • A delta < 0 is always accepted • A voltage island friendly solution that was already good will still be accepted • A delta > 0 is accepted with some probability (declines over time) • Scaling increases the probability of being accepted, without forcing it • Only effective on solutions that weren’t that bad to begin with
Methodology • Benchmarks are tested with set vdd’s and checked for “power” saved after placement • We define “power saved” as • (Num-nodes in an island)*(voltage of the island) • Quantified by the amount of power saved by reduction in voltage converting FIFO’s • Less islands means more voltage conversion hence more power consumed
Methodology Purpose • Our experiments were designed to show • Function of 4 cost functions • Voltage islands • Nodes in islands • Power saved!!! (emphasis here)
Experimental Setup • Before applying any cost functions we calculate the total initial “power saved” by the pre-placed islands • These are islands created by luck in the initialization phase • The total initial “power saved” is used • Compare and determine worth of solution • Initial power saved – Current power saved -> more negative numbers mean better solution • Determine the percent saved in final solution
Results AMI • AMI33 has room to increase nodes in islands to save power • AMI49 has even vdd node distribution • Cost function becomes more sensitive • increasing distinct voltage islands to save power
Results HP • HP6 has majority of blocks with high vdd • Less room for optimization • HP11 shows an increase in nodes in islands used to save power • Attributed to the fact more nodes have higher vdd
Future Work • We have created an open source vdd/vt island creation tool • Move function must be modified to account for multiple voltages in selecting moves • Cost functions can be easily extended • To create various placements based on multiple VDD islands • To create placements based on multiple Vt islands
You Got Questions We Got Answers Thank You