2. Outline
Introduction and Motivation
– Power Estimation
Previous Work
ILP based formulation of combinational logic
– Constraints
– Optimization Function
– Partition Level
Performance on ISCAS Benchmarks
08/01/132
4. Motivation
Estimation of peak-power dissipation
determines
– Maximum current demand
– VDD droop (due to IR-drop)
– Design of power delivery network (PDN)
08/01/134
IR-dropVDD
Clock
5. Power Estimation Approaches
Vector-less
– Probabilistic
Wang et al, VLSID-1996; Wu et al., CAD-2001
Vector-based
– Input pattern generation
– Pseudo Boolean SAT (PBS)
F. Aloul et al, Elsevier-2007; Mangassarian et al, DATE 2007
– Integer Linear Program (ILP)
VDAT-2012
08/01/135
6. Mathematical Expressions for logic
gates
*CNF: Conjunctive Normal Form
08/01/136
GATE Type Boolean
Expression
Algebraic
Expression
SAT* Expression
x z z= x z = 1 - x (x+z).(x+z)
x z
y
z = x.y z = 1 – x.y (x+z).(y+z).
(x+y+z)
8. ILP Based Approach
Steps
1) Variable definition
2) Constraints
3) Optimization function
4) Solver (iterative)
08/01/138
ILP Based Approach for IVC Toggle Maximization in Combinational Circuits,VDAT-2012
ILP Formulation:
9. ILP Formulation
2a) I/O Constraints
– INV : y = 1 - x
– NAND2 : y = 1 – x1* x2
– NOR2 : y = 1 – (x1 + x2) + x1* x2
08/01/139
10. ILP Formulation
2b) Product Linearization Constraint
– z = 1 – x* y
– Define: p = x* y s.t.
z = 1 – p
p ≤ x
p ≤ y
x + y – p ≤ 1
08/01/1310
11. Example: y = 1 – x1* x2
p = x1* x2 s.t.
y = 1 – p
p ≤ x1
p ≤ x2
x1 + x2 – p ≤ 1
z = 1 - y* x3
q = y* x3 s.t.
z = 1 – q
q ≤ y
q ≤ x3
y + x3 – q ≤ 1
08/01/1311
x1
x2
x3
y
z
ILP Formulation
12. ILP Formulation
2c) Toggle variable
– For each net five variables are defined
– x1 and x2 successive logic values of net ‘x’
tgate_x = x1.x2 + x1.x2
3) Optimization function
– Maximize ∑ (tgate_i)
i = 1:N
08/01/1312
14. Limitations
Whole circuit simulation
– Assumption: All nets toggle simultaneously
– Zero delay
– Not realistic
Simulation time is large for big benchmarks
08/01/1314
15. Proposed Solution
Partition the logic into levels
Apply ILP to each level independently to compute peak
activity
Maximum of peak power over all levels is the worst case
peak activity
08/01/1315
20. Conclusion
Toggles are not simultaneous
Occurrence of transitions in a combination
logic follows the order of gates at a level
Logic partitioning into Levels is more realistic
Simulation time is reduced by a factor of 10 in
a few circuits, by level partitioning
08/01/1320
21. Further Work
Fanout consideration (weighted function)
Consider: Glitches and Actual gate delays
Extension of ILP formulation to sequential
circuits, by unfolding
08/01/1321