 Canonical Forms and Logic Miniminization

Presentation on theme: "Canonical Forms and Logic Miniminization"— Presentation transcript:

Canonical Forms and Logic Miniminization
Today: First Hour: Canonical Forms Section of Katz’s Textbook In-class Activity #1 Second Hour: Incomplete Functions, Introduction to Logic Minimization Section and of Katz’s Textbook In-class Activity #2

Canonical Forms 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

SOP Expressions Sample truth table
A B C F F 1 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'

Notion of a minterm 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

Shorthand notation for minterms of 3 variables
# A B C minterms 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

Shorthand notation for SOP expressions
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)

POS Expressions F = (A + B +C) (A + B + C') • (A + B' + C)
Sample truth table A B C F F 1 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')

Notion of a Maxterm A Maxterm is 0 for exactly 1 row of the truth table A Maxterm is the complement of the corresponding minterm of 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

Shorthand notation for Maxterms of 3 variables
# A B C 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

Shorthand notation for POS expressions
POS Shorthand Shorthand notation for POS expressions A B C F F 1 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)

Canonical Conversions
Complementary relations between minterms & Maxterms F(A,B,C) =  m(3,4,5,6,7) =  M(0,1,2) SOP POS F'(A,B,C) =  m(0,1,2) =  M(3,4,5,6,7)

Do Activity #1 Now Reference: Section 2.2.2 of Katz’s Textbook
Minterms: (Shorthand) m0, m1, … etc  m(0,1,...) Minterms: (Canonical) A’B’C’, A’B'C … etc A’B’C’ + A’B'C+ … etc Maxterms: (Shorthand) M0, M1, … etc  M(0,1,..) Maxterms: (Canonical) (A’+B’+C’), (A’+B’+C), … etc (A’+B’+C’) (A’+B’+C)  … etc

Incomplete Functions Example: 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)

BCD Numbers # A B C D x A x B x C x D x E x F Decimal numbers Not decimal! Not a valid input! Cannot happen!

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 • M • 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.

Used to measure complexity
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 Z = A B C + A B + A B C + B C Variables = A, B, C Literals = = 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

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

Apply the laws and theorems to simplify Boolean equations
Minimization Example Apply the laws and theorems to simplify Boolean equations Example: full adder's carry out function Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin Simplify by minimizing the number terms Apply: Laws & Theorems 3 and 9, or 1D, 3, 5 and 8

Simplifying Equations
Example: full adder's carry out function Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin Alternative  = 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     [1D]    [1D]  [1D] NOTE: Minimization is just an exercise in applying laws of Boolean Algebra learnt earlier!

Do Activity #2 Now For Next Class: Due: End of Class Today
RETAIN THE LAST PAGE (#3)!! For Next Class: Bring Randy Katz Textbook Required Reading: Sec & 2.3 (omit 2.3.6) of Katz This reading is necessary for getting points in the Studio Activity!

Download ppt "Canonical Forms and Logic Miniminization"

Similar presentations