16
Logic Synthesis for Switching Lattices by Decomposition with P-Circuits Marie Sklodowska-Curie grant agreement No 691178 (European Union’s Horizon 2020 research and innovation programme) Anna Bernasconi 1 , Valentina Ciriani 2 , Luca Frontini 2 , Gabriella Trucco 2 , Valentino Liberali 3 , Tiziano Villa 4 1 Dipartimento di Informatica, Universit` a di Pisa, Italy, [email protected] 2 Dipartimento di Informatica, Universit` a degli Studi di Milano, Italy, {valentina.ciriani, luca.frontini, gabriella.trucco}@unimi.it 3 Dipartimento di Fisica, Universit` a degli Studi di Milano, Italy, [email protected] 4 Dipartimento di Informatica, Universit` a degli Studi di Verona, Italy, [email protected] Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 1 / 15

Logic Synthesis for Switching Lattices by Decomposition

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logic Synthesis for Switching Lattices by Decomposition

Logic Synthesis for Switching Lattices by Decompositionwith P-Circuits

Marie Sk lodowska-Curie grant agreement No 691178

(European Union’s Horizon 2020 research and innovation programme)

Anna Bernasconi1, Valentina Ciriani2, Luca Frontini2, Gabriella Trucco2,Valentino Liberali3, Tiziano Villa4

1Dipartimento di Informatica, Universita di Pisa, Italy, [email protected]

2Dipartimento di Informatica, Universita degli Studi di Milano, Italy, {valentina.ciriani, luca.frontini,gabriella.trucco}@unimi.it

3Dipartimento di Fisica, Universita degli Studi di Milano, Italy, [email protected]

4Dipartimento di Informatica, Universita degli Studi di Verona, Italy, [email protected]

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 1 / 15

Page 2: Logic Synthesis for Switching Lattices by Decomposition

Introduction

CMOS technology

• Transistor size has shrunkfor decades

• The trend reached a criticalpoint

The Moore’s Law era is comingto an end

New emerging technologies

• Biotechnologies, molecular-scaleself-assembled systems

• Graphene structures

• Switching lattices arrays

These technologies are in an early state

A novel synthesis approach should be focused on the propertiesof the devices

Synthesis efficiency can be an important factor for atechnology choice

We focus on Synthesis for Switching Lattices

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 1 / 15

Page 3: Logic Synthesis for Switching Lattices by Decomposition

How Switching Lattices are made

Nanowires are one of the mostpromising technologies

• Nanowire circuits can bemade with self-assembledstructures

• pn-junctions are builtcrossing n-type and p-typenanowires

• Low Vin voltage makesp-nanowires conductive andn-nanowires resistive

• High Vin voltage makesn-nanowires conductive andp-nanowires resistive

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 2 / 15

Page 4: Logic Synthesis for Switching Lattices by Decomposition

The Switching Lattices

Switching Lattices are two-dimensional arrays of four-terminal switches

• When switches are ON allterminals are connected, whenOFF all terminals are disconnected

• Each switch is controlled by aboolean literal, 1 or 0

• The boolean function f is theSOP of the literals along eachpath from top to bottom

• The function synthesized by thelattice is:f = x1x2x3 + x1x2x5x6 ++x4x5x2x3 + x4x5x6

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 3 / 15

Page 5: Logic Synthesis for Switching Lattices by Decomposition

From Crossbars to Lattices

For an easier representation, thecrossbars are converted tolattices:

• A ‘checkerboard’ notation isused

• Darker and white sitesrepresent ON and OFF

• a), b): the 4-terminalswitching network and thelattice describingf = x1x2x3 + x1x2 + x2x3

• c), d): the lattice evaluatedon inputs (1,1,0) and(0,0,1)

x2

x2 x2

x1 x3

x3 x2 x2

TOP

BOTTOM

(b)

x2

x1 x3

x3 x2 x2

x2

TOP

BOTTOM

(a)

(c) (d)

x1

x2 x2

x2 x2

x1 x3

x3 x2

TOP

BOTTOM

x2

x2 x2

x1 x3

x3 x2 x2

TOP

BOTTOM

x2

x1 x1

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 4 / 15

Page 6: Logic Synthesis for Switching Lattices by Decomposition

