fuzzy evolutionary algorithm for vlsi placement sadiq m. saithabib youssefjunaid a. khan department...

29
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

Post on 21-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

Fuzzy Evolutionary Algorithm for VLSI Placement

Sadiq M. Sait Habib Youssef Junaid A. Khan

Department of Computer EngineeringKing Fahd University of Petroleum and Minerals

Dhahran, Saudi Arabia

Page 2: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

2

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

Page 3: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

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.

Page 4: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

Problem Statement & Cost Functions

Page 5: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

5

Problem Statement 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)

Page 6: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

6

Cost Functions Wire length Estimation

Whereli …… 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 Voltagef …… Operating frequency …… Technology dependent

constant

Mi

iwire lCost

iDD

Mii SfVCP 2

t 2

1

Page 7: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

7

Cost Functions Power Estimation

(contd.) Also

Where

Cir is the interconnect capacitance at

the output node of cell i.

Cjg is the input capacitance of cell j.

In standard cell placement VDD, f, , and Cj

g are constant and power dissipation depends only on Si and Ci

r which is proportional to wire-length of the net vi. Therefore the cost due to power can be written as:

iMj

gj

rii CCC

Mi

iipower lSCost

Page 8: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

8

Cost Functions

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.

Ti is the delay of path i computed as:

WhereCDi …… is the delay due to the cell driving signal net vi.

IDi …… is the interconnect delay of signal net vi.

Now

q

iiii IDCDT

1

)(

}......4,3,2,1{).....max( kiTCost idelay

Page 9: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

9

Cost Functions

Width Constraint

WhereWidthmax is the maximum

allowable width of layoutWidthopt is the optimal width

of layout

a denotes how wide layout we can have as compared to its optimal value.

optWidthaWidth )1(max

Page 10: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

10

Cost Functions 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 OR logic)

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)

Page 11: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

11

SE AlgorithmALGORITHM 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 EachSELECTION: For Each m M

If Selection(m,B) ThenPs = 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 metReturn (Best Solution)End SimE

Page 12: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

12

Proposed Fuzzy goodness evaluation

IF cell i isnear its optimal wire-length AND near its optimal power AND near its optimal net delay OR Tmax(i) is much smaller than TmaxTHEN it 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

dpwj

eij

e

ed

eip

eiw

eei

x

xixxx

,,

)(3

1)1(

))(),(),(min()(

))()((2

1)1(

))(),(max()(

xx

xxx

ipathe

inetee

d

ipathe

inetee

de

id

Page 13: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

13

Goodness (Membership Functions)

X nete

enet

amin_net amax_net

1.0near optimal net delay

X pathe

epath

1.0 2.0

1.0 T max (i) is much smallerthan T max

X we

ew

amin_w amax_w

1.0near optimal wire-length

X pe

ep

amin_p amax_p

1.0near optimal power

Page 14: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

14

Goodness (base values)

Wherel*

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

WhereIDi

* …… 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

k

jj

k

j

j

eiw

l

l

xX

1

1

*

)(

Ki

jjj

k

j

jje

ip

lS

lS

xX

1

1

*

.

.

)(pi

piinet

e

IDID

IDIDxX

**

)(

)()(

max

max

iT

TxX ipath

e

Page 15: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

15

Goodness (amin_i and amax_i )

amin_i = average(Xei) – 2xSD(Xe

i)

amax_i = average(Xei) + 2xSD(Xe

i)

SelectionA 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

Page 16: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

16

Allocation 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

Page 17: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

17

Allocation (contd.)Wherel …… represents a locationiw

a …… 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

dwpj

ijaa

ida

ipa

iwaa

pwdia

l

llll

,,

_

)(3

1)1(

))(),(),(min()(

))(),(min()( __ lll pwdia

widthiaa

i

Page 18: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

18

Allocation (Membership functions)

These values are computed when cell i swap its location with cell j, in nth iteration

X da

ad

ad1.0

1.0reduced delay

X awidth

aw

1.0within acceptable width

1+a width

X wa

aw

aw1.0

1.0reduced wire-length

X pa

ap

ap1.0

1.0reduced power

kj

mnjm

ki

mim

kj

mnjm

ki

mim

iwa

ll

lllX

11

1

11

)(

)()(

kj

mnjmjm

ki

mimim

kj

mnjmjm

ki

mimim

ipa

lSlS

lSlSlX

11

1

11

)(

)()(

1)(

)()(

njpjipi

njpjipiid

a

IDIDIDID

IDIDIDIDlX

opt

Widthlwidthi

a

Width

CostX n)(_

Page 19: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

19

Fuzzy Cost Measure 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

Page 20: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

20

Fuzzy Cost Measure (contd.) 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

THEN it is an acceptable solution

ldpi

icc

lc

dc

pcc

pdlc

x

xxxx

,,

)(3

1)1(

))(),(),(min()(

))(),(min()( xxx widthc

pdlcc

Page 21: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

21

Fuzzy Cost Measure (contd.)where X … is the solutionc

pdl … 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

gwidthCwidth/Owidth

Oi …… optimal costsCi …… actual costs

Membership functions

Page 22: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

22

Genetic Algorithm• 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.

Page 23: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

Experiments and Results

Page 24: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

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

Page 25: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

25

Circuits and Layout Details

Page 26: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

26

Comparison b/w GA and FSE

Page 27: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

27

Comparison b/w GA and FSE

(a) (b)

(c) (d)

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

Page 28: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

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.

Page 29: Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum

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