power aware combinational synthesismaler/papers/slides-switching.pdf · power aware combinational...

22
Power Aware Combinational Synthesis HVC 2015 Jan L´ an´ ık * , Oded Maler * * CNRS and The University of Grenoble 19 th November 2015 1 / 22

Upload: lydung

Post on 05-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Power Aware Combinational SynthesisHVC 2015

Jan Lanık∗, Oded Maler∗

∗CNRS and The University of Grenoble

19th November 2015

1 / 22

Page 2: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Motivation

Power consumption of integrated chips is an issue.

Our work: yet another attempt to reduce power consumption atthe gate level.

2 / 22

Page 3: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Switching power dissipation at a gate

P =1

2V 2ddCiEi f

Vdd . . . supply voltage

Ci . . . capacitance connected to the output of gate i

Ei . . . switching activity (number of switches per cycle)of gate i

f . . . clock frequency

Our method: Optimizing for small average Ei during the hardwaresynthesis.

3 / 22

Page 4: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Hardware synthesis

Hardware analog of a compilation in software

High level description Silicon realization

Optimizations for speed, space and power

Many intermediate steps

Many degrees of freedom

4 / 22

Page 5: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Our place in the synthesis flow

Synthesis of combinatorial logic from arbitrary booleanfunctions to technology independent network of AND gatesand inverters

Optimizing for minimal (expected) switching in the gates

Without compromising space/speed optimization

5 / 22

Page 6: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

AIG (AND-Inverter graph)

An acyclic directed graph

Nodes = AND and NOT gates

Efficient representation for manipulating Boolean functions

Not canonical (unlike BDDs)

Used for optimization and verification

6 / 22

Page 7: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

AIG within synthesis flow

1) multilevel logic specificationa

b

c

X = a · b

Y = b + c y

Z = X + Y z

3) Technology dependent representationa

b

c y

z

2ANDXU37

2ORZA15

INVBC52NANDXU6

2) AIGa

b

c

y

z

7 / 22

Page 8: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

AND cones in AIG

Referred by an inverter

Referred twice

We want to optimize AIGs by re-arranging AND cones.

8 / 22

Page 9: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

2 ways to realize 8AND by 2ANDs

x1

x2

x3

x4x5

x6

x7

x8

0→ 1

0→ 10→ 1

0→ 11→ 0

1→ 01→ 0

1→ 0

0→ 1

0→ 1

1→ 0

1→ 0

0→ 1

1→ 0

0→ 0

x1

x5

x2

x6x3

x7

x4

x8

0→ 1

1→ 00→ 1

1→ 00→ 1

1→ 00→ 1

1→ 0

0→ 0

0→ 0

0→ 0

0→ 0

0→ 0

0→ 0

0→ 0

we assume synchronized design, 0 time delay

1 switch = change of value at a gate output

gate values determined by input values

9 / 22

Page 10: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Input stream and switching

BUT - a circuit see more than one transition during it’slifetime

input stream = sequence of values as they are applied to thecircuit inputs

we need a ‘typical sequence’

Input stream + Internal structure = Actual switching

10 / 22

Page 11: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Where to get an input stream

A (long) input stream can be derived from simulation of thedesign

Such streams are commonly used for functional verificationand quantitative evaluation of the circuit

If we have a probabilistic model for the input, we can use it togenerate an input stream

11 / 22

Page 12: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Optimization and evaluation flow

12 / 22

Page 13: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

AND Cone optimization

An AND cone is semantically equivalent to an n-input ANDgate

Goal: find 2AND realization for the given conewith a minimal switching w.r.t. the learningsequence

Constrained to minimal-depth 2AND (timing)

13 / 22

Page 14: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

AND Cone optimization methods

Solution:1 Enumerative

Growing too fastRealistic only for small cones (up to approximately 8 inputs).

2 Layer based approximation

Optimal on ”layers”Globally suboptimal

14 / 22

Page 15: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Layer based cone synthesis

layer-optimal

Each pairing of input signals into an AND gate produces certainswitching number. Minimizing the switchings in the first levelcorresponds to minimal perfect matching in a weighted graph[O(n3),Edmons65].

15 / 22

Page 16: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Evaluation scenarios

We evaluate on 2 classes of examples:1 Synthetic products of Markov chains

different forms of interaction/correlation between variablesanother parameter characterizes the amount ofrandomness/determinism

2 A model of a simple instruction decoder

16 / 22

Page 17: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Synthetic models

0 1

ai1− ai

bi

1− bi

Variables depend just on the previous value

Cascades - variables ordered, depending on the previous oneor two

Partitioned variables - variables forms internally dependentclusters

Arbitrary sparse network of dependencies

17 / 22

Page 18: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Synthetic models results

Independent Cascades

Partitioned Sparse18 / 22

Page 19: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Calculator example

Buttons are not pressedrandomly

Some sequences doesn’tmake sense

Some operations are usedmore often (that’s why plusis bigger)

We build a Markov chaindescribing which button isgoing to get pressed basedon reasonable assumptions

19 / 22

Page 20: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Mini instruction decoder

start set op op set loaded

store

plm:LOADM

1−plm:LOAD

padd :SET ADD

psub:SET SUB

pmul :SET MUL

pdiv :SET DIV

plm:LOADM

1−plm:LOAD

psm:EVAL

1−psm:EVAL

STORE

plm = 0.1 padd = 0.4 psub = 0.3pmul = 0.2 pdiv = 0.1 psm = 0.1

20 / 22

Page 21: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Decoder results

A comparison of the number of switchings in the optimizedinstruction compared to 20 other arbitrary realizations. The heightof bars shows how much switching can be saved using theoptimized circuit compared to that realization.

21 / 22

Page 22: Power Aware Combinational Synthesismaler/Papers/slides-switching.pdf · Power Aware Combinational Synthesis HVC 2015 Jan L an k , ... Switching power dissipation at a gate P = 1 2

Conclusion

Main contributions

Level-optimal AIG switching optimization method

Evaluation on synthetic and toy hardware model

Efficiency related to input randomness

Issues

Non-optimality of level-based - seems to be only theoretical

Small AND cones in many examples

Other steps further down may kill the savings - we are workingon a tighter integration in the ABC synthesis tool [A.Mischenko]

Thank you!

22 / 22