+ All Categories
Home > Documents > Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting...

Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting...

Date post: 18-Jan-2018
Category:
Upload: abel-harper
View: 218 times
Download: 0 times
Share this document with a friend
Description:
Introduction Function decomposition Algebraic methods Rely on an SOP representation of the logic functions Boolean methods Truth-table H D c b a F c b a 3
24
Ruei-Rung, Lee 1
Transcript
Page 1: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Ruei-Rung, Lee

1

Page 2: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

OutlineIntroductionBackgroundGeneral Non-disjoint DecompositionsRewriting K-LUT NetworksConclusions and Future Work

2

Page 3: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

IntroductionFunction decompositionAlgebraic methods

Rely on an SOP representation of

the logic functionsBoolean methods

Truth-table

H

D

cba

F

cba

3

Page 4: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

BackgroundCut:

A set of nodes(leaves) with respect to a node n1) Each path from any PI to n passes through at least one

leaf.2) For each leaf, there is at least one

path from a PI to n passing through the leaf and not through any other leaf.

n

c

4

Page 5: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Disjoint-support DecompositionDisjoint-support decomposition(DSD):

A decomposition in which the set of nodes of the resulting Boolean network have disjoint supports.

DSD is a tree.Bound set:

The set of leaf variables of any sub-tree of the DSD

Free set: The remaining variables

a

b1

b2

5

F

b2b1a

Page 6: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

(a,b)-decompositionA function F has an (a,b)-decomposition if it can be

written as F(a,b,c) =H(D(a,b),b,c) where D is a single-output function.

D is called the divisor and H the dividend.

H

D

cba

F

cba

6

Page 7: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Theorem 3.1A function F(a, b, c) has an (a, b)-decomposition ⇔

each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.

7

Page 8: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ProofA function F(a, b, c) has an (a, b)-decomposition ⇒

each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.

Suppose F has an (a,b)-decompositionF(x) =H(D(a,b),b,c). Let bj = b1¬b2¬b3b4 for k=4. This sets b = 1,0,0,1 Fbj(a, c) = H(D(a,1,0,0,1),1,0,0,1, c) ≡ Hbj(Dbj(a),c).

8

Page 9: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ProofA function F(a, b, c) has an (a, b)-decomposition <=

each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.

Fbj(a, c) =Hj(Dj(a),c) for some functions Hj and Dj.

We want to find H(x, b, c) and D(a, b) such that F(a, b, c) =H(D(a,b),b,c).

Let D(a, b) = , H(T, b, c) =F’(a, b, c) =H(D(a,b),b,c).

F’bj(a, c) = Hj (Dbj (a,b), c) = Hj (Dj (a), c) = Fbj(a, c).

9

| |2 1

0

( )b

jj

j

b D a

| |2 1

0

( , )b

jj

j

b H T c

Page 10: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Example(a,b) = ((e, f ,y),x), c=(g,h)

F¬x =¬ye+yf and Fx =¬yg+yh D0=¬ye+yf and D1 = y

F¬x =H0(D0)=D0 ,Fx=H1(D1,g,h)=¬D1g+D1h D = ¬xD0 + xD1 = ¬x(¬ye+yf)+ x(y),

H(T,x,g,h) = ¬xH0(T)+ xH1(T,g,h) =

¬xT + x(¬Tg+Th)F = H(D,x,g,h) = ¬xD+x(¬Dg+Dh).

10

Page 11: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Bound Set Independent CofactorsF(a, b, c) =H(D(a,b),b,c)Bound set independent cofactors(bsi-cofactors):

A cofactor of F with respect to b is independent of a.Otherwise, bsd-cofactors.

E.g. F = ab + ¬bc, F¬b = c is independent of a.If Fbj(a, c) is a bsi-cofactor, Fbj(a, c) = Hbj(Dbj(a),c)

Dbj(a) can be any function.

11

Page 12: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Theorem 3.2f g :≅

f equals g up to complementation.Let F have an (a,b)-decomposition with an associated

divisor D(a, b) =

Then D’(a,b) = is also an (a,b)-divisor ⇔D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F.

12

| |2 1

0

( )b

jj

j

b D a

