Download presentation
Presentation is loading. Please wait.
1
EEL 3705 / 3705L Digital Logic Design
Fall 2006 Instructor: Dr. Michael Frank Module #5: Combinational Logic Optimization (Thanks to Dr. Perry for the slides) 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
2
M. Frank, EEL3705 Digital Logic, Fall 2006
Wednesday, October 4, 2006 Administrivia: Midterm #1 grades posted, handing papers back today Averages: 96%, 89%, 96% (98.5 points overall) This week’s lab: “Top secret code display” (w. K-maps) Design project #1: Due this Friday!! Test your designs at end of lab period, or in TA office hours Don’t delay writing the large required amount of documentation! Homework assignment #3: To be posted very soon, watch for it. Plan for today: Go over midterm solutions briefly Start in on next lecture topic, 3.5: Techniques for Combinational Logic Optimization Emphasis on use of Karnaugh maps 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
3
Topic 3.5: Techniques for Combinational Logic Optimization
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
4
Topic 3.5 – Minimizing Circuits
Subtopics: Simplification using Boolean identities Not covering in depth this semester in lecture Karnaugh Maps (CIO #5) Focus of this lecture Don’t care conditions The Quine-McCluskey Method 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
5
Goals of Circuit Minimization
(1) Minimize the number of primitive Boolean logic gates needed to implement the circuit. Ultimately, this also roughly minimizes the number of transistors, the chip area, and the cost. Also roughly minimizes the energy expenditure among traditional irreversible circuits. This will be our focus. (2) It is also often useful to minimize the number of combinational stages or logical depth of the circuit. This roughly minimizes the delay or latency through the circuit, the time between input and output. Note: Goals (1) and (2) are often conflicting! In the real world, a designer may have to analyze and optimize some complex trade-off between logic complexity and latency. 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
6
Minimizing DNF Expressions
Using DNF (or CNF) expressions guarantees that you can always find some circuit that implements any desired Boolean function. However, the resulting circuit may be far larger than is really required! We would like to find the smallest sum-of-products expression that is equivalent to a given function. This will yield a fairly small circuit. However, circuits of other forms (not either CNF or DNF) might be even smaller for complex functions. 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
7
Simplification of Switching Functions
Chapter 3 Simplification of Switching Functions 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
8
M. Frank, EEL3705 Digital Logic, Fall 2006
Karnaugh Maps (K-Map) A K-Map is a graphical representation of a logic function’s truth table 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
9
Relationship to Venn Diagrams
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
10
Relationship to Venn Diagrams
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
11
Relationship to Venn Diagrams
b 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
12
Relationship to Venn Diagrams
b 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
13
Relationship to Venn Diagrams
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
14
M. Frank, EEL3705 Digital Logic, Fall 2006
Two-Variable K-Map 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
15
Three-Variable K-Map Note: The bit sequences must always be ordered using a Gray code! 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
16
Three-Variable K-Map Note: The bit sequences must always be ordered using a Gray code! 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
17
Three-Variable K-Map Note: The bit sequences must always be ordered using a Gray code! Edges are adjacent 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
18
Four-variable K-Map Note: The bit sequences must be ordered using a Gray code! Note: The bit sequences must be ordered using a Gray code! 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
19
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
20
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map Edges are adjacent Edges are adjacent 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
21
Plotting Functions on the K-map
SOP Form 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
22
Canonical SOP Form using shorthand notation Three Variable Example
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
23
Three-Variable K-Map Example
Plot 1’s (minterms) of switching function 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
24
Three-Variable K-Map Example
Plot 1’s (minterms) of switching function 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
25
Four-variable K-Map Example
1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
26
Simplification of Switching Functions using K-MAPS
Karnaugh Maps (K-Map) Simplification of Switching Functions using K-MAPS 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
27
Terminology/Definition
Literal A variable or its complement Logically adjacent terms Two minterms are logically adjacent if they differ in only one variable position Ex: and m6 and m2 are logically adjacent Note: Or, logically adjacent terms can be combined 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
28
Terminology/Definition
Implicant Product term that could be used to cover minterms of a function Prime Implicant An implicant that is not part of another implicant Essential Prime Implicant A prime implicant that covers at least one minterm that is not contained in another prime implicant Cover A minterm that has been used in at least one group 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
29
Guidelines for Simplifying Functions
Each square on a K-map of n variables has n logically adjacent squares. (i.e. differing in exactly one variable) When combing squares, always group in powers of 2m , where m=0,1,2,…. In general, grouping 2m variables eliminates m variables. 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
30
Guidelines for Simplifying Functions
Group as many squares as possible. This eliminates the most variables. Make as few groups as possible. Each group represents a separate product term. You must cover each minterm at least once. However, it may be covered more than once. 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
31
K-map Simplification Procedure
Plot the K-map Circle all prime implicants on the K-map Identify and select all essential prime implicants for the cover. Select a minimum subset of the remaining prime implicants to complete the cover. Read the K-map 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
32
M. Frank, EEL3705 Digital Logic, Fall 2006
Example Use a K-Map to simplify the following Boolean expression 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
33
Three-Variable K-Map Example
Step 1: Plot the K-map 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
34
Three-Variable K-Map Example
Step 2: Circle ALL Prime Implicants 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
35
Three-Variable K-Map Example
Step 3: Identify Essential Prime Implicants PI EPI PI 1 1 EPI 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
36
Three-Variable K-Map Example
Step 4: Select minimum subset of remaining Prime Implicants to complete the cover. PI EPI 1 1 EPI 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
37
Three-Variable K-Map Example
Step 5: Read the map. 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
38
M. Frank, EEL3705 Digital Logic, Fall 2006
Solution 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
39
M. Frank, EEL3705 Digital Logic, Fall 2006
Example Use a K-Map to simplify the following Boolean expression 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
40
Three-Variable K-Map Example
Step 1: Plot the K-map 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
41
Three-Variable K-Map Example
Step 2: Circle Prime Implicants Wrong!! We really should draw A circle around all four 1’s 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
42
Three-Variable K-Map Example
Step 3: Identify Essential Prime Implicants EPI EPI Wrong!! We really should draw A circle around all four 1’s 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
43
Three-Variable K-Map Example
Step 4: Select Remaining Prime Implicants to complete the cover. EPI EPI 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
44
Three-Variable K-Map Example
Step 5: Read the map. 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
45
M. Frank, EEL3705 Digital Logic, Fall 2006
Solution Since we can still simplify the function this means we did not use the largest possible groupings. 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
46
Three-Variable K-Map Example
Step 2: Circle Prime Implicants Right! 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
47
Three-Variable K-Map Example
Step 3: Identify Essential Prime Implicants EPI 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
48
Three-Variable K-Map Example
Step 5: Read the map. 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
49
M. Frank, EEL3705 Digital Logic, Fall 2006
Solution 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
50
M. Frank, EEL3705 Digital Logic, Fall 2006
Special Cases 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
51
Three-Variable K-Map Example
1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
52
Three-Variable K-Map Example
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
53
Three-Variable K-Map Example
1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
54
Four Variable Examples
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
55
M. Frank, EEL3705 Digital Logic, Fall 2006
Example Use a K-Map to simplify the following Boolean expression 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
56
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
57
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
58
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
59
M. Frank, EEL3705 Digital Logic, Fall 2006
Example Use a K-Map to simplify the following Boolean expression D=Don’t care (i.e. either 1 or 0) 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
60
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 1 d 1 1 1 d 1 d 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
61
M. Frank, EEL3705 Digital Logic, Fall 2006
Four-variable K-Map 1 d 1 1 1 d 1 d 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
62
M. Frank, EEL3705 Digital Logic, Fall 2006
Five Variable K-Maps 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
63
M. Frank, EEL3705 Digital Logic, Fall 2006
Five variable K-map Use two four variable K-maps A=1 A=0 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
64
Use Two Four-variable K-Maps
A=0 map A=1 map 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
65
M. Frank, EEL3705 Digital Logic, Fall 2006
Five variable example 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
66
Use Two Four-variable K-Maps
A=0 map A=1 map 1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
67
Use Two Four-variable K-Maps
A=0 map A=1 map 1 1 1 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
68
M. Frank, EEL3705 Digital Logic, Fall 2006
Five variable example 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
69
Plotting POS Functions
9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
70
K-map Simplification Procedure
Plot the K-map for the function F Circle all prime implicants on the K-map Identify and select all essential prime implicants for the cover. Select a minimum subset of the remaining prime implicants to complete the cover. Read the K-map Use DeMorgan’s theorem to convert F to F in POS form 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
71
M. Frank, EEL3705 Digital Logic, Fall 2006
Example Use a K-Map to simplify the following Boolean expression 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
72
Three-Variable K-Map Example
Step 1: Plot the K-map of F 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
73
Three-Variable K-Map Example
Step 2: Circle ALL Prime Implicants 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
74
Three-Variable K-Map Example
Step 3: Identify Essential Prime Implicants PI EPI PI 1 1 EPI 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
75
Three-Variable K-Map Example
Step 4: Select minimum subset of remaining Prime Implicants to complete the cover. PI EPI 1 1 EPI 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
76
Three-Variable K-Map Example
Step 5: Read the map. 1 1 1 1 1 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
77
M. Frank, EEL3705 Digital Logic, Fall 2006
Solution 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
78
M. Frank, EEL3705 Digital Logic, Fall 2006
TPS Quiz 9/17/2018 M. Frank, EEL3705 Digital Logic, Fall 2006
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.