Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of...
-
Upload
bryan-dennis -
Category
Documents
-
view
219 -
download
0
Transcript of Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of...
![Page 1: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/1.jpg)
Lattice-Based Computation of Boolean Functions
Mustafa Altun and Marc Riedel
University of Minnesota
![Page 2: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/2.jpg)
Switch-based Boolean computation
Shannon’s work: A Symbolic Analysis of Relay and Switching Circuits(1938)
x1
x2
x3
x1 x2 x3
x1
x2
x1 x2
Parallel: x1 + x2Series: x1 . x2
![Page 3: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/3.jpg)
1D and 2D switches
2D switch
ON OFF
1D switch
![Page 4: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/4.jpg)
A lattice of 2D switches
3 × 3 2D switching network and its lattice form
BOTTOM
LE
FT
RIG
HT
TOP
LE
FT
RIG
HT
BOTTOM
TOP
![Page 5: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/5.jpg)
Boolean functionality and paths Switches are controlled by Boolean literals. fL evaluates to 1 iff there exists a top-to-bottom path.
gL evaluates to 1 iff there exists a left-to-right path.
x9
x1 x4
x2 x5
x7
x8
x3 x6
LE
FT
TOP
RIG
HT
BOTTOM
f L
gL
0
1 0
1 1
1
0
0 1
LE
FT
TOP
RIG
HT
BOTTOM
f L
gL
fL = 1gL = 0
![Page 6: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/6.jpg)
Logic synthesis problemHow can we implement a given target Boolean function fT with a lattice of 2D switches?
Example: fT = x1x2x3+x1x4
x1x2x3 + x1x4 + x1x2 + x1x2x3x4 x1x2x3 + x1x4 + x1x2x4 + x1x2x3x4fL1 = fL2 =fL2 = x1x2x3 + x1x4fL1 = x1x2 + x1x4
x2 x1
x1 x4
x3 x1
BOTTOM
RIG
HTL
EF
T
TOP
x2 x4
x1 x1
x3 x4
BOTTOM
RIG
HTL
EF
T
TOP
![Page 7: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/7.jpg)
Logic synthesis problem
x1
x1 x1
x2 x4
x5
x5
x3 x4
LE
FT
TOP
RIG
HT
BOTTOM
Example: fT = x1x2x3+x1x4+x1x5
9 TOP-TO-BOTTOM PATHS!
![Page 8: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/8.jpg)
Our synthesis method Example: fT = x1x2x3+x1x4+x1x5
x1 x2 x3
x1 x4
x1 x5
x1
x2 x4 x5
x3 x4 x5 {x5}
{x1} {x1}
{x2} {x4}
{x1}
{x5}
{x3} {x4}
x1 x2 x3
x1 x4
x1 x5
x1
x2 x4 x5
x3 x4 x5
fTD = (x1+x2+x3)(x1+x4)(x1+x5)
fTD = x1 + x2x4x5 + x3x4x5
x5
x1 x1
x2 x4
x1
x5
x3 x4
x1 x2 x3
x1 x4
x1 x5
x1
x2 x4 x5
x3 x4 x5
Obtain the dual of fT.
Assign each product of fT to a
column. Assign each product of fT
D to
a row. Compute an intersection set
for each site. Arbitrarily select a literal from
an intersection set and assign it to the corresponding site.
![Page 9: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/9.jpg)
x1 x1
x1 x1
x2
x3
x3 x4 x2
x1 x2 x3
x2
x4
x5
x3
x2 x3
x2 x4 x4 x5 x5
x1x4
x2 x3x4
x2 x4x5
x3x5
x1 x2 x5
x1 x3 x4
x2 x3 x4
x2 x4 x5
{x2, x3, x4}
Our synthesis methodExample: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5
fTD= x1x2x5+x1x3x4+x2x3x4+x2x4x5
![Page 10: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/10.jpg)
x1 x1
x1 x1
x2
x3
x3 x4 x2
x1 x2 x3
x2
x4
x5
x3
x2 x3
x2 x4 x4 x5 x5
x1x4
x2 x3x4
x2 x4x5
x3x5
x1 x2 x5
x1 x3 x4
x2 x3 x4
x2 x4 x5
Math behind the method – Theorem 1Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5
Theorem 1 allows us to only consider column-paths. We do not need to enumerate all paths!
![Page 11: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/11.jpg)
x1 x1
x1 x1
x2
x3
x3 x4 x2
x1 x2 x3
x2
x4
x5
x3
x2 x3
x2 x4 x4 x5 x5
x1x4
x2 x3x4
x2 x4x5
x3x5
x1 x2 x5
x1 x3 x4
x2 x3 x4
x2 x4 x5
Math behind the method – Theorem 2Example: fT = x1x2x3+x1x4+x2x3x4+x2x4x5+x3x5
Theorem 2 explains the relation between intersection sets and column-paths. Each column is for each product!
![Page 12: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/12.jpg)
Our method’s performance
Area of the lattice: m×n
The time complexity:O(m2n2)
n and m are the number of products of the target function fT and its dual fT
D, respectively.
![Page 13: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/13.jpg)
Future work We are investigating our method’s
applicability to different technologies. We are studying the applicability of the
Theorems to the famous problem of testing whether two given monotone Boolean functions are mutually dual.
![Page 14: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.](https://reader033.fdocuments.in/reader033/viewer/2022051215/56649f0e5503460f94c233b5/html5/thumbnails/14.jpg)
Thank you!