L03 - Gate Level Minimization
L03 - Gate Level Minimization
Chapter 3
Sohaib Majzoub
Circuit Optimization 2
1
Input
0
tG tG tG = 0.3 ns
1
Output
0
0 0.5 1 1.5 Time (ns)
Terminology 4
K-Map
Input Function
Values Value
(x,y) F(x,y) y=0 y=1
00 a
01 b
x=0 a b
10 c x=1 c d
11 d
K-Map Function Representation 8
x=0 0 0
x=1 1 1
x=0 0 1
x=1 1 1
G(x,y) = (x.y’+x.y)+(x.y+x’.y) = x + y
Duplicate x y
10
x y’ z’ x y’ z x y z x y z’
x=1
• Example:
F(A,B,C,D) = Sm(4,8,15)
1
Four Variable Maps 14
• Example:
F(A,B,C,D) = Sm(3,4,7,8)
1 1
1
Four Variable Maps 15
• Example:
F(A,B,C,D) = Sm(0,3,7,8)
1 1
1
Four Variable Maps 16
• Example:
F(A,B,C,D) = Sm(0,3,4,7,8,9,13)
1 1
1 1 1
1 1
1 1
Four Variable Maps 17
• Example:
F(A,B,C,D) = Sm(0,3,4,5,6,7,8,9,13)
1 1
1 1 1 1
1 1
Four Variable Maps 18
• Example:
F(A,B,C,D) = Sm(0,3,4,5,7,8,9,13,15)
1 1
1 1 1
1 1
1 1
Four Variable Maps 19
• Example:
F(A,B,C,D) = Sm(3,4,5,6,7,9,12,13,14,15)
1 1 1 1
1 1 1 1
1
Four Variable Maps 20
• Example:
F(A,B,C,D) = Sm(0,1,2,3,5,7,8,9,10,11,13,15)
1 1 1 1
1 1
1 1
1 1 1 1
Four Variable Maps 21
• Example:
F(A,B,C,D) = Sm(0,2,5,7,8,10,13,15)
1 1
1 1
1 1
1 1
Summary 22
• Example:
F(A,B,C,D) = Sm(0,3,4,5,6,7,8,9,13)
1 1
1 1 1 1
1 1
Prime Implicant Example 25
• Example:
F(A, B, C, D) = Sm(4,5,6,7,13,15)
1 1 1 1
1 1
Examples 26
F(A,B,C,D) = Sm(0,2,3,6,7,8,9,12)
Examples 27
F(A,B,C,D) = Sm(0,1,4,5,8,11,12,13,15)
Examples 28
F(A,B,C,D) = Sm(6,7,8,9,13,15)
Examples 29
F(A,B,C,D) = Sm(4,5,6,13,14,15)
Examples 30
F(A,B,C,D) = Sm(1,5,7,8,9,12,13,14,15)
Examples 31
F(A,B,C,D) = Sm(1,3,4,5,6,7,11,12,14,15)
Don’t Cares in K-Maps 32
ABCD F
0000 1
0001 0
0010 1 1 1
0011 0
0100 1 1 1
0101 0
0110 1
0111 0
1000 1
1001 0
1010 0 1
1011 0
1100 0
1101 0
1110 0 F = A’D’+B’C’D’
1111 0
Don’t Cares, Example 35
ABCD F
0000 1
0001 0
0010 1 1 1
0011 0
0100 1 1 1
0101 0
0110 1
0111 0 x x x x
1000 1
1001 0
1010 x 1 x x
1011 x
1100 x
1101 x
1110 x F = D’
1111 x
Example 36
1 x 1
1 1 1 x
x 1 1 x
1 1
Examples 37
0 x
0 x 0 0
x 0 0
x x
Minimization Using Tabular Method 39
(Reading Assignment)
• Tabular Method is useful when functions have large
number of variables, e.g. 6 or 5 variables.
• Can be programmed easily (write a C program to
implement TM?)
• The method reduces a SOP to a set of prime
implicants from which variables are eliminated as
much as possible.
• Redundant PI are removed.
• Like K-Maps uses A+A’=1
• A variable is denoted as (1), A’ variable is denoted
(0), eliminated variable is denoted (-).
Tabular Method Example 40
(Reading Assignment)
• Example:
F(A,B,C,D) = Sm(0,2)
• Then the variables can be written as:
A’B’C’D’+A’B’CD’ = A’B’(C+C’)D’ = A’B’D’
which is equivalent to:
0000
0010
00–0 which is A’B’D’
41