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
Decomposition of C-ISFs I
• Each component ISF F i can be negated.
of a C-ISF F
• 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
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