Download Generating Supply Voltage Islands In Core-based System-on

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Buck converter wikipedia , lookup

History of electric power transmission wikipedia , lookup

Stray voltage wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Alternating current wikipedia , lookup

Voltage optimisation wikipedia , lookup

Mains electricity wikipedia , lookup

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 t0
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