1 / 48

ENGG3190 Logic Synthesis “Logic Design Review”

ENGG3190 Logic Synthesis “Logic Design Review”. Winter 2014 S. Areibi School of Engineering University of Guelph. Outline. Boolean Algebra Min Terms (Product Terms) Max Terms (Sum Terms) K-Maps Prime Implicants, Essential, …. Boolean Operator Precedence.

Download Presentation

ENGG3190 Logic Synthesis “Logic Design Review”

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. ENGG3190Logic Synthesis“Logic Design Review” Winter 2014 S. Areibi School of Engineering University of Guelph ENGG3190 Logic Synthesis

  2. Outline • Boolean Algebra • Min Terms (Product Terms) • Max Terms (Sum Terms) • K-Maps • Prime Implicants, Essential, … ENGG3190 Logic Synthesis

  3. Boolean Operator Precedence • The order of evaluation in a Boolean expression is: • Parentheses 2. Not • 3. And 4. Or • Consequence: Parentheses appear around OR expressions • Example: F = A(B + C)(C + D) ENGG3190 Logic Synthesis

  4. Representation: Truth Table • 2n rows where n # of variables • F = X +YZ Truth Table? ENGG3190 Logic Synthesis

  5. Functions • There can be different representations for a boolean function • Usually want simplest • Fewest gates or using particular types of gates • We can use identities to reduce complexity of boolean expressions. ENGG3190 Logic Synthesis

  6. Boolean Algebra & Identities • There is only one way that a boolean function can be represented in a truth table. • However, when the function is in algebraic form, it can be expressed in a variety of ways. • Boolean algebra is a useful tool for simplifying digital circuits. • Use identities to manipulate functions ENGG3190 Logic Synthesis

  7. Table of Identities ENGG3190 Logic Synthesis

  8. Dual of an Expression • The dual of an expression is obtained by: • Changing AND to OR and OR to AND throughout • Changing 1’s to 0’s and 0’s to 1’s • For example X+0 dual is X.1, X.0 dual is X+1 ENGG3190 Logic Synthesis

  9. Duals • Left and right columns are duals ENGG3190 Logic Synthesis

  10. Single Variable Identities ENGG3190 Logic Synthesis

  11. Commutative • Order independent ENGG3190 Logic Synthesis

  12. Associative • Independent of order in which we group • So can also be written as and ENGG3190 Logic Synthesis

  13. Distributive Identity 15 is the dual of identity 14. Identity 14 is well known from ordinary algebra! ENGG3190 Logic Synthesis

  14. DeMorgan’s Theorem • Used a lot • NOR equals invert AND • NAND equals invert OR ENGG3190 Logic Synthesis

  15. Useful Theorems + = x × x y y y M inimizatio n × ( ) + = + + = x x y x y x y x y Simplifica tion × × x × + + = + × × x y x z y z x y x z Consensus × × × ( ) ( ) ( ) ( ) ( ) + × + × + = + × + x y x z y z x y x z ENGG3190 Logic Synthesis

  16. Consensus Theorem • The third term is redundant • Can just drop • What does it mean? • For third term to be true, Y & Z both 1 • Then one of the first two terms must be 1! ENGG3190 Logic Synthesis

  17. Proof of Consensus Theorem ENGG3190 Logic Synthesis

  18. Example 1: Boolean Algebraic Proof • A + A·B = A (Absorption Theorem) Proof Steps Justification (identity or theorem) A + A·B = A · 1 + A · B X = X · 1 = A · ( 1 + B) X · Y + X · Z = X ·(Y + Z) = A · 11 + X = 1 = A X · 1 = X ENGG3190 Logic Synthesis

  19. Algebraic Manipulation • When a Boolean equation is implemented with logic gates, each term requires a gate, and each variable within the term designates an input to the gate. • We define aliteral as a single variable within a term that may or may not be complemented. • The expression above has THREE terms and EIGHT literals. ENGG3190 Logic Synthesis

  20. Simplify Function Apply Apply Apply End Result? ENGG3190 Logic Synthesis

  21. Fewer Gates • Fewer Gates! • Fewer Inputs per gate! ENGG3190 Logic Synthesis

  22. The complement representation for a function F, F, is obtained from an interchange of 1’s to 0’s and 0’s to 1’s for the values of F in the truth table. Complement of a Function ENGG3190 Logic Synthesis

  23. Cont ..Complement of a Function • The complement of a function can be derived algebraically by applying DeMorgan’s theorem. ENGG3190 Logic Synthesis

  24. Cont ..Complement of a Function • Yet another way of deriving the complement of a function is to take the dual of the function equation and complement each literal. ENGG3190 Logic Synthesis

  25. Standard Forms • Assume we have a circuit with 3 variables X, Y, Z • Definitions: • Product Term – a subsetof the variables appear  XY, XZ, XZ’, XYZ • Min Term – is a product term in which allvariables appear once  (XYZ, X’YZ, X’Y’Z’) ENGG3190 Logic Synthesis

  26. Definition: Minterm • Is a Product Term in which ALL variables appear once (complemented or not) ENGG3190 Logic Synthesis

  27. Sum of Minterms • OR all of the minterms of truth table row with a 1 m0 m1 m2 In this case m0+m2+m5+m7 m3 m4 m5 m6 In this case m1 + m3 + m4 + m6 m7 ENGG3190 Logic Synthesis

  28. Alternative Representation In this case m0+m2+m5+m7 In this case m1 + m3 + m4 + m6 ENGG3190 Logic Synthesis

  29. Summary of Properties of Minterms • There are 2nminterms for a Boolean function with n variables • Any Boolean function can be expressed as a logical sum of minterms • The complement of a function contains those minterms not included in the original function. • A function that includes all the 2nminterms is equal to logic 1. ENGG3190 Logic Synthesis

  30. Sum of Products • The sum-of-minterms form is a standard algebraic expression that is obtained directly from a truth table. • The expression obtained contains the maximum number of literalsin each term. • Simplification of the sum-of-minterms expression is called sum-of-products. ENGG3190 Logic Synthesis

  31. Sum of minterms vs. Sum of Products Sum of minterms After Simplification we get the Sum of products ENGG3190 Logic Synthesis

  32. Sum of Products Implementation Sum of products We refer to this implementation as a two-level circuit ENGG3190 Logic Synthesis

  33. 2-level vs. 3-level implementation AB + CD + CE can be Also expressed as AB + C(D+E) • What’s best? • Hard to answer!! • More gate delays? • But maybe we only have 2-input gates ENGG3190 Logic Synthesis

  34. Definition: Maxterm • Is a Sum Term in which all variables appear once (complemented or not) ENGG3190 Logic Synthesis

  35. Minterm related to Maxterm • Minterm and maxterm with same subscripts are complements • Example (Use Demorgans theory) ENGG3190 Logic Synthesis

  36. Product of Maxterms • We can also express F as AND of all rows that should evaluate to 0 M0 M1 M2 M3 M4 M5 M6 M7 ENGG3190 Logic Synthesis

  37. Two-Level Circuit Optimization • The complexity of the digital logic gates that implement a Boolean function is directly related to the algebraic expression from which the function is implemented!! • Boolean expressions may be simplified by algebraic manipulation (i.e. identities) but it is awkward and not straight forward! ENGG3190 Logic Synthesis

  38. Karnaugh Maps • Graphical depiction of truth table • A box for each minterm • So 2 variables, 4 boxes • 3 variable, 8 boxes • And so on • Useful for simplification • By inspection • Algebraic manipulation harder ENGG3190 Logic Synthesis

  39. Examples • There are implied 0s in other boxes • Figure (b) F = m1 + m2 + m3 ENGG3190 Logic Synthesis

  40. Example ENGG3190 Logic Synthesis

  41. Adjacency is Cylindrical • Note that wraps from left edge to right edge. ENGG3190 Logic Synthesis

  42. Simplifying a 4-Variable Function YZ WX 00 01 11 10 00 W Z 01 11 X Z 10 Y ENGG3190 Logic Synthesis

  43. Don’t Care • So far we have dealt with functions that were always either 0 or 1 • Sometimes we have some conditions where we don’t care what result is • Example: dealing with BCD • Only care about first 10 ENGG3190 Logic Synthesis

  44. Mark With an `X’ • In a K-map, mark don’t care with an ‘X’ • Simpler implementations • Can select an X either as 1 or 0 • Example: ENGG3190 Logic Synthesis

  45. Example or What would we have if Xs were 0? ENGG3190 Logic Synthesis

  46. Prime Implicants • A prime implicant is a product term obtained by combining the maximum possible number of adjacent squares in the map. • A single 1 on a map represents a prime implicant if it is not adjacent to any other 1. • Two adjacent 1’s form a prime implicant, provided they are not within a group of four adjacent squares. • Four adjacent 1’s form a prime implicant if they are not within a group of eight adjacent squares, and so on. • If a minterm in a square is covered by only one prime implicant, that prime implicant is said to be essential. • They are found by looking at each square marked with a 1 and checking the number of prime implicants that cover it. Those with only one prime implicant are essential. ENGG3190 Logic Synthesis

  47. Finding Simplified Expressions • The procedure for finding simplified expressions is • Determine all essential prime implicants. • The final expression is formed from the logical sum of: • The essential prime implicants, with • Other prime implicantsneeded to cover the remaining minterms • There may be more than one simplified expression. ENGG3190 Logic Synthesis

  48. Example of Prime Implicants • Two essential prime implicants (caused by m0 and m5) • This gives us two terms: x’z’ and xz • Finding prime implicants for the remainders results in four expressions: • F = xz + x’z’ + yz + wz • F = xz + x’z’ + yz + wx’ • F = xz + x’z’ + x’y + wz • F = xz + x’z’ + x’y + wx’ ENGG3190 Logic Synthesis

More Related