The synthesis methods

Altun-Riedel, 2012

• Synthesizes f and f D from topto bottom and left to right

• It produces lattices with sizegrowing linearly with the SOP

• Time complexity is polynomialin the number of products

TOP

BOTTOM

LEFT

RIGHT

x6 x8 x6 x4

x6x6

x4

x4

x4

x6 x6

x8x8 x5

x5

x5

x7 x7

x7

x1

x2

x3

x1 x1 x1

x2 x2 x2

x3 x3 x3

x4

Gange-Søndergaard-Stuckey, 2014

• f is synthesized from top to bottom

• The synthesis problem is formulatedas a satisfiability problem, then theproblem is solved with a SAT solver

• The synthesis method searches forbetter implementations starting froman upper bound size

• The synthesis loses the possibility togenerate both f and f D

BOTTOM

x7x4

x3

x5 x8

x2

0

TOP

x6

x6

x6

x2

x1

In both examples the synthesized function is:f = x8x7x6x3x2x1 + x8x7x5x3x2x1 + x4x3x2x1

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 5 / 15

Page 7: Logic Synthesis for Switching Lattices by Decomposition

Decompositions and P-circuits

Let f {x1, . . . , xn} be a completely specified Boolean function

• Shannon decomposition: f = x i f |x i + xi f |xi• EXOR-based decomposition: f = (x i ⊕ p)f |xi=p + (xi ⊕ p)f |xi 6=p, where p

does not depend on xi

These decompositions are not oriented to area minimization: the cubes of fmay be split into two smaller sub-cubes when projected onto f |xi=p, and f |xi 6=p.

P-circuits keep unprojected some points of the original function:defining I = f |xi=p ∩ f |xi 6=p, we can keep I unprojected

f = (x i ⊕ p)(f |xi=p \ I ) + (xi ⊕ p)(f |xi 6=p \ I ) + I

In this way we avoid to split the cubes of f

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 6 / 15

Page 8: Logic Synthesis for Switching Lattices by Decomposition

Formal definition of P-circuit

Definition

A P-circuit of a completely specified function f is the circuit P(f ) denoted by theexpression:

P(f ) = (x i ⊕ S(p))S(f =) + (xi ⊕ S(p))S(f 6=) + S(f I )

where:

1 (f |xi=p \ I ) ⊆ f = ⊆ f |xi=p

2 (f |xi 6=p \ I ) ⊆ f 6= ⊆ f |xi 6=p

3 ∅ ⊆ f I ⊆ I

4 P(f ) = f

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 7 / 15

Page 9: Logic Synthesis for Switching Lattices by Decomposition

Disjunction and conjunction of lattices

f + g

• separate the paths from topto bottom for f and g

• add a column of 0s

• add padding rows of 1s iflattices have different numberof rows

f · g• any top-bottom path of f is

joined to any top-bottompath of g

• add a row of 1s

• add padding columns of 0s iflattices have different numberof columns

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 8 / 15

Page 10: Logic Synthesis for Switching Lattices by Decomposition

P-circuit lattice implementation

TheoremLet f be a Boolean function depending on n binary variables, and letP(f ) = (x i ⊕ S(p))S(f =) + (xi ⊕ S(p))S(f 6=) + S(f I ) be a P-circuit representingf . The lattice obtained composing the lattices for the three sets f =, f 6=, and f I

and for the functions (x i ⊕ p) and (xi ⊕ p) implements the function f .

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 9 / 15

Page 11: Logic Synthesis for Switching Lattices by Decomposition

P-circuit projection function

Corollary

The two lattices on the rightimplement a function f throughits P-circuit representations withprojection functions p = 0 andp = xj , respectively.

p = 0

p = xi

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 10 / 15

Page 12: Logic Synthesis for Switching Lattices by Decomposition

Synthesis example

In this example is used the synthesis by Altun-Riedel

z4(2) = x3x4x6x7 + x1x3x4x6 +x1x3x6x7 + x3x4x6x7 + x1x3x4x6 +x1x3x6x7 + x1x3x4x6 + x3x4x6x7 +x1x3x4x6 + x1x3x6x7 + x3x4x6x7

The lattice size withoutdecomposition is 12×12

