A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.

Post on 21-Dec-2015

215 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

Transcript

A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs

Kanupriya GulatiNikhil Jayakumar

Sunil P. Khatri

Department of Electrical & Computer Engineering Texas A&M University, College Station, TX-77843

• Hence it is desirable to set every gate to its minimal leakage state.• Not always possible

Logical inter-dependencies of the gates’ inputs.• Finding the input vector to minimize the circuit leakage :

Input Vector Control (IVC).

MotivationInput Leakage (A)

000 1.37389 e-10

001 2.69965 e-10

010 2.70326 e-10

011 4.96216 e-09

100 2.62308 e-10

101 2.67509 e-09

110 2.51066 e-09

111 1.01162 e-08

Leakage of a NAND3 gate

0

( ) ( )

(1 )gs T off ds

t t

V V V V

nv vds

WI I e e

L

• Sub Threshold Leakage Current (Ids)

• Magnitude of ‘Leakage Currents’ depend on the ‘Input Vector’.

Overview of our Approach• First compute signal probabilities for all nodes

assuming primary input signal probabilities are 0.5.– Heuristically adjust for reconvergence.

• Select best “candidate” gate to set to low leakage state in a given iteration.– Gate that is probabilistically most likely to result in the

largest leakage reduction.• Assign the selected gate its best state, such that

the leakage of the selected gate is probabilistically minimized.– All other gates which are newly implied by the state

just selected are accounted for when making this decision.

Overview of our Approach• Check if the logic values set when setting a gate to its low

leakage state are satisfiable.– Call a SAT solver every p iterations.– Undo assignments in last p iterations if unsatisfiable and make a

different selection for the iteration that caused unsatisfiable condition.

• After any iteration, adjust gate probabilities to account for nodes whose logic values have been set.

• Fixed number of passes made for the circuit with above steps applied succesively.– Each pass is more “lenient” in setting a node to a logic value v

when its signal probability deviates from v.– Last pass is most lenient – allows any deviation from v to be

accepted.

Adjustment Heuristic for Reconvergent Fanouts

X V W Z

0 1 0 0

1 0 1 0

P(Z)new = 0

0.250.25

0.750.1875

ZAdj Factor = P(Z)new - P(Z) = - 1P(Z)

P(Z) = 0.1875

• Propagate probabilities assuming P(X) = 0 and P(X) = 1 to calculate reconvergence adjustment factor.

P(Z)adj = P(Z) * (1+ZAdj Factor)

pi – probability that gate is in state ili – leakage in state ilimax – maximum leakage of the gatelimin – minimum leakage of the gate

Finding Best Candidate Gate

• (limax – li

min) term ensures that gates with large leakage ranges are favored.

• Choose gate with highest C.

• Find best candidate gate whose input we would like to finalize.

• Rank gates by probability criterion C.

• Gates with high probability of being in a high leakage state are assigned a higher rank.

• Finding the best (minimum) leakage state for selected gate G.

•Account for leakages for all gates n whose states become fully assigned due to assigning of the state of G.

- Modified formula for L to allow biasing towards lower leakage (use higher β) or towards lower deviation (use higher γ)

n

ldL j jj

).(

n

ldL j jj

)).((

dj – deviation of values assigned to gate inputs from their probabilistic values.lj – leakage in state jj – set of states of all gates that are fully assigned

Finding Best Leakage State

• Accepting the State Assignment

Test if implications of assignment are within a margin(mi).

- say mi = 0.5, probability = 0.3 and implied node value is logic 1.

Then (1-0.3) > mi, hence reject assignment.

Test if the circuit with these assignments is satisfiable.• Update probabilities of all gates affected.

Until the SAT solver sanctions these assignments,• labeled as gold_value, and • then platinum_value.

• Over iterations the margin (mi) for accepting an assignment is relaxed.

• Stop when all primary inputs have been assigned a state.

• Implied node probabilities are adjusted to reflect newly computed implications.•If node is set to 1, probability is set to (1-α).

•If node is set to 0, probability is set to α.

Accepting Leakage States and Endgame

• Used MCNC 91 benchmark designs using 0.1μ library with 13 gates.

• Number of inputs (library gates) between 1 & 4.

• Ran technology independent logic optimizations (script_rugged in SIS).

• Mapped them for delay.

• PLmin technique is implemented in SIS. Tried the following 3 methods.

Experimental Setup

LkgMinExact

LkgMinExactLkgMinHeuristicRold

LkgMinExactLkgMaxExact

LkgMinExactLkgMinHeuristicR

Commonly used Figure of Merit:

Our newFigure of Merit:

Exhaustive and Estimated Leakages for small circuits in nA.

Results - Small circuits

- For small circuits the minimum and maximum leakage values were found through exhaustive simulation of all primary input vectors.

Results – Large Circuits

For large circuits, the minimum and maximum leakage values were found by simulating 10000 distinct random input vectors.

• Developed a probabilistic method to determine IVC.

• Method is fast, flexible and provides accurate results.

• For small examples, found leakage values 5.3% off from minimum leakage (exact).

• For large examples, found leakage values 3.7% off the minimum leakage (random 10,000 vectors).

• Runtimes of the method are much lower than existing techniques which produce similar quality results.

Conclusions

Leakage for Large Circuits in nA

Results - Large circuits

min PL ( , ){

compute_signal_probabilities( )

platinum_values

( 1; ; )

gold_values

iteration 1

( find_best_gate( ))

( is not marked visited)

mark a

p

η

for i i k i do

G

if G then

G

s visited

( find_best_leakage_state( , ))

satisfies m

gold_values gold_values get_implications( )

propagate probabilities in T

i

S G

if S then

S S

FO of gold_values' nodes

end if

Algorithm for determining IVC:

… (contd)

(iteration is a multiple of || all inputs assigned/implied)

gold_values are satisfiable

all inputs assigned

if p then

if then

if then

platinum_values platinum_values gold_values

gold_values platinum_values

exit

end if

else

end if

mark all gates as unvisited

}

end if

end if

end for

Algorithm for determining IVC: (contd)

top related