1 / 24

Boolean Factoring and Decomposition of Logic Networks

Boolean Factoring and Decomposition of Logic Networks. Ruei-Rung, Lee. Outline. Introduction Background General Non-disjoint Decompositions Rewriting K-LUT Networks Conclusions and Future Work. Introduction. Function decomposition Algebraic methods Rely on an SOP representation of

kcarpenter
Télécharger la présentation

Boolean Factoring and Decomposition of Logic Networks

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. Boolean Factoring and Decomposition of Logic Networks Ruei-Rung, Lee

  2. Outline • Introduction • Background • General Non-disjoint Decompositions • Rewriting K-LUT Networks • Conclusions and Future Work

  3. Introduction • Function decomposition • Algebraic methods • Rely on an SOP representation of the logic functions • Boolean methods • Truth-table H F D a c b a c b

  4. Background • Cut: A set of nodes(leaves) with respect to a node n • 1) 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

  5. Disjoint-support Decomposition • Disjoint-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: Theremainingvariables F a a b2 b1 b1 b2

  6. (a,b)-decomposition • A 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 F D a c b a c b

  7. Theorem 3.1 • A 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.

  8. Proof • A 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)-decomposition F(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).

  9. Proof • A 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).

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

  11. Bound Set Independent Cofactors • F(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.

  12. Theorem 3.2 • f ≅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)≅Dj(a), ∀j∈J, where J is the set of indices of the bsd-cofactors of F.

  13. Proof • 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)≅Dj(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)≅Dbj(a) fbj fbj Hbj H’bj D’bj Dbj c Dbj c a a

  14. Proof • 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)≅Dj(a), ∀j∈J, where J is the set of indices of the bsd-cofactors of F. H’1 H’2 H1 H2 H2 H1 D2 c D1 c D2 c D1 c D’1 D’2 a a a a b b b b

  15. (a,b)-compatible • Two functions, f1, f2, are said to be (a,b)-compatible if each has an (a,b)-divisor, and D1bj(a) ≅ D2bj(a), ∀j∈J1∩j2, where Ji is the set of indices of the bsd-cofactors of Fi. f2 f1 H1 H2 D1 c D1 c D2 a a b b

  16. Theorem 3.3 • There exists a common (a,b)-divisor of {F1, … , Fn} ⇔ {F1, … , Fn} is pair-wise (a,b)-compatible.

  17. Proof • There 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=D D1bj(a) ≅ D2bj(a), F1 and F2 are (a,b)-compatible.

  18. Proof • There 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) [≅ D2bj(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)

  19. Rewriting K-LUT Networks • Objective: • 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

  20. Example • Assume 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 a b

  21. Experimental Results

  22. Conclusions • An 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

  23. Future Work • Exploring other data structures for cofactoring and DSD decomposition, to allow processing of functions with more than 16 inputs.

  24. Thank You

More Related