Function Minimization Algorithms

Slides:



Advertisements
Similar presentations
FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Advertisements

Glitches & Hazards.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
Based on slides by: Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 8 – Systematic Simplification.
Chapter 3 Simplification of Switching Functions
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Chapter 4 Function Minimization Algorithms Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Give qualifications of instructors: DAP
1 Chapter 5 Karnaugh Maps Mei Yang ECG Logic Design 1.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Chapter 3 The Karnaugh Map. These K-maps are described by the location. Next, each square will be 1 or 0 depending on the value of the function. ABfm.
Optimization Algorithm
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
Examples. Examples (1/11)  Example #1: f(A,B,C,D) =  m(2,3,4,5,7,8,10,13,15) Fill in the 1’s. 1 1 C A B CD AB D 1 1.
Chapter 6 Quine-McCluskey Method Mei Yang ECG Logic Design 1.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 5: Quine-McCluskey Method José Nelson Amaral.
1 Quine-McCluskey Method. 2 Motivation Karnaugh maps are very effective for the minimization of expressions with up to 5 or 6 inputs. However they are.
Computer Engineering (Logic Circuits) (Karnaugh Map)
CS2100 Computer Organisation
07 KM Page 1 ECEn/CS 224 Karnaugh Maps. 07 KM Page 2 ECEn/CS 224 What are Karnaugh Maps? A simpler way to handle most (but not all) jobs of manipulating.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Karnaugh Maps (K maps).
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
©2010 Cengage Learning SLIDES FOR CHAPTER 6 QUINE-McCLUSKEY METHOD Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
©2010 Cengage Learning SLIDES FOR CHAPTER 5 KARNAUGH MAPS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
CHAPTER 6 Quine-McCluskey Method
Lecture 6 Quine-McCluskey Method
CHAPTER 3 Simplification of Boolean Functions
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Computer Organisation
3-7 Other Two-level Implementations
Lecture #6 EGR 277 – Digital Logic
QUINE-McCLUSKEY METHOD
Plotting functions not in canonical form
CS 352 Introduction to Logic Design
CSCE 211: Digital Logic Design
Optimized Implementation of Logic Function
ECE 331 – Digital System Design
Digital Logic and Design
Chapter 6 Quine-McCluskey Method
CSCE 211: Digital Logic Design
Optimized Implementation of Logic Function
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
CSCE 211: Digital Logic Design
ECE 331 – Digital System Design
Digital Logic & Design Dr. Waseem Ikram Lecture 12.
EECS 465: Digital Systems Lecture Notes # 2
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
Function Minimization Algorithms
CH7 Multilevel Gate Network
Optimization Algorithm
Karnaugh Maps Introduction Venn Diagrams 2-variable K-maps
Chapter 3 Gate-level Minimization.
Optimized Implementation of Logic Function
SYEN 3330 Digital Systems Chapter 2 – Part 6 SYEN 3330 Digital Systems.
CSCE 211: Digital Logic Design
COE 202: Digital Logic Design Combinational Logic Part 3
Minimization of Switching Functions
Overview Part 2 – Circuit Optimization
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
CHAPTER 6 QUINE-McCLUSKEY METHOD
CSCE 211: Digital Logic Design
ECE 331 – Digital System Design
Presentation transcript:

Function Minimization Algorithms Chapter 4 Function Minimization Algorithms Techniques other than K-map. Particularly useful for larger problems.

Quine-McCluskey Method for Generating Prime Implicants Write minterms using binary values. Group minterms by the number of 1’s Apply adjacency (a b´ + a b = a) to each pair of terms, forming a second list. Check those terms in the first list that are covered by the new terms. Note that only terms in adjacent groups (that differ by one 1) need be paired. Repeat process with second list (and again if multiple terms are formed on a third list).

A + B = J A + C = K B + D = L B + C = M C + E = N D + F = O F + H = P G + H = Q Then J + N =R K + M = R Prime Implicants L = 010- w’xy’ O = 01-0 w’xz P = -111 xyz Q = 1-11 wyz R = --00 y’z’ Don’t cares must be included in first column. Prime implicants are the combined terms that remain, And have not been checked

The iterated consensus algorithm for single functions is as follows: 1. Find a list of product terms (implicants) that cover the function. Make sure that no term is equal to or included in any other term on the list. (These terms could be prime implicants or minterms or any other set of implicants. However, the rest of the algorithm proceeds more quickly if we start with prime implicants.) 2. For each pair of terms, ti and tj (including terms added to the list in step 3), compute ti ¢ tj. 3. If the consensus is defined, and the consensus term is not equal to or included in a term already on the list, add it to the list. 4. Delete all terms that are included in the new term added to the list. 5. The process ends when all possible consensus operations have been performed. The terms remaining on the list are ALL of the prime implicants.

