240 likes | 580 Views
Canonical Forms and Logic Miniminization. Today: First Hour : Canonical Forms Section 2.2.2 of Katz’s Textbook In-class Activity #1 Second Hour : Incomplete Functions, Introduction to Logic Minimization Section 2.2.4 and 2.2.1 of Katz’s Textbook In-class Activity #2.
E N D
Canonical Forms and Logic Miniminization • Today: • First Hour: Canonical Forms • Section 2.2.2 of Katz’s Textbook • In-class Activity #1 • Second Hour: Incomplete Functions, Introduction to Logic Minimization • Section 2.2.4 and 2.2.1 of Katz’s Textbook • In-class Activity #2
Truth tables uniquely define Boolean functions There are two standard (canonical) forms for Boolean expressions that derived from the truth table Represent the function’s 1s (on-set)called Sum of Products (SOP) form Represent the function’s 0s (off-set) called Product of Sums (POS) form Canonical Forms
A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 SOP Expressions Sample truth table F = A' B C + A B' C' + A B' C + A B C' + A B C F' = A' B' C' + A' B' C + A' B C'
A minterm is 1 for exactly 1 row of the truth table A minterm is a product (AND) of all the literals for that row A truth table function can be represented in terms of its 1s A truth table function can be represented by summing (ORing) its minterms Notion of a minterm
minterms # A B C minterms 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 A' B' C' = m0 A' B' C = m1 A' B C' = m2 A' B C = m3 A B' C' = m4 A B' C = m5 A B C' = m6 A B C = m7 Shorthand notation for minterms of 3 variables
SOP Shorthand Shorthand notation for SOP expressions F(A,B,C) = A' B C + A B' C' + A B' C + A B C' + A B C = m(3,4,5,6,7) F(A,B,C)' = A' B' C' + A' B' C + A' B C' = m(0,1,2)
F 1 1 1 0 0 0 0 0 A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 POS Expressions Sample truth table F = (A + B +C) (A + B + C') • (A + B' + C) F' = (A + B' +C') (A' + B + C) • (A' + B + C') (A' + B' + C) • (A' + B' + C')
A Maxterm is 0 for exactly 1 row of the truth table A Maxterm is the complement of the corresponding mintermof that row A Maxterm is a sum (OR) of complements of all the row literals A truth table function can be represented by its 0s; that is, by a product (ANDing) of Maxterms Notion of aMaxterm
# A B C Maxterms 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 Maxterms A + B + C = M0 A + B + C' = M1 A + B' + C = M2 A + B' + C' = M3 A' + B + C = M4 A' + B + C' = M5 A' + B' + C = M6 A' + B' + C' = M7 Shorthand notation for Maxterms of 3 variables
A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 F 1 1 1 0 0 0 0 0 POS Shorthand Shorthand notation for POS expressions F(A.B.C) = (A + B +C) • (A + B + C') (A + B' + C) = M(0,1,2) F(A,B,C)' = (A + B' +C') • (A' + B + C) (A' + B +C') • (A' + B' + C) (A' + B' + C') = M(3,4,5,6,7)
SOPPOS Canonical Conversions Complementary relations between minterms & Maxterms F(A,B,C) = m(3,4,5,6,7) = M(0,1,2) F'(A,B,C) = m(0,1,2) = M(3,4,5,6,7)
Reference: Section 2.2.2 of Katz’s Textbook Do Activity #1 Now
Don’t cares Outputs associated with inputs that can be ignored These inputs CANNOT happen in a good design Assign logic values to these outputs to simplify circuits Example: Binary Coded Decimal (BCD) Incomplete Functions
Decimal numbers Not decimal! Not a valid input! Cannot happen! BCD Numbers # A B C D 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 x A 1 0 1 0 x B 1 0 1 1 x C 1 1 0 0 x D 1 1 0 1 x E 1 1 1 0 x F 1 1 1 1
Don’t Cares & Canonical Forms Shorthand Representation Representation of “D” in BCD D(A,B,C,D) = m1 + m3 + m5 + m7 + m9 +d11 + d13 + d15 = [m(1,3,5,7,9) + d(11,13,15) ] D(A,B,C,D) = M0 • M2 • M4 • M6 • M8 • D10 • D12 • D14 = [M(0,2,4,6,8) • D(10,12,14) ]
Logic Minimization • Minimization is the process of reducing a complex logic expression or equation into a simpler form with fewer terms by removing redundancies and terms having no effect on the output. • This is similar to simplifying and reducing complex algebraic expressions by combining and collecting like terms. • As in algebraic reduction, rules must be followed that guarantee the value of the expression is not changed by the simplification.
Z = A B C + A B + A BC + B C Variables & Literals Used to measure complexity Variable: each input variable or its complement in an expression Literal: each appearance of a variable or its complement in an expression Example Variables = A, B, C Literals = 3 + 2 + 3 + 2 = 10
Rationale for Logic Minimization Reduce complexity of the gate level implementation • reduce number of literals (gate inputs) • reduce number of gates • reduce number of levels of gates • fewer inputs implies faster gates in some technologies • fan-ins (number of gate inputs) are limited in some technologies • fewer levels of gates implies reduced signal propagation delays • minimum delay configuration typically requires more gates • number of gates (or gate packages) influences manufacturing costs
Tradeoffs • Time and Space Trade-Offs • Traditional methods: • reduce delay at expense of adding gates • New methods: • trade off between increased circuit delay and reduced gate count • Power Savings
Alternative Gate Realizations Two-Level Realization (inverters don't count) Multi-Level Realization Advantage:Reduced Gate Fan-ins Complex Gate: XOR Advantage: Fewest Gates
Example: full adder's carry out function Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin Minimization Example Apply the laws and theorems to simplify Boolean equations Simplify by minimizing the number terms Apply: Laws & Theorems 3 and 9, or 1D, 3, 5 and 8
[3] Alternative [8] [9] [3] [8] [9] [8] [9] Simplifying Equations Example: full adder's carry out function Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin = A' B Cin + A B' Cin + A B Cin' + A B Cin + A B Cin = (A' + A) B Cin + A B' Cin + A B Cin' + A B Cin = (1) B Cin + A B' Cin + A B Cin' + A B Cin = B Cin + A B' Cin + A B Cin' + A B Cin + A B Cin = B Cin + A (B' + B) Cin + A B Cin' + A B Cin = B Cin + A (1) Cin + A B Cin' + A B Cin = B Cin + A Cin + A B (Cin' + Cin) = B Cin + A Cin + A B (1) = B Cin + A Cin + A B [5] [1D] [5] [1D] [5] [1D] NOTE: Minimization is just an exercise in applying laws of Boolean Algebra learnt earlier!
Due: End of Class Today RETAIN THE LAST PAGE (#3)!! For Next Class: Bring Randy Katz Textbook Required Reading: Sec 2.2.1 & 2.3 (omit 2.3.6) of Katz This reading is necessary for getting points in the Studio Activity! Do Activity #2 Now