A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya...
-
date post
21-Dec-2015 -
Category
Documents
-
view
216 -
download
2
Transcript of A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya...
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)