* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Generating Supply Voltage Islands In Core-based System-on
Survey
Document related concepts
Transcript
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 We went with an iterative solver Integer Linear Programming, Recursive, Iterative 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<32541> Y<12345> X Y 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 Benchmarks used ami33 ami49 Blocks 4 6 9 3 5 6 Total Blocks hp6 33 Blocks 2 4 Total Blocks Vdd assigned 2 3 4 5 6 7 6 Total Blocks hp11 Vdd assigned 2 6 Total Blocks Blocks 6 7 12 16 3 5 15 2 6 49 Vdd assigned 2 3 4 5 6 7 5 6 7 Blocks 4 3 2 2 11 Vdd assigned 5 3 4 6 Results AMI ami33 Island Stats Number Distinct Voltage Islands 20 15 10 5 0 Number Nodes in Islands 20% 30% 50% 60% 70% Maximum Nodes in Islands AMI33 has room to increase nodes in islands to save power Target Power Savings ami49 Island Stats AMI49 has even vdd node distribution Cost function becomes more sensitive increasing distinct voltage islands to save power Number Distinct Voltage Islands 30 20 Number Nodes in Islands 10 0 20% 30% 50% 60% Target Pow er Savings 70% Maximum Nodes in Islands Results HP hp6 Island Stats HP6 has majority of blocks with high vdd Less room for optimization Number Distinct Voltage Islands 8 6 4 2 0 Number Nodes in Islands 20% Number Distinct Voltage Islands 10 Number Nodes in Islands 5 0 20% 30% 50% 60% Target Pow er Savings 70% 50% 60% 70% Maximum Nodes in Islands Target Pow er Savings hp11 Island Stats 15 30% Maximum Nodes in Islands 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