Power Aware Combinational Synthesis HVC 2015 Jan L an k , Oded - - PowerPoint PPT Presentation

power aware combinational synthesis
SMART_READER_LITE
LIVE PREVIEW

Power Aware Combinational Synthesis HVC 2015 Jan L an k , Oded - - PowerPoint PPT Presentation

Power Aware Combinational Synthesis HVC 2015 Jan L an k , Oded Maler CNRS and The University of Grenoble 19 th November 2015 1 / 22 Motivation Power consumption of integrated chips is an issue. Our work: yet another attempt


slide-1
SLIDE 1

Power Aware Combinational Synthesis

HVC 2015 Jan L´ an´ ık∗, Oded Maler∗

∗CNRS and The University of Grenoble

19th November 2015

1 / 22

slide-2
SLIDE 2

Motivation

Power consumption of integrated chips is an issue. Our work: yet another attempt to reduce power consumption at the gate level.

2 / 22

slide-3
SLIDE 3

Switching power dissipation at a gate

P = 1 2V 2

ddCiEif

Vdd . . . supply voltage Ci . . . capacitance connected to the output of gate i Ei . . . switching activity (number of switches per cycle)

  • f gate i

f . . . clock frequency Our method: Optimizing for small average Ei during the hardware synthesis.

3 / 22

slide-4
SLIDE 4

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

slide-5
SLIDE 5

Our place in the synthesis flow

Synthesis of combinatorial logic from arbitrary boolean functions to technology independent network of AND gates and inverters Optimizing for minimal (expected) switching in the gates Without compromising space/speed optimization

5 / 22

slide-6
SLIDE 6

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

slide-7
SLIDE 7

AIG within synthesis flow

1) multilevel logic specification

a b c X = a · b Y = ¯ b + c y Z = X + Y z

3) Technology dependent representation

a b c y z

2ANDXU37 2ORZA15 INVBC5 2NANDXU6

2) AIG

a b c y z

7 / 22

slide-8
SLIDE 8

AND cones in AIG

Referred by an inverter Referred twice We want to optimize AIGs by re-arranging AND cones.

8 / 22

slide-9
SLIDE 9

2 ways to realize 8AND by 2ANDs

x1 x2 x3 x4 x5 x6 x7 x8 0 → 1 0 → 1 0 → 1 0 → 1 1 → 0 1 → 0 1 → 0 1 → 0 0 → 1 0 → 1 1 → 0 1 → 0 0 → 1 1 → 0 0 → 0 x1 x5 x2 x6 x3 x7 x4 x8 0 → 1 1 → 0 0 → 1 1 → 0 0 → 1 1 → 0 0 → 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

slide-10
SLIDE 10

Input stream and switching

BUT - a circuit see more than one transition during it’s lifetime input stream = sequence of values as they are applied to the circuit inputs we need a ‘typical sequence’ Input stream + Internal structure = Actual switching

10 / 22

slide-11
SLIDE 11

Where to get an input stream

A (long) input stream can be derived from simulation of the design Such streams are commonly used for functional verification and quantitative evaluation of the circuit If we have a probabilistic model for the input, we can use it to generate an input stream

11 / 22

slide-12
SLIDE 12

Optimization and evaluation flow

12 / 22

slide-13
SLIDE 13

AND Cone optimization

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

Goal: find 2AND realization for the given cone with a minimal switching w.r.t. the learning sequence

Constrained to minimal-depth 2AND (timing)

13 / 22

slide-14
SLIDE 14

AND Cone optimization methods

Solution:

1 Enumerative

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

2 Layer based approximation

Optimal on ”layers” Globally suboptimal

14 / 22

slide-15
SLIDE 15

Layer based cone synthesis

layer-optimal Each pairing of input signals into an AND gate produces certain switching number. Minimizing the switchings in the first level corresponds to minimal perfect matching in a weighted graph [O(n3), Edmons65].

15 / 22

slide-16
SLIDE 16

Evaluation scenarios

We evaluate on 2 classes of examples:

1 Synthetic products of Markov chains

different forms of interaction/correlation between variables another parameter characterizes the amount of randomness/determinism

2 A model of a simple instruction decoder 16 / 22

slide-17
SLIDE 17

Synthetic models

1 ai 1 − ai bi 1 − bi Variables depend just on the previous value Cascades - variables ordered, depending on the previous one

  • r two

Partitioned variables - variables forms internally dependent clusters Arbitrary sparse network of dependencies

17 / 22

slide-18
SLIDE 18

Synthetic models results

Independent Cascades Partitioned Sparse

18 / 22

slide-19
SLIDE 19

Calculator example

Buttons are not pressed randomly Some sequences doesn’t make sense Some operations are used more often (that’s why plus is bigger) We build a Markov chain describing which button is going to get pressed based

  • n reasonable assumptions

19 / 22

slide-20
SLIDE 20

Mini instruction decoder

start set op

  • p 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.3 pmul = 0.2 pdiv = 0.1 psm = 0.1

20 / 22

slide-21
SLIDE 21

Decoder results

A comparison of the number of switchings in the optimized instruction compared to 20 other arbitrary realizations. The height

  • f bars shows how much switching can be saved using the
  • ptimized circuit compared to that realization.

21 / 22

slide-22
SLIDE 22

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 working

  • n a tighter integration in the ABC synthesis tool [A.

Mischenko]

Thank you!

22 / 22