The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.

Slides:



Advertisements
Similar presentations
Sistemas Digitais I LESI - 2º ano Lesson 4 - Combinational Systems Principles U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes.
Advertisements

Minimization of Circuits
Glitches & Hazards.
Prof. Sin-Min Lee Department of Computer Science
ECE 3110: Introduction to Digital Systems
K-Map Simplification COE 202 Digital Logic Design Dr. Aiman El-Maleh
Based on slides by: Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. ECE/CS 352: Digital System Fundamentals Lecture 8 – Systematic Simplification.
1 Combinational Logic Network design Chapter 4 (continued ….)
ECE 3110: Introduction to Digital Systems Simplifying Sum of Products using Karnaugh Maps.
EECC341 - Shaaban #1 Lec # 8 Winter Combinational Logic Circuit Transient Vs. Steady-state Output Gate propagation delay: The time between.
Examples Simplify: ab’c + abc + a’bc Show that X + X’Y = X + Y
Chapter 3 Simplification of Switching Functions
Karnaugh Maps for Simplification
Give qualifications of instructors: DAP
Quine-McClusky Minimization Method Discussion D3.2.

Computer Engineering (Logic Circuits) (Karnaugh Map)
Logic gate level Part 3: minimizing circuits. Improving circuit efficiency Efficiency of combinatorial circuit depends on number & arrangement of its.
EECC341 - Shaaban #1 Lec # 7 Winter Combinational Circuit Minimization Canonical sum and product logic expressions do not provide a circuit.
IKI a-Simplification of Boolean Functions Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Two Level Logic Optimization. Two-Level Logic Minimization PLA Implementation Ex: F 0 = A + B’C’ F 1 = AC’ + AB F 2 = B’C’ + AB product term AB, AC’,
Digital Logic Design Lecture # 7 University of Tehran.
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
2-Level Minimization Classic Problem in Switching Theory
1 Simplification of Boolean Functions:  An implementation of a Boolean Function requires the use of logic gates.  A smaller number of gates, with each.
1 Chapter 5 Karnaugh Maps Mei Yang ECG Logic Design 1.
Synthesis of Two-Level Circuits
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.
Department of Computer Engineering
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Boolean Algebra 1854, George Boole created a two valued algebraic system which is now called Boolean algebra. 1938, Claude Shannon adapted Boolean algebra.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
CS2100 Computer Organisation
Chapter 3 Gate-Level Minimization
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
ECE 3110: Introduction to Digital Systems Symplifying Products of sums using Karnaugh Maps.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
Combinational Logic Part 2: Karnaugh maps (quick).
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
Computer Engineering (Logic Circuits) (Karnaugh Map)
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Ahmad Almulhem, KFUPM 2010 COE 202: Digital Logic Design Combinational Logic Part 3 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:
ENG241 Digital Design Week #2 Combinational Logic Circuits.
Karnaugh Mapping Digital Electronics. Karnaugh Mapping or K-Mapping This presentation will demonstrate how to Create and label two, three, & four variable.
Prof. Hsien-Hsin Sean Lee
June 12, 2002© Howard Huang1 Karnaugh maps Last time we saw applications of Boolean logic to circuit design. – The basic Boolean operations are.
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
ECE/CS 352 Digital System Fundamentals1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapter 2 – Part 5 Tom Kaminski & Charles R. Kime.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
CEC 220 Digital Circuit Design Implicants Wed, Sept. 23 CEC 220 Digital Circuit Design Slide 1 of 10.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Mu.com.lec 9. Overview Gates, latches, memories and other logic components are used to design computer systems and their subsystems Good understanding.
1 Digital Design Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
CHAPTER 3 Simplification of Boolean Functions
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Computer Organisation
3-7 Other Two-level Implementations
CS 352 Introduction to Logic Design
ECE 2110: Introduction to Digital Systems
Lecture 3 Gunjeet Kaur Dronacharya Group of Institutions
Introduction to Digital Systems
Chapter 3 Gate-level Minimization.
Minimization of Switching Functions
Overview Part 2 – Circuit Optimization
Karnaugh maps Last time we saw applications of Boolean logic to circuit design. The basic Boolean operations are AND, OR and NOT. These operations can.
Presentation transcript:

