1 / 24

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

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

netis
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  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 RM‘99 Bernd Steinbach, Christian Lang, Marek A. Perkowski Victoria B.C. August 20 - 21, 1999

More Related