29
Bi-decomposition of large Boolean functions using blocking edge graphs Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

Embed Size (px)

Citation preview

Page 1: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

Bi-decomposition of large Boolean functions using blocking edge graphs

Mihir Choudhury, Kartik Mohanram(ICCAD’10 best paper nominee)

Presentor: ABert Liu

Page 2: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Introduction Terminology Algorithm Illustration Experimental Result Conclusion

Outline

Page 3: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Introduction

Page 4: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Bi-decomposition is a special kind of functional

decomposition Functional decomposition

Break a large function into a network ofsmaller functions

Reduce circuit and communication complexityand thus simplify physical design

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

Introduction

Page 5: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Problem

f

fA f B

h

XA XB XC

XBXC

Bi-decompose

XA

Page 6: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Terminology

Page 7: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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.

Terminology

Page 8: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

( 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

ORAND

a b

dc

a b

dc

XOR

a b

dc

Page 9: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Algorithm

Page 10: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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)

Algorithm

Page 11: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Illustration

Page 12: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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 BEG

Page 13: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Blocking condition:

One square blocks the others.

Construct BEG

Page 14: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

K-map ij\k 0 1 00 1 1 01 1 0 11 0 1 10 1 0

Example

AND

i

kj

OR

i

kj

XOR

i

kj

For { 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.

Page 15: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

K-map ij\k 0 1 00 1 0 01 1 0 11 0 0 10 0 0

Example

AND

i

kj

OR

i

kj

XOR

i

kj

For { 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 square

Page 16: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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-SetOff-set

Page 17: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

The same for or and and:

Construct BEG

i

j

k

On-SetOff-set

Page 18: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Whether the function is bi-decomposable or not?

Guarantee the existence of variable partition.

Variable Partition

Page 19: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Who can be common variable?Vertex cut is necessary but not sufficient condition.

Variable Partition

Page 20: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Vertex Cut: A set of vertices whose removal

renders a connected graph disconnected. Examples:

Variable Partition

a b

dc

Legal cut

Not a vertex cut

a b

dc

e Legal cut

Another legal cut

Page 21: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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.

Page 22: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

For xor :

Decomposed Function

Page 23: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Example

Page 24: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Experimental Result

Page 25: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Experimental Result

Page 26: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Experimental Result

Page 27: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Conclusion

Page 28: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

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.

Conclusion

Page 29: Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu

m

Thanks for Attention