The covering procedure

Remove rows with essential PI’s and any columns with x’s in those rows

The covering procedure Remove rows that are covered by other rows Remove columns that cover other columns Why?

The covering procedure Remove rows that are covered by other rows Remove columns that cover other columns

The covering procedure Rows  PI’s –Covering row takes care of more minterms –Minterms included in a smaller (covered) row are also included in the bigger (covering) one –Can discard the small ones and use only the covering row; minterm coverage is preserved Columns  min/max terms –Whenever a min/max term corresponding to a covered (smaller) column is included by some PI, the min/max term corresponding to the covering (bigger) column also gets included –Covering column can be dropped –Reduces # of PI’s that include this min/max term

Cyclic PI charts Cyclic PI charts have no essential PI’s –Cannot be reduced by rules 1 and 2 Example of cyclic PI chart of 3 variables BC A

Cyclic PI chart chosen PI Cyclic PI charts have no essential PI’s –Select the row with max number of x’s (randomly if more than one); PI 1 in this example

Cyclic PI chart After removing PI 1, apply rules 1 and 2. Remove covered PI 2 and PI 6 PI 3 and PI 5 cover the resulting chart. Minimal cover: PI 1, PI 3, PI 5

Cyclic PI charts Example of cyclic PI chart of 4 variables Q: if PI’s covering 4 minterms are allowed, can one create a cyclic PI chart where no PIs are essential?

Cyclic PI charts A: yes Q: what about a 4 variable K-map and groups of 8 ones? –In general n variable functions with a K-map and PIs covering 2 n-1 min/max terms – can there be a cyclic PI chart?

Incompletely specified functions When some of the minterms can be either 0 or 1, we can denote them by ‘d’ (don’t care) When simplifying, we use ‘d’s to generate PIs, but do not include them in the PI chart

Incompletely specified functions

Multiple simultaneous outputs

In general, # of lists ≤ n+1 (n = # variables)

‘d’s are not in the charts, but are used for PIs List 1, group 1 Group 2, list 2 Group 3, list 3

Multiple simultaneous outputs Why select PI 3 over PI 11 ? PIs from higher-numbered list are likely to cover more PIs (not always true: don’t cares)

Multiple simultaneous outputs

Static hazard or glitch: unwanted output transition when inputs change and the output should have remained the same For simplicity consider only a single input changes at a time Different gates have different propagation delays Hazards and K-maps

 t 1  t 3  t 2  t 1 =  t 2 =  t 3

Hazards and K-maps  t 1  t 3  t 2  t 1 >  t 2 >  t 3

Hazards and K-maps A hazard exists when a changing input requires corresponding minterms/maxterms to be covered by different product/sum terms Remove hazards by bridging the gaps on the K-map:

Hazards and K-maps Hazard-free circuit: Cover each pair of adjacent minterms by a different product term Deliberate redundancy like this makes circuits impossible to test completely Static 1 hazards: in SOP circuits: 1  0  1 Static 0 hazards: in POS circuits: 0  1  0

Hazards and K-maps Static 0 hazards in POS circuits: Identify the hazard(s): how many? Where?

Hazards and K-maps Hazards identified and fixed? What is missing?

Hazards and K-maps Dynamic hazards: –When input change requires output change –Occur when output makes more than one transition Always result from static hazards elsewhere –Eliminating the static hazards eliminates the dynamic ones as well

Prime number detector: F =  (1, 2, 3, 5, 7, 11, 13) N3 N xxx N1 N0 11xxx 10x

Karnaugh maps: 2, 3, and 4 variable

F = X’YZ’ + XZ + Y’Z Example:

Another example: Prime implicants (maximal clusters)

Prime number detector

Another example: distinguished cell: covered by only one prime implicant essential prime implicant: contains distinguished cell

Another example: primes, distinguished cells, essentials

Selecting essentials leaves an uncovered cell cover with simpler implicant: W’Z

Eclipsing (in reduced map) P eclipses Q if P covers all of Q’s ones if P is no more expensive (same or fewer literals), then choose P over Q

Alas, no essential prime implicants branching: choose a cell and examine all implicants that cover that cell

Don’t cares....

Multiple functions can use separate Karnaugh maps

...or can manage to find common terms...

For more than 6 input variables, Karnaugh maps are difficult to manipulate Need computer program.... Quine-McCluskey algorithm

typedef unsigned short WORD; /* assume 16-bit registers */ struct cube { WORD t; /* marks uncomplemented variables */ WORD f; /* marks complemented variables */ } typedef struct cube CUBE; CUBE P1, x, y, z;

Equation: w x’ y z’ + w’ x’ y z’ = x’ y z’ Karnaugh map: wx yz Example in four variables Cubes (last four bits): 1010  0010 = 1000 ==> single one in common position ==> combinable 0101  1101 = & 0010 = 0010 ==> w now missing, new cube corresponds to z’ y z’ 0101 & 1101 = 0101

Start with minterms (0-cubes) Combine when possible to form (1-cubes).... Example: w’xy’z + wxy’z + w’xyz + wxyz = xz wx yz Cubes:  1101 =  0010 = & 1101 = & 0010 = 0010

Start with minterms (0-cubes) Combine when possible to form (1-cubes).... Example: w’xy’z + wxy’z + w’xyz + wxyz = xz wx yz  Cubes:  wx yz  1101 =  0010 = & 1101 = & 0010 = 0010

Start with minterms (0-cubes) Combine when possible to form (1-cubes).... Example: w’xy’z + wxy’z + w’xyz + wxyz = xz wx yz    Cubes:    wx yz

Continue to form 2-cubes Example: w’xy’z + wxy’z + w’xyz + wxyz = xz wx yz  Cubes:  

Read in all minterms (0-cubes); mark all 0-cubes “uncovered”; for (m = 0; m < Nvar; m++) for (j = 0; j < Ncubes[m]; j++) for (k = j + 1; k < Ncubes[m]; k++) if (combinable(cube[m][j], cube[m][k])) { mark cube[m][j] and cube[m][k] “covered” temp = combined cube; if (temp not already at level m + 1) { add temp to level m + 1; mark temp “uncovered” } } Quine-McCluskey Algorithm:

Manual algorithm: F =  (2, 5, 7, 9, 13, 15) (variables WXYZ) uncovered terms

Manual algorithm: F =  (2, 5, 7, 9, 13, 15) (variables WXYZ) x01-1x x-101x x-111x 1101x11-1x 1111x WX YZ XZ WY’Z W’X’YZ’

Minterms Prime Implicants 0010x 1-01xx -1-1xxxx distinguished minterms (cells): 2, 5, 7, 9, 15 essential prime implicants: 0010, 1-01, -1-1 (all) F = = W’X’YZ’ + WY’Z + XZ

Not all prime implicants are necessarily essential distinguished cells essential implicants remainder C eclipses B and D Minimal form: A + E + C

Not all prime implicants are necessarily essential distinguished cells essential implicants remainder C eclipses B and D Minimal form: A + E + C

Not all prime implicants are necessarily essential distinguished cells essential implicants remainder C eclipses B and D Minimal form: A + E + C

Static hazard: X = Y = 1, Z falls from 1 to 0 Z’ XZ’Z’ XZ’ Consensus term Reconstruct Karnaugh map: F = XZ’ + YZ = XYZ’ + XY’Z’ + XYZ + X’YZ

Solution: add consensus term Z’ XZ’Z’ XZ’ Consensus term Z’ XZ’