P-circuit representation:

P(z) = x1 S(z=) + x1 S(z 6=) +S(z I )

S(z=) = x3x4x6 + x3x4x6 + x3x6x7++x3x6x7

S(z 6=) = x3x4x6 + x3x4x6 + x3x6x7 ++x3x6x7 + x3x4x6x7 + x3x4x6x7

S(z I ) = x3x4x6x7 + x3x4x6x7

1 01 0

1101

01

10

0100

00 01 11 10012

x6 x7 x3 x4

x1 = 0

1 10 0

1011

00

11

0010

00 01 11 10012

x6 x7 x3 x4

x1 = 1

1 01 0

1100

01

00

0100

00 01 11 10012

x6 x7 x3 x4

z =1 10 0

1011

00

11

0010

00 01 11 10012

x6 x7 x3 x4

z ≠0 00 0

0001

00

10

0000

00 01 11 10012

x6 x7 x3 x4

z I

The final lattice decomposed withP-circuits is 7× 14:

x7

1

x3

x4

1

x6

1

x3

x6

11

x4

x7

1

x6x3x40 x7 011 x4 x71 11 11 x6x3 x3x3 x71 x40 0

x71 x6x3x6 x7 01 x31 1 00

00

0

x4

x7

x1x4

x3

x3

x1

x4x6

x1

x3

x3

x3

x1

x6

x6

x3

x6

x1x3

x6

x3

x1x6

0

0

00

x4 x7x4 x7

x1x3

x6x3

x6

x1x3

x1

x6x3

x6

x1

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 11 / 15

Page 13: Logic Synthesis for Switching Lattices by Decomposition

Experiments

• Benchmarks are taken from LGSynth93

• Each benchmark output is considered as a separate boolean function

• A total of 1886 functions

• We evaluate the results for p = 0 using xi = x1

• We compare P-circuits decomposition with synthesis by Altun-Riedel, 2012and Gange-Søndergaard-Stuckey, 2014

• We use a collection of Python scripts and a SAT solver to perform theGange-Søndergaard-Stuckey synthesis.

• The algorithm has been implemented in C

• The experiments have been run on a machine with 16 CPU @2.5 GHz,running Centos 6.6

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 12 / 15

Page 14: Logic Synthesis for Switching Lattices by Decomposition

The Experiments

F-Name Altun-Riedel Gange-Søndergaard-Stuckeystandard P-circuit standard P-circuitRow×Col Row×Col Row×Col Row×Col

bcc(35) 24×38 25×24 ? ?alu2(6) 14× 13 17×10 ? 16×10bench(3) 4×6 7×4 4×3 6×4ex5(46) 6×3 6×3 ? ?ex5(57) 10×8 14×8 3×7 13×3max128(9) 10×9 14×7 4×6 13×4max128(10) 16× 17 17×10 ? 15×10

?: does not end in 10 min. for each SAT problem

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 13 / 15

Page 15: Logic Synthesis for Switching Lattices by Decomposition

Results of the Experiments

To evalutate our approach we compare our results with the ones obtained inAltun-Riedel and in Gange-Søndergaard-Stuckey

Decomposing the function with P-circuits we obtain:

Altun-Riedel• More compact area in 36% of

cases

• Average area reduction of about25%

• Very limited increase in time

Gange-Søndergaard-Stuckey

• More compact area in 33% ofcases

• Average area reduction of about24%

• In overall we save area and time

• In many cases the method Gange-Søndergaard-Stuckey fails in computing aresult in a reasonable time

• We set a maximum of ten minutes for each SAT execution• If synthesis is stopped we use the synthesis method by Altun-Riedel

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 14 / 15

Page 16: Logic Synthesis for Switching Lattices by Decomposition

Conclusions

• A new method for the synthesis of lattices with reduced size

• Based on P-circuit decomposition

• The lattice synthesis benefits from this decomposition:• smaller lattices: at least 24% of area reduction in 33% of functions• affordable computing time, in some cases even less time than without

decomposition

In future works we will apply more complex types of decomposition

• within the P-circuit class

• other decomposition methods

Luca Frontini Logic Synthesis for Switching Lattices by Decomposition with P-Circuit September 1, 2016 15 / 15