ECB2212-Digital Electronics

Slides:



Advertisements
Similar presentations
Three Special Functions
Advertisements

FUNCTION OPTIMIZATION Switching Function Representations can be Classified in Terms of Levels Number of Levels, k, is Number of Unique Boolean (binary)
Irredundant Cover After performing Expand, we have a prime cover without single cube containment now. We want to find a proper subset which is also a cover.
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.
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Binary Recursion Tree The recursive Shannon expansion corresponds to a binary recursion tree Example: Path (v) to node v corresponds to cube c(v) Example:
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
1 Consensus Definition Let w, x, y, z be cubes, and a be a variable such that w = ax and y = a’z w = ax and y = a’z Then the cube xz is called the consensus.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
Multi-Valued Input Two-Valued Output Functions. Multi-Valued Input Slide 2 Example Automobile features 0123 X1X1 TransManAuto X2Doors234 X3ColourSilverRedBlackBlue.
ENEE 6441 On Quine-McCluskey Method > Goal: find a minimum SOP form > Why We Need to Find all PIs? f(w,x,y,z) = x’y’ +wxy+x’yz’+wy’z = x’y’+x’z’+wxy+wy’z.
ECE Synthesis & Verification - Lecture 9b 1 ECE 697B (667) Fall 2004 ECE 697B (667) Fall 2004 Synthesis and Verification of Digital Systems Boolean.
1 Generalized Cofactor Definition 1 Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified.
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Exact Two-level Minimization Quine-McCluskey Procedure.
ECE 667 Synthesis and Verification of Digital Systems
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
1 Binary Recursion Tree The recursive Shannon expansion corresponds to a binary recursion tree Example: Path  (v) to node v corresponds to cube c  (v)
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’,
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization II.
BOOLEAN FUNCTION PROPERTIES
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.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Quine-McCluskey (Tabular) Minimization Two step process utilizing tabular listings to: Identify prime implicants (implicant tables) Identify minimal PI.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Valued Logic.
2-Level Minimization Classic Problem in Switching Theory Tabulation Method Transformed to “Set Covering Problem” “Set Covering Problem” is Intractable.
Heuristic Two-level Logic Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
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.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect15: Heuristic Two Level Logic.
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.
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:
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ECE 301 – Digital Electronics Minimizing Boolean Expressions using K-maps, The Minimal Cover, and Incompletely Specified Boolean Functions (Lecture #6)
©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.
CHAPTER 6 Quine-McCluskey Method
Logic Synthesis Boolean Division.
Lecture 6 Quine-McCluskey Method
CHAPTER 3 Simplification of Boolean Functions
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Heuristic Minimization of Two-Level Logic
Chapter 4 Simplification of Boolean Functions Karnaugh Maps
Plotting functions not in canonical form
CS 352 Introduction to Logic Design
ECE 2110: Introduction to Digital Systems
Chapter 6 Quine-McCluskey Method
Synthesis of Two Level Circuits
CSE140 HW2 Preparation Xinyuan Wang 04/20/2018.
ECE 331 – Digital System Design
Digital Logic & Design Dr. Waseem Ikram Lecture 12.
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
Chapter 3 Gate-level Minimization.
MINTERMS and MAXTERMS Week 3
SYEN 3330 Digital Systems Chapter 2 – Part 6 SYEN 3330 Digital Systems.
COE 202: Digital Logic Design Combinational Logic Part 3
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits
ESE535: Electronic Design Automation
Analysis of Logic Circuits Example 1
ECE 331 – Digital System Design
Presentation transcript:

ECB2212-Digital Electronics Ms.K.Indra Gandhi Asst Prof (Sr.Gr) /ECE

Two-Level Minimization I Logic Synthesis Two-Level Minimization I

Quine-McCluskey Procedure (Exact) Given G’ and D (covers for F = (f,d,r) and d), find a minimum cover G of primes where: f  G  f+d (G is a prime cover of F ) Q-M Procedure: 1. Generate all the primes of F , {Pj} (i.e. primes of (f+d)=G’+D) 2. Generate all the minterms of f=G’D, {mi} 3. Build Boolean matrix B where Bij = 1 if mi Pj = 0 otherwise 4. Solve the minimum column covering problem for B (unate covering problem)

Difficulty Note: Can be ~ 2n minterms ~ 3n/n primes Thus O(2n) rows and O(3n/n ) columns AND minimum covering problem is NP-complete. (Hence can probably be double exponential in size of input, i.e. difficulty is O(23n) primes 3n/n 1 minterms 2n 1

Example Primes: y + w + xz Covering Table Solution: {1,2}  y + w is minimum prime cover. (also w+ xz) xz xy xy xy xy y zw w Karnaugh map zw y w xz xyzw xyzw xyzw xyzw zw zw

Covering Table Definition: An essential prime is any prime that uniquely covers a minterm of f. Primes of f+d y w xz xyzw xyzw xyzw xyzw Minterms of f Row singleton (essential minterm) Essential prime

Covering Table Row Equality: In practice, many rows are identical. That is there exist minterms that are contained in the same set of primes. m1 0101101 m2 0101101 Any row can be associated with a cube -- called the signature cube. e.g. m1  m2  P2P4P5P7

Row and Column Dominance Definition: A row i1 whose set of primes is contained in the set of primes of row i2 is said to dominate i2. Example: i1 011010 i2 011110 i1 dominates i2 We can remove row i2, because we have to choose a prime to cover i1, and any such prime also covers i2. So i2 is automatically covered.

Row and Column Dominance Definition: A column j1 whose rows are a superset of another column j2 is said to dominate j2. Example: j1 dominates j2 We can remove column j2 since j1 covers all those rows and more. We would never choose j2 in a minimum cover since it can always be replaced by j1. j1 j2 1 0 0 0 1 1

Pruning the Covering Table 1. Remove all rows covered by essential primes (columns in row singletons). Put these primes in the cover G. 2. Group identical rows together and remove dominated rows. 3. Remove dominated columns. For equal columns, keep one prime to represent them. 4. Newly formed row singletons define n-ary essential primes. 5. Go to 1 if covering table decreased. The resulting reduced covering table is called the cyclic core. This has to be solved (unate covering problem). A minimum solution is added to G - the set of n-ary essential primes. The resulting G is a minimum cover.

Example Essential Prime and Column Dominance G=P1 n-ary Essential Prime and Column Dominance G=P1 + P3 Row dominance Cyclic Core

Solving the Cyclic Core Best known method (for unate covering) is branch and bound with some clever bounding heuristics. Independent Set Heuristic: Find a maximum set of “independent” rows I. Two rows Bi1 ,Bi2 are independent if j such that Bi1j =Bi2j=1. (They have no column in common) Example: Covering matrix B rearranged with independent sets first. 1 1 1 B= Independent set = I of rows 1 1 1 1 1 1 C A

Solving the Cyclic Core Lemma: |Solution of Covering|  |I| 1 1 1 1 1 1 1 1 1 C A

Heuristic Let I={I1, I2, …, Ik} be the independent set of rows choose j  Ii which covers the most rows of A. Put j  J eliminate all rows covered by column j I  I\{Ii} go to 1 if |I|  0 If B is empty, then done (in this case we have the guaranteed minimum solution - IMPORTANT) If B is not empty, choose an independent set of B and go to 1 1 A C

Generating Primes - single output func. Tabular method (based on consensus operation): Start with all minterm canonical form of F Group pairs of adjacent minterms into cubes Repeat merging cubes until no more merging possible; mark () + remove all covered cubes. Result: set of primes of f. Example: F = x’ y’ + w x y + x’ y z’ + w y’ z F = x’ y’ + w x y + x’ y z’ + w y’ z w’ x’ y’ z’  w’ x’ y’ z  w’ x’ y z’  w x’ y’ z’  w x’ y’ z  w x’ y z’  w x y z’  w x y’ z  w x y z  w’ x’ y’  w’ x’ z’  x’ y’ z’  x’ y’ z  x’ y z’  w x’ y’  w x’ z’  w y’ z w y z’ w x y w x z x’ y’ x’ z’ Courtesy: Maciej Ciesielski, UMASS

Generating Primes – multiple outputs Procedure similar to single-output function, except: include also the primes of the products of individual functions Example: x y z 0 – 0 0 1 1 1 – 1 f1 f2 0 1 1 1 1 0 x y z 000 100 110 010 111 011 f1 f2 101 Can also represent it as: x y z 0 – 0 0 1 – – 1 1 1 – 1 f1 f2 0 1 1 0

Generating Primes - example Modification (w.r.t single output function): When two adjacent implicants are merged, the output parts are intersected 000 | 01  010 | 01  011 | 11 101 | 10  111 | 10  0 – 0 | 01 0 1 – | 01 – 1 1 | 10 1 – 1 | 10 x y z 0 – 0 0 1 1 1 – 1 f1 f2 0 1 1 1 1 0 f2 000 100 110 010 111 011 f1 101 There are five primes listed for this two-output function. - What is the min cover ?

Minimize multiple-output cover - example List multiple-output primes 000 | 01 010 | 01 011 | 01 011 | 10 101 | 10 111 | 10 listed twice 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 p1 p2 p3 p4 p5 Create a covering table, solve p1 = 0 1 1 | 11 p2 = 0 – 0 | 01 p3 = 0 1 – | 01 p4 = – 1 1 | 10 p5 = 1 – 1 | 10 f1 f2 000 100 110 010 111 011 101 Min cover has 3 primes: F = { p1, p2, p5 }

Generating Primes We use the unate recursive paradigm. The following is how the merge step is done. (Assumption: we have just generated all primes of and .) Theorem: p is a prime of f iff p is maximal among the set consisting of P = xiq, q is a prime of , P = xir, r is a prime of , P = qr, q is a prime of , r is a prime of

Generating Primes Example: Assume q = abc is a prime of . Form p=xiabc. Suppose r=ab is a prime of . Then is an implicant of f Thus abc and xiab are implicants, so xiabc is not prime. Note: abc is prime because if not, ab  fx (or ac or bc) contradicting abc prime of Note: xiab is prime, since if not then either ab  f or xia  f . The first contradicts abc prime of and the second contradicts ab prime of

Quine-McCluskey Summary Q-M: 1. Generate cover of all primes 2. Make G irredundant (in optimum way) Note: Q-M is exact i.e. it gives an exact minimum Heuristic Methods: Generate (somehow) a cover of  using some of the primes Make G irredundant (maybe not optimally) Keep best result - try again (i.e. go to 1)

Generalized Cofactor Definition: Let f, g be completely specified functions. The generalized cofactor of f with respect to g is the incompletely specified function: Definition: Let  = (f, d, r) and g be given. Then

Relation with Shannon Cofactor Let g=xi . Shannon cofactor is Generalized cofactor with respect to g=xi is Note that In fact fxi is the unique cover of co(f, xi ) independent of the variable xi .

Shannon Cofactor on off Don’t care

Shannon Cofactor (Cont.) So

Properties of Generalized Cofactor Shannon Cofactor Generalized Cofactor We will get back to use of generalized cofactor later