+ All Categories
Home > Documents > Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of...

Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of...

Date post: 13-Jan-2016
Category:
Upload: bryan-dennis
View: 219 times
Download: 0 times
Share this document with a friend
Popular Tags:
14
Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota
Transcript
Page 1: Lattice-Based Computation of Boolean Functions Mustafa Altun and Marc Riedel University of Minnesota.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Thank you!


Recommended