Download presentation
Presentation is loading. Please wait.
1
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 1 / 24 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
2
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 2 / 24 Outline Introduction Function Sets Bi-Decomposition Decomposition Strategy EXOR-Decomposition of Function Sets Results Conclusion
3
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 3 / 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.
4
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 4 / 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 } 0 1 1 0 01 a b F(a,b) 10 00 f 1 (a,b) 11 10 f 2 (a,b) 11 00 f 3 (a,b) 10 10 f 4 (a,b)
5
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 5 / 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 0 1 1 0 01 a b F(a,b) 10 00 f 1 (a,b) 11 10 f 2 (a,b) 11 00 f 3 (a,b) 10 10 f 4 (a,b)
6
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 6 / 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 0 1 1 0 01 a b F(a,b) 10 00 f 1 (a,b) 11 10 f 2 (a,b) 11 00 f 3 (a,b) 10 10 f 4 (a,b) R={f 1,f 2 } S={f 3,f 4 }
7
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 7 / 24 Bi-Decomposition Bi-Decomposition for Binary Circuits Structure o OR- Bi-Decomposition AND- Bi-Decomposition EXOR- Bi-Decomposition B C A g(A, C) h(B, C) f(A, B, C) f(A,B,C) = g(A,C) h(B,C) f(A,B,C) = g(A,C) h(B,C) f(A,B,C) = g(A,C) h(B,C)
8
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 8 / 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).
9
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 9 / 24 Decomposition Strategy II Example: G ? F a b c d 010 101 0 10 00 01 11 10 00011110 ab cd F(a,b,c,d) 0 1 0 G(a,b) design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }
10
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 10 / 24 Decomposition Strategy III Example: ? F a b c d 010 101 0 10 00 01 11 10 00011110 ab cd F(a,b,c,d) 0 1 0 0 g(a,b) g design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }
11
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 11 / 24 Decomposition Strategy IV Example: H F a b c d 010 101 0 10 00 01 11 10 00011110 ab cd F(a,b,c,d) 0 1 0 0 g(a,b) g 010 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); }
12
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 12 / 24 Decomposition Strategy V Example: f a b c d 0100 1011 0 100 0 10 0 00 01 11 10 00011110 ab cd f(a,b,c,d) 0 1 0 0 g(a,b) g 0100 h(c,d) h design(F) { G = bi_decompose(F); g = design(G); H = compute_h(F, g); h = design(H); return bi_compose(g, h); }
13
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 13 / 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).
14
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 14 / 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: 0100 1011 0 100 0 10 0 00 01 11 10 00011110 ab cd f(a,b,c,d) 0 1 0 0 g 1 (a,b) 1 0 1 1 g 2 (a,b)
15
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 15 / 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. 01 10 00 0 0 00 01 11 10 00011110 ab cd F(a,b,c,d)
16
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 16 / 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 are combinations of the G i or their negation (/G i ). Function set is not an ISF new data structure G 1 (a,b)G 2 (a,b) 0 1 0 0 G1G2G1G2 1 0 0 0 G1G2G1G2 0 1 1 1 G1G2G1G2 1 0 1 1 G1G2G1G2 01 10 00 0 0 00 01 11 10 00011110 ab cd F(a,b,c,d) 0 1 0 0
17
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 17 / 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. 0 1 F 1 (a,b) 0 0 F 2 (a,b) 0 1 0 0 f1f1 1 0 0 0 f2f2 0 1 1 1 f3f3 1 0 1 1 f4f4 F ={f 1, f 2, f 3, f 4 } 00 01 11 10 ab
18
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 18 / 24 Decomposition of C-ISFs I Each component ISF F i of a C-ISF F 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.
19
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 19 / 24 Decomposition of C-ISFs II Example: Decomposition of F 1 01 00 01 11 10 0001 ab c F1F1 1 0 F2F2 1 1 0 F3F3 11 01 0 F1 F2 10 01 1 F1F2F1F2 10 01 1 1 1 0 F1F2F3F1F2F3 10 01 1 0 0 1 F1F2F3F1F2F3 EXOR-decomposable relating {a, b} - {c} not EXOR-decomposable relating {a, b} - {c}
20
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 20 / 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
21
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 21 / 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 max mod sum H G1 max G2 max F A1A1 A2A2 B ISF vs. C-ISF G
22
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 22 / 24 Results II #inp - Number of Inputs DFC(F)=m o (mi1*mi2*...*min) DFC: discrete function cardinality
23
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 23 / 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
24
Bi-Decomposition of Discrete Function SetsRM‘99 Bernd Steinbach, Christian Lang, Marek A. PerkowskiVictoria B.C. August 20 - 21, 1999 24 / 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.