1 / 20

ECE 667 Spring 2013 Synthesis and Verification of Digital Systems

ECE 667 Spring 2013 Synthesis and Verification of Digital Systems. Boolean Functions SOP Representation. Slides adopted (with permission) from A. Kuehlmann, UC Berkeley 2003. Two-level logic (PLA). Multi-level logic (standard cells). Heuristic (espresso). Exact (QM). Boolean.

doane
Download Presentation

ECE 667 Spring 2013 Synthesis and Verification of Digital Systems

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. ECE 667Spring 2013Synthesis and Verificationof Digital Systems Boolean Functions SOP Representation Slides adopted (with permission) from A. Kuehlmann, UC Berkeley 2003

  2. Two-level logic (PLA) Multi-level logic (standard cells) Heuristic (espresso) Exact (QM) Boolean Functional (BDD-based) Structural (SIS) Functional (AC, Kurtis) algebraic Logic Optimization Methods Logic Optimization Boolean ECE 667 - Synthesis & Verification

  3. ac bc ab c = on-set minterm (f = 1) = off-set minterm (f = 0) = don’t care-set minterm (f = x) b a Cover and SOP representations • A function can be represented by a sum of products (cubes) SOP: f = ab + ac + bc • Definition: coverF of function f = set of implicants that cover all minterms of function f • Two-level minimization seeks a minimum size cover (least number of cubes). Reason: minimize number of product terms in PLA Note that each onset minterm is “covered” by at least one of the cubes! None of the offset minterms is covered ECE 667 - Synthesis & Verification

  4. n=3, m=3 a a b b c c f1 f2 f3 PLAs - Multiple Output Functions • A PLA is a function f : BnBm represented in SOP form: OR plane Personality Matrix abc f1f2f3 10- 1 - - -11 1 - - 0-0 - 1 - 111 - 1 1 00- - - 1 AND plane ECE 667 - Synthesis & Verification

  5. PLAs (cont.) • Each distinct cube appears just once in the AND-plane, and can be shared by (multiple) outputs in the OR-plane, e.g., cube abc. • Extensions from single output to multiple output minimization theory are straightforward. • Multi-level logic can be viewed mathematically as a collection of single output functions. ECE 667 - Synthesis & Verification

  6. ac bc bc F\{ab}  f ab ac c not covered, so ab is irredundant b a Irredundant Cubes • Definition: Let F = {c1, c2, …, ck} be a cover for f, i.e. f = ik=1ci A cube ci F is irredundant if F\{ci}  f A cover is irredundant if all its cubes are irredundant. Example: f = ab + ac + bc ECE 667 - Synthesis & Verification

  7. abc bd c b d cd a Prime, essential, irredundant • Definition: A cube is primeif it is not contained in any other cube. A cover is primeif all its cubes are prime. • Definition: A prime of f is essential if there is a minterm in that prime that is in no other prime. Example: f = abc + b’d + c’d is prime and irredundant. abcd abcd’ ECE 667 - Synthesis & Verification

  8. Prime Cubes – another definition • A literalj of cube ci F ( cover of f ) is prime if (F \ {ci })  {c”i } f where c”i is ci with literal j of ci deleted. • A cube of F is prime if all its literals are prime. Example f = ab + ac + bc ci = ab; c”i =a (literal b deleted) F \ {ci }  {c”i } = a + ac + bc F=ac + bc + a = F \{ci }  {c”i } bc a ac c b Not equal to f since offset vertex is covered a ECE 667 - Synthesis & Verification

  9. Orthogonal cubes • Definition: Two cubes are orthogonal if they do not have any minterm in common • Example: c1= ab c2= b’c are orthogonal c1= ab’ c2 = b’c are not orthogonal c1= ab’ c2 = ab are ? ECE 667 - Synthesis & Verification

  10. abc bd c b d cd a Prime and Irredundant Covers Example:f = abc + b’d + c’d is prime and irredundant. abc is essential since abcd’abc, but not in b’d or c’d or ad Why is abcd not an essential vertex of abc? What is an essential vertex of abc? What other cube is essential? What prime is not essential? abcd abcd’ ECE 667 - Synthesis & Verification

  11. Quine’s Theorem • Importance of having prime cubes: • minimum SOP solution can be composed of prime cubes only • Theorem(Quine): • There exists a minimum cover that is prime • Given initial cover for F = (f,d,r), find a minimum cover G of primes where: f  G  f+d • G is a prime cover of F ; f = on-set, r = off-set, d = don’t care set ECE 667 - Synthesis & Verification

  12. f = abc + abc fa = bc c c b b a a Shannon (Boole) Cofactors Let f : Bn B be a Boolean function, and x= (x1, x2, …, xn) the variables in the support of f. The cofactorfa of f w.r.t literal a=xi or a=x’i is: fxi (x1, x2, …, xn) = f (x1, …, xi-1, 1, xi+1,…, xn) fx’i (x1, x2, …, xn) = f (x1, …, xi-1, 0, xi+1,…, xn) The computation of the cofactor is a fundamental operation in Boolean reasoning ! Example: ECE 667 - Synthesis & Verification

  13. Generalized Cofactor • The generalized cofactorfC of f by a cube C is f with the fixed values indicated by the literals of C, e.g. if C=xi x’j, then xi =1, and xj =0. • if C= x1 x’4 x6 fC is just the function f restricted to the subspace where x1 =x6 =1 and x4 =0. • As a function, fC does not depend on x1,x4or x6 anymore (However, we still consider fC as a function of all n variables, it just happens to be independent of x1,x4and x6). • x1f  fx1 Example: f = ac + a’c , af = ac, fa=c ECE 667 - Synthesis & Verification

  14. Cofactor of Covers Definition: The cofactor of a coverF is the sum of the cofactors of each of the cubes of F. Note: If F={c1, c2,…, ck} is a cover of f, then Fc= {(c1)c, (c2)c,…, (ck)c} is a cover of fc. Suppose F(x) is a cover of f(x), i.e. Then for 1 j  n, is a cover of fxj(x) ECE 667 - Synthesis & Verification

  15. Cofactor of Cubes Definition: The cofactor Cxjof a cube C with respect to a literal xj is • C if xj and x’jdo not appear in C • C\{xj} if xj appears positively in C, i.e. xjC • if xj appears negatively in C, i.e. xj’C Example 1:C = x1 x’4 x6 Cx2 = C (x2 and x’2 do not appear in C ) Cx1 = x’4 x6(x1appears positively in C) Cx4 =  (x4 appears negatively in C) Example 2:F = abc + b’d + c’d Fb = ac + c’d (Just drop b everywhere and delete cubes containing literalb) ECE 667 - Synthesis & Verification

  16. f c Fundamental Theorem Theorem:Let c be a cube and f a function. Then c  f  fc  1. Proof.We use the fact that x fx = x f, and fx is independent of x. If : Suppose fc  1. Then cf =fcc = c. Thus, c  f. ECE 667 - Synthesis & Verification

  17. C=xz m= 000 m’= 101 m’ Proof (cont.) Only if. Assume c  f Then c  cf = cfc. But fc is independent of literals i  c. If fc 1, then  m  Bn, fc(m)=0. We will construct a m’ from m and c in the following manner: mi’=mi, if xic and xic, mi’=1, if xi  c, mi’=0, if xi  c. i.e., we made the literals of m’ agree with c, i.e. m’  c Þ c(m’)=1 Also, fcis independent of literals xi,xi  cÞfc(m’) =fc(m) = 0 Þ fc(m’) c(m’)= 0 contradicting c  cfc. m ECE 667 - Synthesis & Verification

  18. Application of Containment Test: c F ECE 667 - Synthesis & Verification

  19. Shannon Expansion f : Bn B Shannon Expansion: Theorem: F is a cover of f. Then We say that f (F) is expanded about xi. xi is called the splitting variable. ECE 667 - Synthesis & Verification

  20. ac bc ab c c b b a a Shannon Expansion (cont.) Example Cube bc ist split into two cubes ECE 667 - Synthesis & Verification

More Related