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’,

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
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.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
ECE C03 Lecture 31 Lecture 3 Two-Level Logic Minimization Algorithms Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
1 Combinational Logic Network design Chapter 4 (continued ….)
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.
Gate-Level Minimization. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
EDA (CS286.5b) Day 15 Logic Synthesis: Two-Level.
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
Chapter 3 Simplification of Switching Functions
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 4: February 25, 2009 Two-Level Logic-Synthesis.
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.
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.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Quine-McClusky Minimization Method Discussion D3.2.
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
Computer Engineering (Logic Circuits) (Karnaugh Map)
CSCE 211: Digital Logic Design
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Two-Level Minimization I.
Boolean Algebra and Digital Circuits
Switching functions The postulates and sets of Boolean logic are presented in generic terms without the elements of K being specified In EE we need to.
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.
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.
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
Chapter 3. Minimization of Switching Functions. Given a sw function f(x 1, x 2, …, x n ) and some cost criteria, find a representation of f which minimizes.
The covering procedure. Remove rows with essential PI’s and any columns with x’s in those rows.
F = ∑m(1,4,5,6,7) F = A’B’C+ (AB’C’+AB’C) + (ABC’+ABC) Use X’ + X = 1.
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.
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.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
Karnaugh map covering Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
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.
Chapter 6 Quine-McCluskey Method Mei Yang ECG Logic Design 1.
2-1 Introduction Gate Logic: Two-Level Simplification Design Example: Two Bit Comparator Block Diagram and Truth Table A 4-Variable K-map for each of the.
Chapter 2 Two- Level Combinational Logic. Chapter Overview Logic Functions and Switches Not, AND, OR, NAND, NOR, XOR, XNOR Gate Logic Laws and Theorems.
Computer Engineering (Logic Circuits) (Karnaugh Map)
Chapter3: Gate-Level Minimization Part 1 Origionally By Reham S. Al-Majed Imam Muhammad Bin Saud University.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
LOGIC GATES & BOOLEAN ALGEBRA
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.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 15: March 4, 2002 Two-Level Logic-Synthesis.
Module –I Boolean Algebra Digital Design Amit Kumar Assistant Professor SCSE, Galgotias University, Greater Noida.
CSE 140: Components and Design Techniques for Digital Systems Lecture 3: Incompletely Specified Functions and K Maps CK Cheng Dept. of Computer Science.
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.
CMPUT Computer Organization and Architecture II1 CMPUT329 - Fall 2003 Topic 4: Cost of Logic Circuits and Karnaugh Maps José Nelson Amaral.
EECS 270 Lecture 10. K-map “rules” – Only circle adjacent cells (remember edges are adjacent!) – Only circle groups that are powers of 2 (1, 2,
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
ECE DIGITAL LOGIC LECTURE 8: BOOLEAN FUNCTIONS Assistant Prof. Fareena Saqib Florida Institute of Technology Spring 2016, 02/11/2016.
Lecture 5 More Boolean Algebra A B. Overview °Expressing Boolean functions °Relationships between algebraic equations, symbols, and truth tables °Simplification.
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
CHAPTER 3 Simplification of Boolean Functions
CS 352 Introduction to Logic Design
Synthesis of Two Level Circuits
CHAPTER 5 KARNAUGH MAPS 5.1 Minimum Forms of Switching Functions
Chapter 3 Gate-level Minimization.
ECB2212-Digital Electronics
Minimization of Switching Functions
Heuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits
Presentation transcript:

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’, B’C’, A AB AC’ B’C’ A F 0 F 1 F 2 A B C Goals: 1. product term => No. of rows 2. literal in the input part => speed 3. literal in the output part => speed

Terminology and Definition literal: a variable or its complement Ex: xy + x’z => 4 literals cube: product term implicant of a function F( f, d, r) : where f,d,r are on-set, don’t-care set, and off-set. prime implicant: removing any literal from c will cause c r essential prime implicant: a prime implicant of F which contains a minterm F not contained in any other prime irredundant cover: a cover C ( union of implicant ) that no proper subset of C is also a cover

Minimization of Two-Level Logic Algebraic manipulation Cout = XY’Cin + X’YCin + XYCin’ + XYCin = YCin + XCin + XY Uniting Theorem AB + AB’ = A (B + B’) = A Idempotent Law A + A = A

Minimization of Two-Level Logic K-map simplification CD AB

Exact Minimization of Two-Level Logic Quine-McClusky (1) generate all primes (2) find a minimum cover

Quine-McClusky (1) generate all primes ( utilize AB+AB’=A(B+B’)=A ) f =  m( 4, 5, 6, 8, 9, 10, 13 ) + d( 0, 7, 15 )

Quine-McClusky (1) generate all primes ( utilize AB+AB’=A(B+B’)=A ) f =  m( 4, 5, 6, 8, 9, 10, 13 ) + d( 0, 7, 15 )

Quine-McClusky (2) select a subset of primes f ( x, y, z, w ) = x’z’w’+ y’z’w’ + xy’z’ + xy’w’ + xz’w + x’y+yw => the selected sum for f is f ( x, y, z, w ) = xy’w’ + xz’w + x’y A subset of implicant is a cover of the function if each minterm for which the function is 1 is included in at least one implicant of the subset.

Covering Problem Define a constraint matrix –column : corresponds to a prime –row : a minterm –A ij = 1 if jth column cover i minterm P 1 =x’y P 2 =x’z’ P 3 =y’z’ P 4 =yz x’y’z’ x’yz’ x’yz xyz xy’z’ Find a subset of columns of minimum cost that covers all rows. (minimum column cover)

Unate Covering The constraint matrix can be written as switching function. –interpret “P i =1” as “column P is selected” –constraint equation ( P 2 + P 3 )( P 1 + P 2 )( P 1 + P 4 )P 4 P 3 =1 A formula where no letter appears with both phases is called unate e.g. xy’ + zy’ otherwise binate e.g.. xy’ + zy The formula we obtain is unate. Therefore, the covering problem is called unate covering.

Quine-McClusky 1. Reduction of constraint matrix Ex: P 1 =x’y P 2 =x’z’ P 3 =y’z’ P 4 =yz x’y’z’ x’yz’ x’yz xyz xy’z’ Enumeration in the case of cyclic core cyclic core: P 1 P 2 P 3 P

Three Forms of Reduction Elimination of rows covered by essential column Elimination of rows through row dominance Elimination of columns through column dominance Iterate the above three forms of reductions

Reduction 1. Elimination of rows covered by essential column: If a row of the constraint matrix is a singleton, the corresponding column must be part of a solution. Ex: P 1 =x’y P 2 =x’z’ P 3 =y’z’ P 4 =yz x’y’z’ x’yz’ x’yz xyz xy’z’

Reduction P 1 =x’y P 2 =x’z’ P 3 =y’z’ P 4 =yz x’y’z’ x’yz’ x’yz xyz xy’z’ ( P 2 +P 3 )( P 1 +P 2 )( P 1 +P 4 ) P 4 P 3 =1 if P 3 =1, P 4 =1 (must be selected) ( P )( P 1 + P 2 )( P )11=1 P 1 + P 2 = 1 covers P 3 P 4 P 1 or P 3 P 4 P 2 are solutions

Reduction 2. Row or constraint dominance If row r i of the constraint matrix has all ones of another row r j, r i is covered whenever r j is covered. (r i dominates r j ) Ex: P 1 P 2 P 3 P 4 P 5 P Dominating row is deleted

Reduction Ex: P 1 P 2 P 3 P 4 P 5 P (P 1 +P 2 +P 6 )(P 1 +P 2 )(P 2 +P 3 )(P 2 +P 3 +P 4 )(P 4 +P 5 )( P 4 +P 5 +P 6 ) = 1 => (P 1 +P 2 )(P 2 +P 3 )(P 4 +P 5 ) = 1 utilize absorption property x( x + y ) = x

Reduction 3. column or variable dominance The cost of column : –each column (prime) corresponds to one AND gate in a SOP form. –if the number of gate is the only concern, it is correct to assign the same cost to all columns –if the literal is more important P 1 = xyz P 2 = wz cost(P 1 ) > cost(P 2 ) The total cost is the sum of the cost of the selected column

Reduction A column P i has all ones of another column P j and the cost of P i is not greater than P j. We can discard P j from the matrix (P i dominates P j ) Ex: P 1 P 2 P 3 P 4 P P 2 P Dominated column is deleted

Enumeration Enumeration in the case of cyclic core cyclic core: P 1 P 2 P 3 P Use divide and conquer strategy P i = 0 => reduce matrix => find a solution P i = 1 => reduce matrix => find a solution select the smaller one branch and bound

Enumeration for P 1 P 1 is not selected=> find a solution P 2 P 3 P P 1 is selected=>find a solution P 2 P 3 P

Reduction of Constraint Equation P 1 P 2 P 3 P 4 P (P 1 + P 2 )(P 2 + P 3 )(P 4 + P 5 ) = 1 P 1 is not selected: F P 1 =0 = P 2 (P 2 + P 3 )(P 4 + P 5 ) P 1 is selected: F P 1 =1 = (P 2 + P 3 )(P 4 + P 5 )

Multiple Output Functions Two Implementations for the Multiple- Output Function z y x xzxz yzyz x’ y x’ z’ xzxz x’ y z x’ z’ (a) (b) no sharing sharing

Multiple-output Primes Multiple-output primes include the primes of products of the individual functions. Ex: f1, f2, f3 consider primes of f1, f2, f3, f1f2, f2f3, f1f3, f1f2f3 Need to consider 2 n - 1 functions

Cubical Representation for Multiple- output f1 = xz + x’yz f2 = x’yz + x’z’ x y z f1 f

Tabular Method Applied to the Multiple- output (1) Two adjacent implicant are merged => their output parts are intersected (2) Marking the implicant => output part of the new implicant is the same

Formulating the Covering Problem minterm appears once for each output P1 = P2 = P3 = P4 = P5 = P1 P2 P3 P4 P