Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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