MAKE A PI TABLE. $=# gates= # literals + OR OBJ: find min # rows so all cols has at least 1 X; minterms covered Find essential PI – only 1 X in col This is C & E, they are shaded Check off all other mins that are covered by those terms Make reduced table of cols not covered This is the don’t cares after PI used A row is dominated if another row covers the minterm at no more cost. PI D covers all the remain non-used F = C + D + E = wyz + y’z’ + w’xz

Get PI from k-map or QM F(a,b,c,d) = Σm(1,3,4,6,7,9,11,12,13,15) Construct a table of all PI Remove essential PI & all minterms (cols) covered Each row has 2 x’s Each col has 2 x’s B & C are cheaper, so try to use them A is essential E (or F) covers 4, pick E & get 12 Then C dominates D to get 13 & 15 The G covers 6 & 7 F = A + E + C + G

A + C + E + G A + F + B + D F = Σm(1,3,4,6,7,9,11,12,13,15) EX 4.5 Use k-map, QM, iterated consensus to find PI and make PI table. EX 4.5 √ $ 1 3 4 6 7 9 11 12 13 15 b’d* -0-1 A x cd --11 B ad 1—1 C abc’ 110- D bc’d’ -100 E a’bd’ 01-0 F a’bc 011- G Reduced table has 2 x in each row 2 x in each column need 3 terms Use B & C if possible They cost less. Two different ways Each use less cost term $ 4 6 7 12 13 15 3 B x C D E F G A + C + E + G A + F + B + D

Petrick’s Method A third tool for reducing a function. 1. Use reduced table after essential PI, but before dominated rows. 2. Create a POS expression by using 1 term for each column in the reduced table. Combine the terms to get a SOP form. Select any term that has less literals as the PI to be used. Add the essential PI to get the result. $ 4 6 7 12 13 15 3 B x C D E F G (E + F )(F + G)(B + G)(D + E)(C + D)(B + C) = (F + EG)(B + CG)(D + CE) = (BF + BEG + CFG + CEG)(D + CE) = BDF + BDEG + CDFG + CDEG + BCEF + BCEG + CEFG + CEG A + C + E + G Same result as before. F = A + C & E & G) F = A + (B & D & F) A + F + B + D

Sec 4.4: Q-M for multiple outputs f(a, b, c) = ∑m(2, 3, 7) g(a, b, c) = ∑m(4, 5, 7) Convert the decimal to binary Also note the literal equivalent Add a column for the output using a tag a b c 1 1 1 m literals tag binary f g 2 a´ b c´ g´ 0 1 0 – 0 3 a´ b c g´ 0 1 1 – 0 4 a b´ c´ f´ 1 0 0 0 – 5 a b´ c f´ 1 0 1 0 – 7 a b c 1 1 1 – – Tag for multiple outputs f g if included 0 if not included Create Q-M chart from the rows. Reduce the chart to get data for a PI table

f = a´b + abc g = ab´ + abc 4.6 Found all product terms- Create PI table w/ section for each output F=Σ(2,3,7) G=Σ(4,5,7) X only in column for implicant Essential is only one in column Cover all possible implicants Shown in brown in equations Create reduced table of uncovered Find term that covers most A →abc term The two outputs share the term So have minimum total cost f = a´b + abc g = ab´ + abc

Find terms that can be shared. List all minterms, with tags Ex 4.8 f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15) g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15) Two functions Find terms that can be shared. List all minterms, with tags Group by number of 1’s Check terms that differ by only 1 The terms that can be shared do not have a check at the end a’b’c’, a’b’d’, a’cd’, bcd’, abd’, acd, abc The PI is found from the tags f PI has a blank in first col g PI has a blank in second col f PI = a’b’, a’d’, b’d, bd’ g PI = cd’, ac Tag for multiple outputs f g if included 0 if not included

f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15) g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15) EX 4.10 Same problem, but use k-Map Two functions Find terms that can be shared. K-map fg, list all minterms of both functions K-map f, list minterms of f, with DC K-map g, same thing Group minterms of k-map to find product terms for the 2 functions Use common terms where possible Use product terms to make PI table

f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15) g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15) 4.12 Continue multiple output Create 2 sections For f & g X if function is used Find essential PI Cover other PI with it Check col Make reduced PI Next page

4.12 Reduced PI table f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15) g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15) For g, select N It covers 11 & 10 Create another reduced Table w/o these tersm

f = b´d + abd´ + a´d´ g = ac + abd´ + cd´ 4.12 Reduced Reduced PI table f(a, b, c, d) = ∑m(2, 3, 4, 6, 9, 11, 12) + ∑d(0, 1, 14, 15) g(a, b, c, d) = ∑m(2, 6, 10, 11, 12) + ∑d(0, 1, 14, 15) Continue to select terms to cover 2 & 6 covers both f & g Use that term, C Then cover the remaining PI f = b´d + abd´ + a´d´ g = ac + abd´ + cd´