Lecture 16 Logic Synthesis

advertisement
Logic Function
Optimization
Combinational Logic Circuit





Regular SOP and POS designs
Do not care expressions
Digital logic circuit applications
Karnaugh Maps
Minimization of logic functions
Combinational Logic Circuit
The function D=A’B’C’+A’BC’+ABC’+ABC
can be implemented in the sum of products (SOP) form as follows:
Minterm:
Product that contains
all input variables or
their complements
for which function
value is 1
Combinational Logic Circuit
The function D=(A+B+C’)(A+B’+C’)(A’+B+C)(A’+B+C’)
can be implemented in the product of sums (POS) form as follows:
Notice that SOP and
POS forms can be
implemented in such
regular designs for
any function.
Combinational Logic Circuit
Find canonical sum of products (SOP) form for the following
function F=AB’+A’C+ABC’
can be implemented in the :
We have:
F=AB’C+AB’C’+A’BC+A’B’C+ABC’
Combinational Logic Circuit
Theorem:
Each function can be represented in the unique form of
SOP or POS.
Let us obtain POS from for the following function:
D=A’B’C’+A’BC’+ABC’+ABC
Using DeMorgan’s law
D’=(A’B’C’+A’BC’+ABC’+ABC)’=
=(A+B+C)’(A+B’+C)’(A’+B’+C)’(A’+B’+C’)’
Two Implementations of XOR Logic Circuit
Do not Care - Logic Circuit
Do not care condition is when the output function value is not
important for a specific input combination
Do not Care - Logic Circuit
Do not care can be used to simplify the circuit
implementation
How to Design a Digital Logic Circuit?
How to translate a desired circuit functionality into a truth table?
To design a digital logic circuit to control LED display
we must first come up with a truth table.
Digital Logic Circuit Output
Decimal
Integer
Then each output ABCDEFG must
be implemented as a separate logic
function of 4 input bits xywz that
represent BCD code of integer value
BCD
xywz
ABCDEFG
segments
0
0000
1111110
1
0001
0110000
2
0010
1101101
3
0011
1111001
4
0100
0110011
5
0101
1011011
6
0110
0011111
7
0111
1110000
8
1000
1111111
9
1001
1110011
Digital Logic Circuit Output
For instance to control the
segment A the logic function is
Decimal
Integer
BCD
abcd
ABCDEFG
0
0000
1111110
FA=a’b’c’d’+a’b’c+a’bd+ab’c’
1
0001
0110000
2
0010
1101101
or for segment B
FB=a’b’+a’bc’d’+a’bcd+ab’c’
3
0011
1111001
4
0100
0110011
5
0101
1011011
6
0110
0011111
7
0111
1110000
8
1000
1111111
9
1001
1110011
Binary-Octal
Decoder Circuit
Design example
Karnaugh Maps in Logic Circuit
Karnaugh maps can be used to simplify
the logic function and its design
Karnaugh Maps in Logic Circuit
Karnaugh map uses hypercube with the same function value
in the whole cube to reduce the number of terms in the logic
function
Karnaugh Maps in Logic Circuit
The whole cube in the Karnaugh map is represented by a single
product term. For instance cubes in the example figure are.
(a) ab’
(b) ab
(c) a’b’
Karnaugh Maps in Logic Circuit
Karnaugh Maps in Logic Circuit
Use Karnaugh maps to obtain minimum SOP for these functions:
Z=W’X’Y’+W’XY’+WX’Y+WXY
D=A’B’C’+AB’+A’B’C
E=ABD’+A’BCD’+ABC’D
Do not Care - Logic Circuit
H
D
1
x
0
0
1
x
0
1
L
F=L’+DH’
L
D
H
F
Digital Logic Circuit Output
Using Karnaugh map we can
minimize
FA=a’b’c’d’+a’b’c+a’bd+ab’c’
=b’c’d’+ab’c’+a’bd+a’b’c
B
1
A
1
1
1
1
1
1
C
D
Decimal
Integer
BCD
abcd
ABCDEFG
0
0000
1111110
1
0001
0110000
2
0010
1101101
3
0011
1111001
4
0100
0110011
5
0101
1011011
6
0110
0011111
7
0111
1110000
8
1000
1111111
9
1001
1110011
Output A of 7 Segments Decoder
Segment A logic function is
FA=a’b’c’d’+a’b’c+a’bd+ab’c’
Decimal
Integer
BCD
abcd
ABCDEFG
0
0000
1111110
1
0001
0110000
2
0010
1101101
3
0011
1111001
4
0100
0110011
5
0101
1011011
1
6
0110
0011111
x
7
0111
1110000
8
1000
1111111
9
1001
1110011
With do not cares
FA=a+a’b’c’+bd+cb’
B
A
1
0
0
1
x
1
x
x
x
0
1
1
1
C
D
Digital Logic Circuit Output
Using Karnaugh map we can
minimize
FB=a’b’+a’bc’d’+a’bcd+ab’c’=
=b’c’+a’c’d’+a’cd+ a’b’
B
1
A
1
1
1
1
1
1
1
C
D
Decimal
Integer
BCD
abcd
ABCDEFG
0
0000
1111110
1
0001
0110000
2
0010
1101101
3
0011
1111001
4
0100
0110011
5
0101
1011011
6
0110
0011111
7
0111
1110000
8
1000
1111111
9
1001
1110011
Digital Logic Circuit Output
Using Karnaugh map we can
minimize
FB=a’b’+a’bc’d’+a’bcd+ab’c’=
=a’b’+ b’c’+a’c’d’+a’cd
With do not cares
FB=c’d’+cd+b’
Decimal
Integer
BCD
abcd
ABCDEFG
0
0000
1111110
1
0001
0110000
2
0010
1101101
3
0011
1111001
4
0100
0110011
5
0101
1011011
1
6
0110
0011111
x
7
0111
1110000
8
1000
1111111
9
1001
1110011
B
A
1
1
1
x
1
1
0
0
x
x
1
1
C
D
Download