240 likes | 351 Views
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
E N D
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
Outline • Introduction • Function Sets • Bi-Decomposition • Decomposition Strategy • EXOR-Decomposition of Function Sets • Results • Conclusion Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
F(a,b) f1(a,b) f2(a,b) f3(a,b) f4(a,b) b 0 1 a 0 1 F 1 0 1 1 1 1 1 0 1 F 0 0 0 1 0 0 0 1 0 Function Sets I • There are two ways to interpret ISFs: • incompletely specified function • set of 2s fully specified functions, s = number of don’t cares • Example: F = {f1, f2, f3, f4} Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
F(a,b) f1(a,b) f2(a,b) f3(a,b) f4(a,b) b 0 1 a 0 1 F 1 0 1 1 1 1 1 0 1 F 0 0 0 1 0 0 0 1 0 Function Sets II • The functions of an ISF and the AND and OR operation form a lattice, a special type of Boolean algebra • If f1, f2 Î F, then f1 Ù f2 Î F and f1 Ú f2 Î F • Example: f3 Ù f4 = f1 Î F, and f3 Ú f4 = f2 Î F Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
F(a,b) f1(a,b) f2(a,b) f3(a,b) f4(a,b) b 0 1 a 0 1 F 1 0 1 1 1 1 1 0 1 F 0 0 0 1 0 0 0 1 0 Function Sets III • There are function sets that are lattices, but not ISFs: R={f1, f2} ¹ F = {f1, f2, f3, f4} • There are function sets that are not lattices: S={f3, f4}, f3 Ù f4 = f1 Ï S R={f1,f2} S={f3,f4} Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
Bi-Decomposition Bi-Decomposition for Binary Circuits Structure A g(A, C) f(A, B, C) o C B h(B, C) f(A,B,C) = g(A,C) Ú h(B,C) OR- Bi-Decomposition AND- Bi-Decomposition EXOR- Bi-Decomposition f(A,B,C) = g(A,C) Ù h(B,C) f(A,B,C) = g(A,C) Å h(B,C) Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
a F G b c ? d F(a,b,c,d) G(a,b) cd 00 01 11 10 ab 00 0 1 0 F 0 01 1 0 1 F 1 11 1 0 F 0 0 10 F F F F F Decomposition Strategy II Example: • 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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
F(a,b,c,d) g(a,b) cd 00 01 11 10 ab 00 0 1 0 F 0 01 1 0 1 F 1 11 1 0 F 0 0 10 F F F F 0 Decomposition Strategy III Example: • design(F) • { • G = bi_decompose(F); • g = design(G); • H = compute_h(F, g); • h = design(H); • return bi_compose(g, h); • } g a F b c ? d Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
cd 00 01 11 10 ab 00 0 1 0 F 01 1 0 1 F 11 1 0 F 0 10 F F F F Decomposition Strategy IV Example: • design(F) • { • G = bi_decompose(F); • g = design(G); • H = compute_h(F, g); • h = design(H); • return bi_compose(g, h); • } g a F b c H d F(a,b,c,d) g(a,b) 0 1 0 0 0 1 0 F H(c,d) Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
g(a,b) cd 00 01 11 10 ab 00 0 1 0 0 0 01 1 0 1 1 1 11 1 0 0 0 0 10 0 0 0 1 0 Decomposition Strategy V Example: • design(F) • { • G = bi_decompose(F); • g = design(G); • H = compute_h(F, g); • h = design(H); • return bi_compose(g, h); • } g a f b c h d f(a,b,c,d) 0 1 0 0 h(c,d) Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
g1(a,b) g2(a,b) cd 00 01 11 10 ab 00 0 1 0 0 0 1 01 1 0 1 1 1 0 11 1 0 0 0 1 0 10 0 0 0 1 1 0 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: f(a,b,c,d) Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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. F(a,b,c,d) cd 00 01 11 10 ab 00 0 1 F F 01 1 0 F F 11 F 0 0 F 10 F 0 F 0 Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
G1ÇG2 G1ÇG2 G1ÇG2 G1ÇG2 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 EXOR-Decomposition of ISFs II • Each independent part has an ISF Gi(A, C) and its negation as decomposition functions. • All decomposition functions gi are combinations of the Gi or their negation (/Gi). • Function set is not an ISF new data structure F(a,b,c,d) G1(a,b) G2(a,b) cd 00 01 11 10 ab 00 0 1 F F 0 F 01 1 0 F F 1 F 11 F 0 0 F F 0 10 F 0 F 0 F 0 Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
f1 f2 f3 f4 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 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. F1(a,b) F2(a,b) F<F1,F2> ={f1, f2, f3, f4} ab 00 0 F 01 1 F 11 F 0 10 F 0 Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
Decomposition of C-ISFs I • Each component ISF Fi of a C-ISF F<F1,¼,Fn> can be negated. • 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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
F2 F3 F 1 F F F F F F F 1 0 F F 1 F 0 F1ÇF2 F1ÇF2 F1ÇF2ÇF3 F1ÇF2ÇF3 1 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 F F 1 0 0 1 1 1 F F 1 0 F F 0 1 Decomposition of C-ISFs II F1 c EXOR-decomposable relating {a, b} - {c} not EXOR-decomposable relating {a, b} - {c} • Example: Decomposition of F<F1, F2, F3> 00 01 ab 00 1 F 01 0 1 11 F F 10 F F Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
Results I • Decomposition of machine-learning benchmarks • Selection of type of decomposition: F = modsum (max (G1max, G2max) , H ) • Comparison of complexity of G using ISFs and C-ISFs A1 G1max G ISF vs. C-ISF max A2 F G2max mod sum B H Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
Results II #inp - Number of Inputs DFC(F)=mo(mi1*mi2*...*min) DFC: discrete function cardinality Bi-Decomposition of Discrete Function Sets RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999
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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999