/
Bi-decomposition of large Boolean functions using blocking Bi-decomposition of large Boolean functions using blocking

Bi-decomposition of large Boolean functions using blocking - PowerPoint Presentation

test
test . @test
Follow
406 views
Uploaded On 2016-03-16

Bi-decomposition of large Boolean functions using blocking - PPT Presentation

Mihir Choudhury Kartik Mohanram ICCAD10 best paper nominee Presentor ABert Liu Introduction Terminology Algorithm Illustration Experimental Result Conclusion Outline ID: 257648

beg variable function set variable beg set function partition xor decomposition pair cut decomposed construct graph blocking square decompose

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Bi-decomposition of large Boolean functi..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Bi-decomposition of large Boolean functions using blocking edge graphs

Mihir

Choudhury

,

Kartik

Mohanram

(

ICCAD’10 best paper nominee)

Presentor

:

ABert

LiuSlide2

IntroductionTerminology

Algorithm

IllustrationExperimental ResultConclusion

OutlineSlide3

IntroductionSlide4

Bi-decomposition is a special kind of functional decompositionFunctional

decomposition

Break a large function into a network ofsmaller functionsReduce circuit and communication complexity

and thus simplify physical

design

Bi-decomposition plays an important role in logic synthesis for restructuring Boolean

networks

IntroductionSlide5

Problem

f

f

A

f

B

h

X

A

X

B

X

C

X

B

X

C

Bi-decompose

X

ASlide6

TerminologySlide7

Blocking Edge Graph (BEG): It’s an undirected graph.

Every vertex represent a variable.

One graph represents only one non-decomposability of and, or, or

xor

.

The edges connected variable pair {i , j} means no variable partition can decompose this variable pair.BEG can extract variable partition.

TerminologySlide8

( a, b) and ( b, d) are not blocked in the

and

BEG.( c, d) and ( c, b) are not blocked in the or BEG.

The

xor

BEG is complete graph.

BEG Example

OR

AND

a

b

d

c

a

b

d

c

XOR

a

bdcSlide9

AlgorithmSlide10

1.Construct BEG

2.Do variable partition on the BEG.

3.Compute the decomposed functions.4.Recursively bi-decompose the decomposed functions from 3.In 4. if the function is not decomposable it will do some relaxation to make further decompose. (It’s not bi-decomposition)

AlgorithmSlide11

IllustrationSlide12

Giving a function f with variable set V. To construct BEG for f:

1.Choose a variable pair { i, j }.

2.Give an assignment c to V/{ i, j}.

(Restricting

the K-map of function to 2x2 squares

.)

(There are

2x2 K-maps for each pair { i, j

})

3.Test the blocking condition to add edges ( i, j) to BEGs.

4. Go back to 1. until all the pairs have been tested.

 

Construct BEGSlide13

Blocking condition:One square blocks the others.

Construct BEGSlide14

K-map

ij

\k 0

1

00 1 1

01 1 0

11 0 1

10 1 0

Example

AND

i

k

j

OR

i

k

j

XOR

ikjFor { i, j } pair : assign k=0 assign k=1 i\j 0 1 i\j 0 1 0 1 1 or 0 1 0 xor 1 1 0 square 1 0 1 squareBlocking all { i, j} in all BEGs.Other pair do the same thing to finish constructing the BEGs.Slide15

K-map

ij

\k 0

1

00 1 0

01 1 0

11 0 0

10 0 0

Example

AND

i

k

j

OR

i

k

j

XORikjFor { i, j } pair : assign k=0 assign k=1 i\j 0 1 i\j 0 1 0 1 1 Literal 0 0 0 Zero 1 0 0 square 1 0 0 squareSlide16

We can compute whether the edge ( i, j) should be added or not in

and

and or

BEGs by compute x. If x is not constant 0 the edge will be added.

Construct BEG

i

j

k

On-Set

Off-setSlide17

The same for or and

and

:

Construct BEG

i

j

k

On-Set

Off-setSlide18

Whether the function is bi-decomposable or not?

Guarantee the

existence of

variable

partition.

Variable PartitionSlide19

Who can be common variable?

Vertex cut is necessary but not sufficient condition

.

Variable PartitionSlide20

Vertex Cut: A set of vertices whose removal renders a connected graph disconnected.Examples:

Variable Partition

a

b

d

c

Legal cut

Not a vertex cut

a

b

d

c

e

Legal cut

Another legal cutSlide21

Decomposed function for or

and

and:For an or

bi-decomposition.

Decomposed Function

Off-set

On-set

An and bi-decomposition can be obtained in a similar manner by interchanging the off-set and the on-set of

f

.

It’s subset of off-set of f.

It’s obtained from expanding on-set of f and does not overlap with off-set of decomposed function.Slide22

For xor :

Decomposed FunctionSlide23

ExampleSlide24

Experimental ResultSlide25

Experimental ResultSlide26

Experimental ResultSlide27

ConclusionSlide28

The experimental result looks good.This work implemented in ABC using CUDD package, it might have memory problem when function is large.

Solving problem with new graph structure might be a good idea.

The BEG has global view of the decomposability of every variable pairs to choose the best partition.

Maybe we can improve our bi-decomposition work.

ConclusionSlide29

Thanks for Attention