lecture04

advertisement
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
1
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
2
SOP Expressions
Sample truth table
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
0
0
1
1
1
1
1
F
1
1
1
0
0
0
0
0
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'
3
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
4
minterms
#
A
B
C
minterms
0
0
0
0
A' B' C' = m0
1
0
0
1
A' B' C = m1
2
0
1
0
A' B C' = m2
3
0
1
1
A' B C = m3
4
1
0
0
A B' C' = m4
5
1
0
1
A B' C = m5
6
1
1
0
A B C' = m6
7
1
1
1
A B C = m7
Shorthand
notation
for
minterms
of 3
variables
5
SOP Shorthand
Shorthand notation for SOP expressions
F(A,B,C) = A' B C + A B' C' + A B' C + A B C'
+ABC
=  m(3,4,5,6,7)
F(A,B,C)' = A' B' C' + A' B' C + A' B C'
=  m(0,1,2)
6
POS Expressions
Sample truth table
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
0
0
1
1
1
1
1
F
1
1
1
0
0
0
0
0
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')
7
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
8
Maxterms
#
A
B
C
Maxterms
0
0
0
0 A + B + C = M0
1
0
0
1 A + B + C' = M1
2
0
1
0 A + B' + C = M2
3
0
1
1 A + B' + C' = M3
4
1
0
0 A' + B + C = M4
5
1
0
1 A' + B + C' = M5
6
1
1
0 A' + B' + C = M6
7
1
1
1 A' + B' + C' = M7
Shorthand
notation
for
Maxterms
of 3
variables
9
POS Shorthand
Shorthand notation for POS expressions
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
0
0
1
1
1
1
1
F
1
1
1
0
0
0
0
0
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)
10
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)
11
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
12
Incomplete Functions
• 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)
13
BCD Numbers
Decimal
numbers
Not decimal!
Not a valid input!
Cannot happen!
x
x
x
x
x
x
#
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
14
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) ]
15
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.
16
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=ABC +AB +ABC +BC
Variables = A, B, C
Literals = 3 + 2 + 3 + 2 = 10
17
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
18
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
19
Alternative Gate Realizations
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Z
0
1
0
1
0
1
1
0
0 1 0 1 0 1
A
B
C
0
Two-Level Realization
(inverters don't count)
Z1
0
Z2
Multi-Level Realization
Advantage: Reduced Gate
Fan-ins
0
Z3
Complex Gate: XOR
Advantage: Fewest Gates
20
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
21
Simplifying Equations
Example: full adder's carry out function
Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin
Alternative
[9]
= 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
[8]
= (1) B Cin + A B' Cin + A B Cin' + A B Cin
[5]
= B Cin + A B' Cin + A B Cin' + A B Cin + A B Cin
[9]
[3]
[1D]
= B Cin + A (B' + B) Cin + A B Cin' + A B Cin
[8]
= B Cin + A (1) Cin + A B Cin' + A B Cin
[5]
= B Cin + A Cin + A B (Cin' + Cin)
[9]
= B Cin + A Cin + A B (1)
= B Cin + A Cin + A B
[1D]
[3]
[8]
[5]
[1D]
NOTE: Minimization is just an exercise in applying laws of Boolean Algebra
learnt earlier!
22
Do Activity #2 Now
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!
23
Download