240 likes | 359 Vues
This paper presents a novel approach to the bi-decomposition of discrete function sets to enhance the design of incompletely specified functions (ISFs). The authors propose function sets as a generalization of ISFs, allowing for improved multi-stage design algorithms. Utilizing EXOR-decomposition as a focal example, the study outlines decomposition strategies that recursively break down function sets into pairs of functions while optimizing for design efficiency. This work contributes to advancements in circuit design and logic synthesis in the field of computer science and engineering.
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