Title: Bi-Decomposition of Discrete Function SetsRM
1Bi-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
2Outline
- Introduction
- Function Sets
- Bi-Decomposition
- Decomposition Strategy
- EXOR-Decomposition of Function Sets
- Results
- Conclusion
3Introduction
- 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.
4Function Sets I
- There are two ways to interpret ISFs
- incompletely specified function
- set of 2s fully specified functions,
- s number of dont cares
- Example F f1, f2, f3, f4
5Function 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
6Function Sets III
- There are function sets that are lattices, but
not ISFs Rf1, f2 ¹ F f1, f2, f3, f4 - There are function sets that are not lattices
- Sf3, f4, f3 Ù f4 f1 Ï S
Rf1,f2
Sf3,f4
7Bi-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- B
i-Decomposition
f(A,B,C) g(A,C) Ù h(B,C)
f(A,B,C) g(A,C) Å h(B,C)
8Decomposition 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).
9Decomposition 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)
10Decomposition 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
11Decomposition 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)
12Decomposition 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)
13Function 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).
14EXOR-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)
15EXOR-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
0
1
F
F
00
1
0
F
F
01
F
F
0
0
11
F
F
0
0
10
16EXOR-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
0
1
F
F
00
0
F
1
0
F
F
01
1
F
F
0
0
11
F
F
0
F
0
10
F
0
F
0
17Combinational 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 2component ISF functions.
F1(a,b)
F2(a,b)
FltF1,F2gt f1, f2, f3, f4
ab
0
F
00
1
F
01
F
0
11
F
0
10
18Decomposition of C-ISFs I
- Each component ISF Fi of a C-ISF FltF1,¼,Fngt 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.
19Decomposition of C-ISFs II
- Example Decomposition of FltF1, F2, F3gt
F1
c
EXOR-decomposable relating a, b - c not
EXOR-decomposable relating a, b - c
00
01
ab
1
F
00
0
1
01
F
F
11
F
F
10
20Multi-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
21Results 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
G2max
F
mod sum
B
H
22Results II
DFC(F)mo(mi1mi2...min) DFC discrete
function cardinality
23Conclusion
- 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
24Further 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