Document 7895702

Download Report

Transcript Document 7895702

Bi-Decomposition of Discrete Function Sets

Bernd Steinbach *, Christian Lang *, and Marek A. Perkowski +

* Freiberg University of Mining and Technology Institute of Computer Science, Freiberg (Sachs.), Germany + Portland State University, Department of Electrical and Computer Engineering, Portland (Oregon), USA Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 1 / 24

Outline

• Introduction • Function Sets • Bi-Decomposition • Decomposition Strategy • EXOR-Decomposition of Function Sets • Results • Conclusion Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 2 / 24

Introduction

• Incompletely specified functions (ISFs) are a generalization of Boolean functions.

• There are many multi-stage design algorithms for ISFs.

• We propose function sets as a generalization of ISFs to improve many of these design algorithms.

• We demonstrate our method on the example of EXOR-bi-decomposition.

Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 3 / 24

Function Sets I

• There are two ways to interpret ISFs: – incompletely specified function – set of 2 s fully specified functions, s = number of don’t cares • Example: F = {f 1 , f 2 , f 3 , f 4 } f 1 (a,b) f 2 (a,b) f 3 (a,b) f 4 (a,b) a 0 b F(a,b) 0 1 1 F 1 F 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 4 / 24

Function Sets II

• The functions of an ISF and the AND and OR operation form a lattice , a special type of Boolean algebra • If f 1 , f 2  F, then f 1  f 2  F and f 1  f 2  F • Example: f 3  f 4 = f 1  F, and f 3  f 4 = f 2  F f 1 (a,b) f 2 (a,b) f 3 (a,b) f 4 (a,b) a 0 b F(a,b) 0 1 1 F 1 F 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 5 / 24

Function Sets III

• There are function sets that are lattices, but not ISFs: R={f 1 , f 2 }  F = {f 1 , f 2 , f 3 , f 4 } • There are function sets that are not lattices: S={f 3 , f 4 }, f 3  f 4 = f 1  S a 0 b F(a,b) 0 1 1 F 1 F 0 R={f 1 ,f 2 } f 1 (a,b) f 2 (a,b) 1 0 0 0 1 1 1 0 S={f 3 ,f 4 } f 3 (a,b) f 4 (a,b) 1 0 1 0 1 1 0 0 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 6 / 24

Bi-Decomposition Bi-Decomposition

for Binary Circuits A Structure C g(A, C) o B h(B, C) f(A, B, C) f(A,B,C) = g(A,C) f(A,B,C) = g(A,C) f(A,B,C) = g(A,C) Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski    h(B,C) h(B,C) h(B,C) OR Bi-Decomposition AND Bi-Decomposition EXOR Bi-Decomposition RM‘99 Victoria B.C. August 20 - 21, 1999 7 / 24

Decomposition Strategy I

• An ISF F(A, B, C) is bi-decomposed into function sets G(A, C) and H(B, C) • This decomposition is recursively repeated.

• More functions in G(A, C) means fewer functions in H(B, C) and vice versa.

• Our strategy: Include into G(A, C) as many functions as possible, design G(A, C), then make the same with H(B, C).

Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 8 / 24

Decomposition Strategy II

Example: a b G c d ?

ab cd F(a,b,c,d) 00 01 11 10 00 01 11 10 0 1 1 0 0 1 F F 0 1 0 F F F F F G(a,b) 0 1 0 F F design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); } Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 9 / 24

Decomposition Strategy III

Example: g a b c d ?

ab cd F(a,b,c,d) 00 01 11 10 00 01 11 10 0 1 1 0 0 1 F F 0 1 0 F F F F F g(a,b) 0 1 0 0 F design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); } Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 10 / 24

Decomposition Strategy IV

Example: g a b c d H ab cd F(a,b,c,d) 00 01 11 10 00 01 11 10 0 1 1 0 0 1 F F 0 1 0 F F F F F 0 1 0 F g(a,b) 0 1 0 0 F H(c,d) design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); } Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 11 / 24

Decomposition Strategy V

Example: g a b c d h ab f(a,b,c,d) cd 00 01 11 10 00 0 1 0 0 01 1 11 0 10 0 0 1 1 1 0 0 1 0 0 f g(a,b) 0 1 0 0 design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); } 0 1 0 0 h(c,d) Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 12 / 24

Function Sets in Bi-Decomposition

• Pass as many decomposition functions to the next stage of decomposition as possible.

• For OR and AND decomposition ISFs are sufficient to describe all decomposed functions.