| |2 1'

0

( )b

jj

j

b D a

Page 13: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ProofLet F have an (a,b)-decomposition with an associated

divisor D(a, b) = Then D’(a,b) = is also an (a,b)-divisor ⇒

D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F.

F = H(D(a,b),b,c) = H’(D’(a,b),b,c)Fbj = Hbj (Dbj (a),c) = H’bj (D’bj (a),c)

⇒ D’bj(a) D≅ bj(a)

Hbj

Dbj c

a

H’bj

Dbj c

a

D’bj

fbj fbj

13

| |2 1

0

( )b

jj

j

b D a

| |2 1'

0

( )b

jj

j

b D a

Page 14: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Let F have an (a,b)-decomposition with an associated divisor D(a, b) =

Then D’(a,b) = is also an (a,b)-divisor D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F. H’1

Proof

H1

D1 c

ba

H2

D2 c

ba

H1

D1 c

ba

H2

D2 c

ba

H’2

D’2D’1

14

| |2 1

0

( )b

jj

j

b D a

| |2 1'

0

( )b

jj

j

b D a

Page 15: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

(a,b)-compatibleTwo functions, f1, f2, are said to be (a,b)-compatible if

each has an (a,b)-divisor, and D1bj(a) D≅ 2

bj(a),

∀ j∈ J1∩j2, where Ji is the set of indices of the bsd-cofactors of Fi.

H1

D1 c

ba

H2

D1 c

baD2

f1 f2

15

Page 16: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Theorem 3.3There exists a common (a,b)-divisor of {F1, … , Fn}

⇔ {F1, … , Fn} is pair-wise (a,b)-compatible.

16

Page 17: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ProofThere exists a common (a,b)-divisor of {F1, … , Fn}

⇒ {F1, … , Fn} is pair-wise (a,b)-compatible.F1 (a,b,c) = H1 (D(a,b),b,c), F2(a,b,c) = H2 (D(a,b),b,c)

D1= D2=DD1

bj(a) D≅ 2bj(a), F1 and F2 are (a,b)-compatible.

17

Page 18: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ProofThere exists a common (a,b)-divisor of {F1, … , Fn}

<= {F1, … , Fn} is pair-wise (a,b)-compatible.Suppose F1 and F2 are (a,b)-compatible. F1 (a,b,c) = H1 (D1 (a,b),b,c), F2(a,b,c) = H2(D2(a,b),b,c)

1) Define D’bj(a) = D1bj(a) [ D≅ 2

bj(a)], if bj are bsd for F1 and F2

2) D’bj(a) = D1bj(a), if bj is bsd for F1 and bsi for F2

3) D’bj(a) = D2bj(a), if bj is bsi for F1 and bsd for F2

4) D’bj(a) = 0, if bj is bsi for F1 and F2

D’(a,b) = , is an (a,b)-divisor of both F1 and F2 (by Theorem 3.2)

18

| |2 1'

0

( )b

jbj

j

b D a

Page 19: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Rewriting K-LUT NetworksObjective:

To rewrite a local window of a K-LUT mapped network.

Given n and a cut C(n), the problem is to find a decomposition of fn(c) composed of the minimum number of K (or less) input blocks.

n

c

19

Page 20: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ExampleAssume K = 4. Suppose x is chosen as

the cofactoring variable.The cofactors are

F¬x=¬ye+yf and Fx =¬yg+yh . The K-1-feasible bound-sets are {{ },{e},{f},{y},∅ {e,f,y}},

and {{ },{g},{h},∅ {y},{g,h,y}}. A common bound-set {e,f,y} of size K-1 exists.

H

D c

ba

20

Page 21: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Experimental Results

21

Page 22: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

ConclusionsAn algorithm for decomposition of logic functions.

1) based on cofactoring and disjoint-support decomposition.

2) faster than previous solutions relying on BDD based decomposition and Boolean satisfiability

3) 5.4% reduction in area

22

Page 23: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Future WorkExploring other data structures for cofactoring and DSD

decomposition, to allow processing of functions with more than 16 inputs.

23

Page 24: Ruei-Rung, Lee 1. Outline Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work 2.

Thank You

24


Recommended