Upload
abel-harper
View
219
Download
0
Embed Size (px)
DESCRIPTION
Introduction Function decomposition Algebraic methods Rely on an SOP representation of the logic functions Boolean methods Truth-table H D c b a F c b a 3
Citation preview
Ruei-Rung, Lee
1
OutlineIntroductionBackgroundGeneral Non-disjoint DecompositionsRewriting K-LUT NetworksConclusions and Future Work
2
IntroductionFunction decompositionAlgebraic methods
Rely on an SOP representation of
the logic functionsBoolean methods
Truth-table
H
D
cba
F
cba
3
BackgroundCut:
A set of nodes(leaves) with respect to a node n1) Each path from any PI to n passes through at least one
leaf.2) For each leaf, there is at least one
path from a PI to n passing through the leaf and not through any other leaf.
n
c
4
Disjoint-support DecompositionDisjoint-support decomposition(DSD):
A decomposition in which the set of nodes of the resulting Boolean network have disjoint supports.
DSD is a tree.Bound set:
The set of leaf variables of any sub-tree of the DSD
Free set: The remaining variables
a
b1
b2
5
F
b2b1a
(a,b)-decompositionA function F has an (a,b)-decomposition if it can be
written as F(a,b,c) =H(D(a,b),b,c) where D is a single-output function.
D is called the divisor and H the dividend.
H
D
cba
F
cba
6
Theorem 3.1A function F(a, b, c) has an (a, b)-decomposition ⇔
each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.
7
ProofA function F(a, b, c) has an (a, b)-decomposition ⇒
each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.
Suppose F has an (a,b)-decompositionF(x) =H(D(a,b),b,c). Let bj = b1¬b2¬b3b4 for k=4. This sets b = 1,0,0,1 Fbj(a, c) = H(D(a,1,0,0,1),1,0,0,1, c) ≡ Hbj(Dbj(a),c).
8
ProofA function F(a, b, c) has an (a, b)-decomposition <=
each of the 2|b| cofactors of F with respect b has a DSD structure in which the variables a are in a separate block.
Fbj(a, c) =Hj(Dj(a),c) for some functions Hj and Dj.
We want to find H(x, b, c) and D(a, b) such that F(a, b, c) =H(D(a,b),b,c).
Let D(a, b) = , H(T, b, c) =F’(a, b, c) =H(D(a,b),b,c).
F’bj(a, c) = Hj (Dbj (a,b), c) = Hj (Dj (a), c) = Fbj(a, c).
9
| |2 1
0
( )b
jj
j
b D a
| |2 1
0
( , )b
jj
j
b H T c
Example(a,b) = ((e, f ,y),x), c=(g,h)
F¬x =¬ye+yf and Fx =¬yg+yh D0=¬ye+yf and D1 = y
F¬x =H0(D0)=D0 ,Fx=H1(D1,g,h)=¬D1g+D1h D = ¬xD0 + xD1 = ¬x(¬ye+yf)+ x(y),
H(T,x,g,h) = ¬xH0(T)+ xH1(T,g,h) =
¬xT + x(¬Tg+Th)F = H(D,x,g,h) = ¬xD+x(¬Dg+Dh).
10
Bound Set Independent CofactorsF(a, b, c) =H(D(a,b),b,c)Bound set independent cofactors(bsi-cofactors):
A cofactor of F with respect to b is independent of a.Otherwise, bsd-cofactors.
E.g. F = ab + ¬bc, F¬b = c is independent of a.If Fbj(a, c) is a bsi-cofactor, Fbj(a, c) = Hbj(Dbj(a),c)
Dbj(a) can be any function.
11
Theorem 3.2f g :≅
f equals g up to complementation.Let F have an (a,b)-decomposition with an associated
divisor D(a, b) =
Then D’(a,b) = is also an (a,b)-divisor ⇔D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F.
12
| |2 1
0
( )b
jj
j
b D a
| |2 1'
0
( )b
jj
j
b D a
ProofLet F have an (a,b)-decomposition with an associated
divisor D(a, b) = Then D’(a,b) = is also an (a,b)-divisor ⇒
D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F.
F = H(D(a,b),b,c) = H’(D’(a,b),b,c)Fbj = Hbj (Dbj (a),c) = H’bj (D’bj (a),c)
⇒ D’bj(a) D≅ bj(a)
Hbj
Dbj c
a
H’bj
Dbj c
a
D’bj
fbj fbj
13
| |2 1
0
( )b
jj
j
b D a
| |2 1'
0
( )b
jj
j
b D a
Let F have an (a,b)-decomposition with an associated divisor D(a, b) =
Then D’(a,b) = is also an (a,b)-divisor D’j(a) D≅ j(a), ∀ j∈ J, where J is the set of indices of the bsd-cofactors of F. H’1
Proof
H1
D1 c
ba
H2
D2 c
ba
H1
D1 c
ba
H2
D2 c
ba
H’2
D’2D’1
14
| |2 1
0
( )b
jj
j
b D a
| |2 1'
0
( )b
jj
j
b D a
(a,b)-compatibleTwo functions, f1, f2, are said to be (a,b)-compatible if
each has an (a,b)-divisor, and D1bj(a) D≅ 2
bj(a),
∀ j∈ J1∩j2, where Ji is the set of indices of the bsd-cofactors of Fi.
H1
D1 c
ba
H2
D1 c
baD2
f1 f2
15
Theorem 3.3There exists a common (a,b)-divisor of {F1, … , Fn}
⇔ {F1, … , Fn} is pair-wise (a,b)-compatible.
16
ProofThere exists a common (a,b)-divisor of {F1, … , Fn}
⇒ {F1, … , Fn} is pair-wise (a,b)-compatible.F1 (a,b,c) = H1 (D(a,b),b,c), F2(a,b,c) = H2 (D(a,b),b,c)
D1= D2=DD1
bj(a) D≅ 2bj(a), F1 and F2 are (a,b)-compatible.
17
ProofThere exists a common (a,b)-divisor of {F1, … , Fn}
<= {F1, … , Fn} is pair-wise (a,b)-compatible.Suppose F1 and F2 are (a,b)-compatible. F1 (a,b,c) = H1 (D1 (a,b),b,c), F2(a,b,c) = H2(D2(a,b),b,c)
1) Define D’bj(a) = D1bj(a) [ D≅ 2
bj(a)], if bj are bsd for F1 and F2
2) D’bj(a) = D1bj(a), if bj is bsd for F1 and bsi for F2
3) D’bj(a) = D2bj(a), if bj is bsi for F1 and bsd for F2
4) D’bj(a) = 0, if bj is bsi for F1 and F2
D’(a,b) = , is an (a,b)-divisor of both F1 and F2 (by Theorem 3.2)
18
| |2 1'
0
( )b
jbj
j
b D a
Rewriting K-LUT NetworksObjective:
To rewrite a local window of a K-LUT mapped network.
Given n and a cut C(n), the problem is to find a decomposition of fn(c) composed of the minimum number of K (or less) input blocks.
n
c
19
ExampleAssume K = 4. Suppose x is chosen as
the cofactoring variable.The cofactors are
F¬x=¬ye+yf and Fx =¬yg+yh . The K-1-feasible bound-sets are {{ },{e},{f},{y},∅ {e,f,y}},
and {{ },{g},{h},∅ {y},{g,h,y}}. A common bound-set {e,f,y} of size K-1 exists.
H
D c
ba
20
Experimental Results
21
ConclusionsAn algorithm for decomposition of logic functions.
1) based on cofactoring and disjoint-support decomposition.
2) faster than previous solutions relying on BDD based decomposition and Boolean satisfiability
3) 5.4% reduction in area
22
Future WorkExploring other data structures for cofactoring and DSD
decomposition, to allow processing of functions with more than 16 inputs.
23
Thank You
24