• In EXOR decomposition ISFs describe only a small fraction of all possible subfunctions G(A, C) and H(B, C).

Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 13 / 24

EXOR-Decomposition of Functions

• A function f(A, B, C) is EXOR-decomposable if its decomposition chart consists of two types of columns one being the negation of the other.

• There are two decomposition functions g(A, C), the first column and its negation.

• Example: ab cd f(a,b,c,d) 00 01 11 10 00 0 1 0 0 g 1 (a,b) 0 g 2 (a,b) 1 01 1 11 0 10 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 14 / 24

EXOR-Decomposition of ISFs I

• An ISF F(A, B, C) can consists of independent parts.

• Each independent part consists of horizontally or vertically connected cares in the decomposition chart.

ab cd F(a,b,c,d) 00 01 11 10 00 01 11 10 0 1 1 0 F F F F F F F F 0 0 0 0 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 15 / 24

EXOR-Decomposition of ISFs II

• Each independent part has an ISF G i (A, C) and its negation as decomposition functions.

• All decomposition functions g i the G i or their negation (/G i ).

are combinations of • Function set is not an ISF new data structure G 1  G 2 G 1  G 2 G 1  G 2 G 1  G 2 ab cd F(a,b,c,d) 00 01 11 10 00 01 11 10 0 1 1 0 F F F F F F F F 0 0 0 0 G 1 (a,b) G 2 (a,b) 0 1 F F F F 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0 1 1 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 16 / 24

Combinational ISFs (C-ISF)

• A C-ISF is a set of functions specified by a set of component ISFs with disjoint care sets.

• The cares of each component ISF may be negated.

• A C-ISF contains 2 #component ISF functions.

F 1 (a,b) F 2 (a,b) ab 00 0 01 11 10 1 F F F F 0 0 F ={f 1 , f 2 , f 3 , f 4 } f 1 0 1 0 0 f 2 1 0 0 0 f 3 0 1 1 1 f 4 1 0 1 1 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 17 / 24

Decomposition of C-ISFs I

• Each component ISF F i can be negated.

of a C-ISF F • The decomposability of the function depends on the pattern of negations of its component ISFs .

• A large number of component ISFs is possible.

• We propose a greedy algorithm that successively adds the component ISFs to the resulting ISF.

Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 18 / 24

Decomposition of C-ISFs II

• Example: Decomposition of F c F 1 F 2 F 3 EXOR-decomposable 00 01 ab relating {a, b} - {c} 00 1 F F 1 F F 01 11 10 0 1 F F F F F F 0 F F F F F F 1 1 0 not EXOR-decomposable relating {a, b} - {c} F1  F2 F 1  F 2 F 1  F 2  F 3 F 1  F 2  F 3 1 1 0 1 0 F F F 1 0 0 1 1 F F F 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 19 / 24

Multi-Valued Bi-Decomposition

• Function sets of Boolean functions can be generalized to function sets of multi-valued functions.

• EXOR-decomposition can be extended to MODSUM- (sum modulo n) decomposition.

• AND- and OR-decompositions correspond to MIN- and MAX-decompositions Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 20 / 24

Results I

• Decomposition of machine-learning benchmarks • Selection of type of decomposition: F = modsum (max (G1 max , G2 max ) , H ) • Comparison of complexity of G using ISFs and C-ISFs A 1 G1 max G ISF vs. C-ISF max A 2 G2 max F mod sum B H Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 21 / 24

Results II

Name monks3 monks1 postOp bridges1 cloud sleep trains #inp G max 6 6 1.00

8 9 0.42

6 1.00

9 2.89E-4 32 1.00

#inp - Number of Inputs

G

max =

DFC

(

G C

 1 max

ISF

)

DFC

(

G ISF

1 max  ) 

DFC

(

G C

ISF

2 max )

DFC

(

G ISF

2 max ) DFC(F)=m o (mi1*mi2*...*min) DFC: discrete function cardinality Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 22 / 24

Conclusion

• Function sets are a generalization of ISFs.

• C-ISFs are a particular class of function sets that describe the decomposed functions of EXOR decomposition • C-ISFs can be efficiently bi-decomposed • Better decompositions can be found using C-ISFs instead of ISFs Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 23 / 24

Further Work

• Applications – Ashenhurst and Curtis decompositions – finite state machine design (set of functions is used to represent set of state encodings) • Extensions – function sets for multiple output functions – a new concept of sets of relations Bi-Decomposition of Discrete Function Sets Bernd Steinbach, Christian Lang, Marek A. Perkowski RM‘99 Victoria B.C. August 20 - 21, 1999 24 / 24