Logic Synthesis. Basic Definitions. k-cubes
|
|
- Morris Blankenship
- 5 years ago
- Views:
Transcription
1 Logic Synthesis Minimization of Boolean logic Technology-independent mapping Objective: minimize # of implicants, # of literals, etc. Not directly related to precise technology (# transistors), but correlated consistent with objectives for any technology Technology-dependent mapping Linked to precise technology/library Technology-independent mapping Two-level minimization sum of products (SOP)/product of sums (POS) Karnaugh maps visual technique Quine-McCluskey method algorithmic Heuristic minimization fast and pretty good, but not exact Multi-level minimization Basic Definitions Specification of a function f On-set f on : set of input combinations for which f evaluates to 1 Off-set f off : set of input combinations for which f evaluates to 0 Don t care set f dc : set of input combinations over which function is unspecified Cubes Can represent a function of k variables over a k-dimensional space Example: f(x 1,x 2,x 3 ) = m(0,3,5,6) + d(7) f on = {0,3,5,6}; f dc = {7}; f off = {1,2,4} 011 Graphically: x x x 1 k-cubes k-cube: k-dim. subset of f on 0-cube = vertex in f on k-cube = a pair of (k-1) cubes with a Hamming distance of 1 Examples A 0-cube is a vertex A 1-cube is an edge A 3-cube is a 3D cube A 4-cube is harder to visualize but can be shown as A 2-cube is a face 1
2 More defintions Implicant A k-cube whose vertices all lie in the f on f dc and contains at least one element of f on Prime implicant Ak-cube implicant such that no k+1-cube containing this cube is an implicant Cover A set of implicants whose union contains all elements of f on and no elements of f off (may contain some elements of f dc ) Minimum cover A cover of minimum cost (e.g., cardinality) A min cardinality cover composed only of prime implicants exists (if not, can combine some implicants into larger prime implicants) Quine-McCluskey Method Illustration by example: f(x 1,x 2,x 3,x 4 ) = m(0,5,7,8,9,10,11,14,15) 0-cubes 1-cubes 2-cubes 0 (0000) x 0,8 (-000) A 8,9,10,11 (10--) D 5 (0101) x 57(01-1) 5,7 1) B 10,11,14, (1-1-) 1 E 7 (0111) x 7,15 (-111) C 8 (1000) x 8,9 (100-) x 9 (1001) x 8,10 (10-0) x 10 (1010) x 9,11 (10-1) x 11 (1011) x 10,11 (101-) x Prime implicants 14 (1110) x 10,14 (1-10) x 15 (1111) x 11,15 (1-11) x 14,15 (111-) x x implies that the cube has been combined into a larger cube PI s minterms Prime implicant table A (0,8) B (5,7) C (7,15) D (8,9,10,11) E (10,11,14,15) 0 x 5 x 7 x x 8 x x 9 x 10 x x 11 x x 14 x 15 x x Essential Prime Implicant (PIs): The only PI that covers a minterm (encircled in the table) Must be included in any cover Here, essential PIs = A,B,D,E form a cover! WARNING: this was luck in general, essential PIs will not form a cover! 2
3 Reducing the prime implicant table PI table reduction In general, essential PIs will not form a cover Reduce table by removing essential PIs, corresponding minterms Further reduction: can remove Dominating rows Dominated columns Row m 1 dominates row m 2 Column J dominates column K PI s P Q R S minterms m 1 x x x m 2 x x m 3 x x m 4 x x PI s J K L M minterms m 1 x x m 2 x x m 3 x x x m 4 x x Branch-and-bound algorithm May still not have a cover Example: example from previous slide after removing dominating row m 1 and consequently empty column P Can enumerate possibilities using a search tree Binary search tree: include or exclude PI Reduced PI table PI s R S minterms m 4 x x PI s Q R S minterms m 2 x x m 3 x x m 4 x x include Done Cover = {Q,R} include R Q exclude Done Cover = {R,S} exclude Done Cover = {Q,S} Branch-and-bound algorithm (contd.) ESPRESSO-EXACT Implementation of branching algorithm from previous slide Traversal to a leaf node of the tree yields a cover (though possibly not a minimum cost cover) ESPRESSO-EXACT adds bounding at any node: If Cost node + LB subtree > Best_cost_so_far, do not search the subtree Cost node = cost (e.g., number of implicants) chosen so far LB subtree = a lower bound on the cost of a subtree (can be determined by solving a maximal independent set problem) Best_cost_so_far = cost of best cover found so far through the traversal of the search tree; initialized to 3
4 Heuristic Logic Minimization Apply a sequence of logic transformations to reduce a cost function Transformations Expand: Input expansion Enlarge cube by combining i smaller cubes Reduces total number of cubes Output expansion Use cube for one output to cover another Reduce: break up cube into sub-cubes Increases total number of cubes Hope to allow overall cost reduction in a later expand operation Irredundant Remove redundant cubes from a cover Example Expand: input expansion z y Redundant! d x On-set member xyz f Off-set member xyz f xyz f Examples from G. Hachtel and F. Somenzi, Logic Synthesis and Verification Algorithms, Kluwer Academic Publishers, Boston, MA, Example Expand: output expansion Two output functions of three variables each with initial covers shown below z f 1 f 2 y x xyz F 1 F z f 1 f 2 y x xyz F 1 F Examples from G. Hachtel and F. Somenzi, Logic Synthesis and Verification Algorithms, Kluwer Academic Publishers, Boston, MA,
5 Other operators Reduce Reduce Future Expand operation Irredundant Identified as redundant; removed Irredundant Example of an application of operators (10 cubes) (12 cubes) reduce reduce expand expand expand (9 cubes) Example from S. Devadas, A. Ghosh and K. Keutzer, Logic Synthesis, McGraw-Hill, New York, NY, Example of a minimization loop F = Expand(F, D) F = Irredundant(F,D) do { Cost = F F = Reduce(F,D) (FD) F = Expand(F,D) F = Irredundant(F,d) } while ( F < Cost) F= Make_sparse(F,D) Make_sparse reduces output parts of a cube (e.g., from 11 to 10) to remove redundant connections) Example: xyz F 1 F xyz F 1 F
6 Implementation of operators Uses unate recursive paradigm Definition: Shannon expansion F(x 1,x 2,, x i,, x n ) = x i F(x 1,x 2,, x i,, x n ) + x i F(x 1,x 2,, x i,, x n ) =xf i xi +x i F xi (notationally) Unate function Positive unate in variable x i : F xi F xi F = x i F xi + F xi Negative unate in variable x i : F xi F xi F = F xi + x i F xi Unate function: positive unate or negative unate in each variable Unate recursive paradigm Recursively perform Shannon expansions about the variables until a unate function is obtained Why unate functions? Various operations (tautology checking, complementation, etc. are easy for unate functions) Unateness Example Unate cover (not minimum) Every column has only 1 s and s, or only 0 s and s w Note on notation: 0 1 The table at left 1 represents the on set 0 1 Nonunate cover: nonunate in y and z (both 1 and 0 appear in the columns) w Unate recursive paradigm a b c d e F c F c a b c d e 1 0 a b c d e F e F e (Unate function) Expand about binate variable a b c d e (Unate function) a b c d e 1 1 (Unate function) 6
7 Example: Unate complementation (Example to show that unate operations are easy ) Basic result: If F = x F x + x F x then F = x (F x ) + x (F x ) Proof: Let G = x (F x ) +x )+ (F x ) Show that F+G = 1 and F.G = Complement x x Complement 11 1 Complement 0 y y 0 Complement 1 Complement Empty set! Cofactors with respect to sets of cubes Can generalize the Shannon expansion to F = c F c + c F c where c is an set of cubes Result: c F F c is a tautology Example of finding a cofactor with respect to a cube: Cofactor of F = p q r s with respect to c = [1 1 ] F c contains elements of F on that agree with c at all non-don t care positions (in this example, in variables p and q) If so: replace non-don t cares by and copy the rest of the cube Following this prescription, F c is p q r s Checking for Tautology Checking for tautology: 1. F is a tautology F xj is a tautology and F xj is a tautology 2. Let C be a unate cover of F. Then F is a tautology C has a row of all - s Binate variable Example p q r s Tautology! p q r s r r p q r s Tautology! Since all leaf nodes are tautologies, the function is a tautology 7
8 The Expand Operator and Tautology Consider the function f with a cover G and f dc specified in the table f Objective: to expand to Need to check if the expansion is valid, i.e., it does not overlap with f off Define c i = d i = difference between c i and = here Need to know if d i Q = (G \ c i ) f dc : if so, can expand In other words, check if Q di is a tautology Q di can easily be verified here to be 1 here, which is a tautology The Irredundant Operator and Tautology Objective: to check if a cube c i in a cover G of function F is redundant In other words, check if c i Q = (G \ c i ) F dc In other words, check if Q ci is a tautology Multilevel logic optimization Motivation Two-level optimization (SOP, POS) is too limiting Useful for structures like PLA s, but most circuits are not designed in that way May require gates with a large number of inputs Restricts sharing of logic gates between outputs Multilevel optimization permits more than two levels of gates between the inputs and the outputs Necessarily heuristic Reference for this part: G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw-Hill, New York, NY,
9 Basic Transformations Elimination r = p + a ; s = r + b s = p + a + b Decomposition v = a d + bd + cd + a e j= a + b + c; v = jd + a e Extraction p = ce+de; t = ac+ad+bc+bd+e k = c+d; p = ke; t = ka+kb+e Simplification u = q c+qc +qc u = q+c Substitution t = ka+kb+e; q = a+b t = kq+e (Others exist; these are the most common) Transformations Apply the transformations heuristically Two methods: Algorithmic: algorithm for each transformation type Rule-based: according to a set of rules injected into the system by a human designer A typical synthesis script script.rugged in the SIS synthesis system from Berkeley sweep; eliminate 1 simplify m nocomp eliminate 1 sweep; eliminate 5 simplify m nocomp resub a fx resub a; sweep eliminate 1; sweep full_simplify m nocomp Explanation sweep: eliminates single-input vertices (w = x; y = w+z becomes y = x+z) eliminate k: eliminate defined earlier; Eliminates vertices so that area estimate increases by no more than k simplify m nocomp: simplify defined earlier Invokes ESPRESSO to minimize without computing full off-set ( nocomp ) full_simplify m nocomp: as above, but uses a larger don t care set resub a: algebraic substitute for vertex pairs fx: extracts double cube and single cube expressions 9
10 Algebraic model Also known as weak division Manipulation according to rules of polynomial algebra Support of a function Sup(f) = set of all variables v that occur as v or v in a minimal representation of f Sup(ab+c) = {a,b,c}; Sup(ab+a b) = {b} f is orthogonal to g (or f g) if Sup(f) Sup(g) = g is an algebraic (or weak) divisor of f when f = g h + r, provided h and g h g divides f evenly if r = Example If f = ab+ac+d; g = b+c, then f = ag + d (here h = a, r = d) The quotient, loosely referred to as f/g, is the largest cube h such that f = gh + r Computing the quotient f/g Given f = {set of cubes c i }, g = {set of cubes a i } Define h i = {b j a i b j f} for all cubes a i g (all multipliers of a cube a i that produce elements in f) f/g = i=1 to g h i Example f = abc + abde + abh + bcd, or f = {abc,abde,abh,bcd} g = c + de + h, or g = {c,de,h} h 1 = f/c = ab + bd, or {ab,bd}; h 2 = f/de = ab, or {ab}; h 3 = f/h = ab, or {ab} f/g = h 1 h 2 h 3 = {ab} (Confirmation: f = ab(c+de+h) + bcd = (f/g) g + r) Complexity of this method = f. g Doing this more efficiently Encode a i g with integer codes with a unique bit position for each literal in sup(g) g = {c,de,h}; sup(g) = {c,d,e,h}; encoding = {1000,0110,0001} Encode c i f with the same encoding f = {abc,abde,abh,bcd}; encoding = {1000,0110,0001,1100} Sort {a i, c j } by their encodings to get 1100: bcd 1000: c, abc h 1 = ab 0110: de, abde h 2 = ab 0001: h, abh h 3 = ab (Not the same h i s, but the intersection is the same) Complexity = O(n log n) where n = f + g 10
11 Finding good divisors Now that we know how to divide how do we find good divisors? Primary divisors P(f) = {f/c f is a cube} Example: f = abc + abde f/a = bc + bde is a primary divisor f/ab = c + de is a primary divisor g is cube free if the only cube dividing g evenly (i.e., with remainder zero) is 1. Example: c+de Kernels K(f) = set of primary divisors that are cube-free f/ab belongs to the set of kernels; f/a does not. Kernels are good candidates for divisors Kernels and co-kernels For f = abc + abde, f/ab = c + de c+de is a kernel ab is a co-kernel Co-kernel of a kernel is not unique f = acd + bcd + ae + be f/a = f/b = cd+e Kernel = cd+e Co-kernels = {a,b} f/cd = f/e = a+b Kernel = a+b Co-kernels = {cd,e} Finding all kernels Kernel (f) Find c f so that f/c f is cube-free and c f has the largest number of literals K = Kernel1(0,f/c f ) if (f is cube-free) return(f K) return(k) Kernel1(j,g) R = {g} for (i = j+1; i n; i++) if ( i th literal l i has 0 or 1 terms) continue c e = cube that evenly divides g/l i and has the max number of literals /* kernel already identified */ if (l k is not in c e for all k i) R = R Kernel1(i,(g/l i )/c e ) return(r) 11
12 Example F = abc(d+e)(k+l) + agh + m a F/a = bc(d+e)(k+l) + gh b c F/ab = c(d+e)(k+l) F/ac = b(d+e)(k+l) [Leads to kernels (d+e) and (k+l)] Triggers if condition that finds that this kernel was found earlier and prunes the search tree here Example: extraction and resubstitution F 1 = ab(c(d+e)+f+g)+h F 2 = ai(c(d+e)+f+j)+k 1. Generate kernels for F 1, F 2 2. Select K 1 K(F 1 ) and K 2 K(F 2 ) such that K 1 K 2 is not a cube 3. Set the new variable v to K 1 K 2 4. Rewrite F i = v (F i /v) + r i For the example: v 1 = d+e F 1 = ab(cv 1 +f+g)+h; F 2 = ai(cv 1 +f+j)+k v 2 = cv 1 +f F 1 = ab(v 2 +g)+h; F 2 = ai(v 2 +j)+k Generic factorization algorithm Factor(F) If (F has no factor) return(f); D = Divisor(F); (Q,R) = Divide(F,D); /* F = QD + R*/ return(factor(q),factor(d),factor(r)); (Q) F (D) F (R)) Divisor function identifies divisors, for example, based on a kernel-based algorithm Divide function may be algebraic (weak) division 12
13 Don t care based optimization: an outline Two types of don t cares considered here Satisfiability don t cares Observability don t cares Others: SPFD s (sets of pairs of functions to be differentiated) Satisfiability don t cares (SDC s) Example: Consider Y 1 = a b Y 2 = c d Y 3 = Y 1 Y 2 Since Y 1 = a b is enforced by one equation, the minterms of Y 1 (a b ) can be considered to be don t cares In other words, Y 1 a b + Y 1 (a+b) corresponds to a don t care Similarly, Y 2 (c d ) is also a don t care Don t care based optimization (contd.) Observability don t cares (ODC s) For r = p+q, if p = 1, then q is an observability don t care Similarly, can define ODC s for AND operations, etc. Example of don t care based optimization y 1 = xw, y 2 = x +y, f = y 1 +y 2 Cost = 1 AND + 2 OR s + 1 NOT Minimize function for y 1 SDC(y 1 ) = y 2 (x +y) = y 2 xy +y 2 x +y 2 y ODC(y 1 ) = y 2 y 1 = w w x y y 2 y ODC SDC s y 1 = w, y 2 = x +y, f = y 1 + y 2 y 2 = x +y, f = w + y 2 (eliminate) (Cost: 2 OR s + 1 NOT) Acknowledgements Hardly anything in these notes is original, and they borrow heavily from sources such as G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw-Hill, New York, NY, S. Devadas, A. Ghosh and K. Keutzer, Logic Synthesis, McGraw-Hill, New York, NY, 1994 G. Hachtel and F. Somenzi, Logic Synthesis and Verification Algorithms, Kluwer Academic Publishers, Boston, MA, Notes from Prof. Brayton's synthesis class at UC Berkeley ( Notes from Prof. Devadas's CAD class at MIT ( Possibly other sources that I may have omitted to acknowledge (my apologies) 13
Fundamental Algorithms for System Modeling, Analysis, and Optimization
Fundamental Algorithms for System Modeling, Analysis, and Optimization Edward A. Lee, Jaijeet Roychowdhury, Sanjit A. Seshia UC Berkeley EECS 244 Fall 2016 Lecturer: Yu-Yun Dai Copyright 2010-date, E.
More informationMultilevel Logic Synthesis Algebraic Methods
Multilevel Logic Synthesis Algebraic Methods Logic Circuits Design Seminars WS2010/2011, Lecture 6 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical
More informationHeuristic Minimization of Two Level Circuits
Heuristic Minimization of Two Level Circuits Sungho Kang Yonsei University Outline Local Search Checking for Equivalence and Tautology Choosing the Right Direction Identifying Essential Implicants 2 Local
More informationUNIT 5 KARNAUGH MAPS Spring 2011
UNIT 5 KRNUGH MPS Spring 2 Karnaugh Maps 2 Contents Minimum forms of switching functions Two- and three-variable Four-variable Determination of minimum expressions using essential prime implicants Five-variable
More informationMulti-Level Logic Optimization. Technology Independent. Thanks to R. Rudell, S. Malik, R. Rutenbar. University of California, Berkeley, CA
Technology Independent Multi-Level Logic Optimization Prof. Kurt Keutzer Prof. Sanjit Seshia EECS University of California, Berkeley, CA Thanks to R. Rudell, S. Malik, R. Rutenbar 1 Logic Optimization
More informationLecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps
EE210: Switching Systems Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps Prof. YingLi Tian Feb. 21/26, 2019 Department of Electrical Engineering The City College of New York
More informationLogic Minimization. Two-Level. University of California. Prof. Srinivas Devadas. Prof. Richard Newton Prof. Sanjit Seshia. Prof.
Two-Level Logic Minimization Prof. Srinivas Devadas MIT Prof. Kurt Keutzer Prof. Richard Newton Prof. Sanjit Seshia University of California Berkeley, CA 1 Topics Motivation Boolean functions & notation
More informationECE 3060 VLSI and Advanced Digital Design
ECE 3060 VLSI and Advanced Digital Design Lecture 12 Computer-Aided Heuristic Two-level Logic Minimization Computer-Aided Heuristic Twolevel Logic Minimization Heuristic logic minimization Principles Operators
More informationComputational Boolean Algebra. Pingqiang Zhou ShanghaiTech University
Computational Boolean Algebra Pingqiang Zhou ShanghaiTech University Announcements Written assignment #1 is out. Due: March 24 th, in class. Programming assignment #1 is out. Due: March 24 th, 11:59PM.
More informationLecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions
EE210: Switching Systems Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions Prof. YingLi Tian Feb. 15, 2018 Department of Electrical Engineering The City College of New York The
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Goal: To obtain the simplest implementation for a given function Optimization is a more formal
More informationOptimizations and Tradeoffs. Combinational Logic Optimization
Optimizations and Tradeoffs Combinational Logic Optimization Optimization & Tradeoffs Up to this point, we haven t really considered how to optimize our designs. Optimization is the process of transforming
More informationCHAPTER 5 KARNAUGH MAPS
CHAPTER 5 1/36 KARNAUGH MAPS This chapter in the book includes: Objectives Study Guide 5.1 Minimum Forms of Switching Functions 5.2 Two- and Three-Variable Karnaugh Maps 5.3 Four-Variable Karnaugh Maps
More informationAlebraic division: { Let f dividend = ac + ad + bc + bd + e and f divisor = a + b { Then f quotient = c + d f remainder = e { Because (a + b) (c + d)
ALGEBRAIC METHODS Outline cgiovanni De Micheli Stanford University Alebraic model. Division and substitution. Kernel theory. { Kernel and cube extraction. Decomposition. Boolean alebra: { Complement. Alebraic
More informationLogic Synthesis and Verification
Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 24 Two-Level Logic Minimization (/2) Reading: Logic Synthesis in a Nutshell
More informationKarnaugh Maps Objectives
Karnaugh Maps Objectives For Karnaugh Maps of up to 5 variables Plot a function from algebraic, minterm or maxterm form Obtain minimum Sum of Products and Product of Sums Understand the relationship between
More informationMidterm1 Review. Jan 24 Armita
Midterm1 Review Jan 24 Armita Outline Boolean Algebra Axioms closure, Identity elements, complements, commutativity, distributivity theorems Associativity, Duality, De Morgan, Consensus theorem Shannon
More informationPLA Minimization for Low Power VLSI Designs
PLA Minimization for Low Power VLSI Designs Sasan Iman, Massoud Pedram Department of Electrical Engineering - Systems University of Southern California Chi-ying Tsui Department of Electrical and Electronics
More informationLecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University
Lecture 6: Gate Level Minimization Syed M. Mahmud, Ph.D ECE Department Wayne State University Original Source: Aby K George, ECE Department, Wayne State University Contents The Map method Two variable
More informationThis form sometimes used in logic circuit, example:
Objectives: 1. Deriving of logical expression form truth tables. 2. Logical expression simplification methods: a. Algebraic manipulation. b. Karnaugh map (k-map). 1. Deriving of logical expression from
More informationSimplification of Boolean Functions. Dept. of CSE, IEM, Kolkata
Simplification of Boolean Functions Dept. of CSE, IEM, Kolkata 1 Simplification of Boolean Functions: An implementation of a Boolean Function requires the use of logic gates. A smaller number of gates,
More informationAdvanced Digital Design with the Verilog HDL, Second Edition Michael D. Ciletti Prentice Hall, Pearson Education, 2011
Problem 2-1 Recall that a minterm is a cube in which every variable appears. A Boolean expression in SOP form is canonical if every cube in the expression has a unique representation in which all of the
More informationDIGITAL ELECTRONICS & it0203 Semester 3
DIGITAL ELECTRONICS & it0203 Semester 3 P.Rajasekar & C.M.T.Karthigeyan Asst.Professor SRM University, Kattankulathur School of Computing, Department of IT 8/22/2011 1 Disclaimer The contents of the slides
More informationLecture 7: Karnaugh Map, Don t Cares
EE210: Switching Systems Lecture 7: Karnaugh Map, Don t Cares Prof. YingLi Tian Feb. 28, 2019 Department of Electrical Engineering The City College of New York The City University of New York (CUNY) 1
More information(a)
HEURISTIC TWO-LEVEL LOGIC OPTIMIZATION cflgiovanni De Micheli Stanford University Outline ffl Heuristic logic minimization. ffl Principles. ffl Operators on logic covers. ffl Espresso. Heuristic minimization
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate
More informationReview. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms
Review EECS 150 - Components and Design Techniques for Digital Systems Lec 06 Minimizing Boolean Logic 9/16-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley
More informationL6: Two-level minimization. Reading material
L6: Two-level minimization Reading material de Micheli pp. 269-343 p. 2 - Advanced Logic Design L6 - Elena Dubrova Formulation of the two-level minimization problem input: a Boolean function f(x,x 2,...,x
More informationCS/EE 181a 2010/11 Lecture 4
CS/EE 181a 21/11 Lecture 4 General topic of today s lecture: Logic Optimization Karnaugh maps. Quine-McCluskey tabulation method (not in detail). Non series-parallel networks (some care is required). Reference
More informationChapter 4 Optimized Implementation of Logic Functions
Chapter 4 Optimized Implementation of Logic Functions Logic Minimization Karnaugh Maps Systematic Approach for Logic Minimization Minimization of Incompletely Specified Functions Tabular Method for Minimization
More informationfor Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid
SE140: omponents and Design Techniques for Digital Systems Simplification of logic functions Tajana Simunic Rosing 1 What we covered thus far: Number representations Where we are now inary, Octal, Hex,
More informationENG2410 Digital Design Combinational Logic Circuits
ENG240 Digital Design Combinational Logic Circuits Fall 207 S. Areibi School of Engineering University of Guelph Binary variables Binary Logic Can be 0 or (T or F, low or high) Variables named with single
More informationIntroduction to Digital Logic Missouri S&T University CPE 2210 Karnaugh Maps
Introduction to Digital Logic Missouri S&T University CPE 2210 Karnaugh Maps Egemen K. Çetinkaya Egemen K. Çetinkaya Department of Electrical & Computer Engineering Missouri University of Science and Technology
More informationThe Karnaugh Map COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals
The Karnaugh Map COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Boolean Function Minimization The Karnaugh Map (K-Map) Two, Three,
More informationECE 697B (667) Spring 2003
ECE 697B (667) Spring 2003 Synthesis and Verification of Digital Systems Multi-level Minimization - Algebraic division Outline Division and factorization Definitions Algebraic vs Boolean Algebraic division
More informationChap 2. Combinational Logic Circuits
Overview 2 Chap 2. Combinational Logic Circuits Spring 24 Part Gate Circuits and Boolean Equations Binary Logic and Gates Boolean Algebra Standard Forms Part 2 Circuit Optimization Two-Level Optimization
More informationCHAPTER III BOOLEAN ALGEBRA
CHAPTER III- CHAPTER III CHAPTER III R.M. Dansereau; v.. CHAPTER III-2 BOOLEAN VALUES INTRODUCTION BOOLEAN VALUES Boolean algebra is a form of algebra that deals with single digit binary values and variables.
More informationGate-Level Minimization
Gate-Level Minimization Dr. Bassem A. Abdullah Computer and Systems Department Lectures Prepared by Dr.Mona Safar, Edited and Lectured by Dr.Bassem A. Abdullah Outline 1. The Map Method 2. Four-variable
More informationEECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive
EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational
More informationUNIT 4 MINTERM AND MAXTERM EXPANSIONS
UNIT 4 MINTERM AND MAXTERM EXPANSIONS Spring 2 Minterm and Maxterm Expansions 2 Contents Conversion of English sentences to Boolean equations Combinational logic design using a truth table Minterm and
More informationELC224C. Karnaugh Maps
KARNAUGH MAPS Function Simplification Algebraic Simplification Half Adder Introduction to K-maps How to use K-maps Converting to Minterms Form Prime Implicants and Essential Prime Implicants Example on
More informationReview for Test 1 : Ch1 5
Review for Test 1 : Ch1 5 October 5, 2006 Typeset by FoilTEX Positional Numbers 527.46 10 = (5 10 2 )+(2 10 1 )+(7 10 0 )+(4 10 1 )+(6 10 2 ) 527.46 8 = (5 8 2 ) + (2 8 1 ) + (7 8 0 ) + (4 8 1 ) + (6 8
More informationCHAPTER 3 BOOLEAN ALGEBRA
CHAPTER 3 BOOLEAN ALGEBRA (continued) This chapter in the book includes: Objectives Study Guide 3.1 Multiplying Out and Factoring Expressions 3.2 Exclusive-OR and Equivalence Operations 3.3 The Consensus
More informationL4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES
L4: Karnaugh diagrams, two-, and multi-level minimization Elena Dubrova KTH / ICT / ES dubrova@kth.se Combinatorial system a(t) not(a(t)) A combinatorial system has no memory - its output depends therefore
More informationCHAPTER III BOOLEAN ALGEBRA
CHAPTER III- CHAPTER III CHAPTER III R.M. Dansereau; v.. CHAPTER III-2 BOOLEAN VALUES INTRODUCTION BOOLEAN VALUES Boolean algebra is a form of algebra that deals with single digit binary values and variables.
More informationCHAPTER 7. Exercises 17/ / /2 2 0
CHAPTER 7 Exercises E7. (a) For the whole part, we have: Quotient Remainders 23/2 /2 5 5/2 2 2/2 0 /2 0 Reading the remainders in reverse order, we obtain: 23 0 = 0 2 For the fractional part we have 2
More informationDigital Circuit And Logic Design I. Lecture 4
Digital Circuit And Logic Design I Lecture 4 Outline Combinational Logic Design Principles (2) 1. Combinational-circuit minimization 2. Karnaugh maps 3. Quine-McCluskey procedure Panupong Sornkhom, 2005/2
More informationCS/EE 181a 2008/09 Lecture 4
CS/EE 181a 28/9 Lecture 4 General topic of today s lecture: Logic Optimization Karnaugh maps. Quine-McCluskey tabulation method (not in detail). Non series-parallel networks (some care is required). Reference
More information211: Computer Architecture Summer 2016
211: Computer Architecture Summer 2016 Liu Liu Topic: Storage Project3 Digital Logic - Storage: Recap - Review: cache hit rate - Project3 - Digital Logic: - truth table => SOP - simplification: Boolean
More informationKarnaugh Map & Boolean Expression Simplification
Karnaugh Map & Boolean Expression Simplification Mapping a Standard POS Expression For a Standard POS expression, a 0 is placed in the cell corresponding to the product term (maxterm) present in the expression.
More informationUnit 6. Quine-McClusky Method. Unit 6 1
Unit 6 Quine-McClusky Method Unit 6 1 Outline Determination of prime implicants The prime implicant chart Petrick s method Simplification of incompletely specified functions Unit 6 2 Overview (1/2) A systematic
More informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 2 Circuit Optimization Charles Kime & Thomas Kaminski 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active
More informationUnit 2 Session - 6 Combinational Logic Circuits
Objectives Unit 2 Session - 6 Combinational Logic Circuits Draw 3- variable and 4- variable Karnaugh maps and use them to simplify Boolean expressions Understand don t Care Conditions Use the Product-of-Sums
More informationTwo-level logic minimization: an overview
Two-level logic minimization: an overview Olivier Coudert DEC, Paris Research Laboratory, 85 Avenue Victor Hugo, 92500 Rueil Malmaison, France INTEGRATION, the VLSI journal, 17-2, pp. 97 140, October 1994.
More informationDigital Logic Design. Combinational Logic
Digital Logic Design Combinational Logic Minterms A product term is a term where literals are ANDed. Example: x y, xz, xyz, A minterm is a product term in which all variables appear exactly once, in normal
More informationE&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev
E&CE 223 Digital Circuits & Systems Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev 4 of 92 Section 2: Boolean Algebra & Logic Gates Major topics Boolean algebra NAND & NOR gates Boolean
More informationMinimization techniques
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NSIK - 4 Minimization techniques By Prof. nand N. Gharu ssistant Professor Computer Department Combinational Logic Circuits Introduction Standard representation
More informationSynthesis of 2-level Logic Exact and Heuristic Methods. Two Approaches
Synthesis of 2-level Logic Exact and Heuristic Methods Lecture 7: Branch & Bound Exact Two Approaches Find all primes Find a complete sum Find a minimum cover (covering problem) Heuristic Take an initial
More informationNumber System conversions
Number System conversions Number Systems The system used to count discrete units is called number system. There are four systems of arithmetic which are often used in digital electronics. Decimal Number
More informationECE 238L Boolean Algebra - Part I
ECE 238L Boolean Algebra - Part I August 29, 2008 Typeset by FoilTEX Understand basic Boolean Algebra Boolean Algebra Objectives Relate Boolean Algebra to Logic Networks Prove Laws using Truth Tables Understand
More informationStandard Expression Forms
ThisLecture will cover the following points: Canonical and Standard Forms MinTerms and MaxTerms Digital Logic Families 24 March 2010 Standard Expression Forms Two standard (canonical) expression forms
More informationE&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev. Section 2: Boolean Algebra & Logic Gates
Digital Circuits & Systems Lecture Transparencies (Boolean lgebra & Logic Gates) M. Sachdev 4 of 92 Section 2: Boolean lgebra & Logic Gates Major topics Boolean algebra NND & NOR gates Boolean algebra
More informationPrinciples of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents
B-1 Principles of Computer Architecture Miles Murdocca and Vincent Heuring Appendix B: Reduction of Digital Logic B-2 Chapter Contents B.1 Reduction of Combinational Logic and Sequential Logic B.2 Reduction
More informationCHAPTER 7. Solutions for Exercises
CHAPTER 7 Solutions for Exercises E7.1 (a) For the whole part we have: Quotient Remainders 23/2 11 1 11/2 5 1 5/2 2 1 2/2 1 0 1/2 0 1 Reading the remainders in reverse order we obtain: 23 10 = 10111 2
More informationLogic Design I (17.341) Fall Lecture Outline
Logic Design I (17.341) Fall 2011 Lecture Outline Class # 06 October 24, 2011 Dohn Bowden 1 Today s Lecture Administrative Main Logic Topic Homework 2 Course Admin 3 Administrative Admin for tonight Syllabus
More information14:332:231 DIGITAL LOGIC DESIGN
:: DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall Lecture #: Combinational Circuit Synthesis II hat if we have input variables? V = V = of Example with variables
More informationBoolean Algebra. Sungho Kang. Yonsei University
Boolean Algebra Sungho Kang Yonsei University Outline Set, Relations, and Functions Partial Orders Boolean Functions Don t Care Conditions Incomplete Specifications 2 Set Notation $09,3/#0,9 438 v V Element
More informationMC9211 Computer Organization
MC92 Computer Organization Unit : Digital Fundamentals Lesson2 : Boolean Algebra and Simplification (KSB) (MCA) (29-2/ODD) (29 - / A&B) Coverage Lesson2 Introduces the basic postulates of Boolean Algebra
More informationCh 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1
Ch 2. Combinational Logic II - Combinational Logic Contemporary Logic Design 1 Combinational logic Define The kind of digital system whose output behavior depends only on the current inputs memoryless:
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept
More informationComputer Organization I. Lecture 13: Design of Combinational Logic Circuits
Computer Organization I Lecture 13: Design of Combinational Logic Circuits Overview The optimization of multiple-level circuits Mapping Technology Verification Objectives To know how to optimize the multiple-level
More informationSimplifying Logic Circuits with Karnaugh Maps
Simplifying Logic Circuits with Karnaugh Maps The circuit at the top right is the logic equivalent of the Boolean expression: f = abc + abc + abc Now, as we have seen, this expression can be simplified
More informationChapter 3. Boolean Algebra. (continued)
Chapter 3. Boolean Algebra (continued) Algebraic structure consisting of: set of elements B binary operations {+, -} unary operation {'} Boolean Algebra such that the following axioms hold:. B contains
More informationCSE 140: Components and Design Techniques for Digital Systems
Lecture 4: Four Input K-Maps CSE 4: Components and Design Techniques for Digital Systems CK Cheng Dept. of Computer Science and Engineering University of California, San Diego Outlines Boolean Algebra
More informationLogic Simplification. Boolean Simplification Example. Applying Boolean Identities F = A B C + A B C + A BC + ABC. Karnaugh Maps 2/10/2009 COMP370 1
Digital Logic COMP370 Introduction to Computer Architecture Logic Simplification It is frequently possible to simplify a logical expression. This makes it easier to understand and requires fewer gates
More informationEEE130 Digital Electronics I Lecture #4
EEE130 Digital Electronics I Lecture #4 - Boolean Algebra and Logic Simplification - By Dr. Shahrel A. Suandi Topics to be discussed 4-1 Boolean Operations and Expressions 4-2 Laws and Rules of Boolean
More informationUNIT 3 BOOLEAN ALGEBRA (CONT D)
UNIT 3 BOOLEAN ALGEBRA (CONT D) Spring 2011 Boolean Algebra (cont d) 2 Contents Multiplying out and factoring expressions Exclusive-OR and Exclusive-NOR operations The consensus theorem Summary of algebraic
More informationContents. Chapter 3 Combinational Circuits Page 1 of 36
Chapter 3 Combinational Circuits Page of 36 Contents Combinational Circuits...2 3. Analysis of Combinational Circuits...3 3.. Using a Truth Table...3 3..2 Using a Boolean Function...6 3.2 Synthesis of
More informationCPE100: Digital Logic Design I
Chapter 2 Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu http://www.ee.unlv.edu/~b1morris/cpe100/ CPE100: Digital Logic Design I Section 1004: Dr. Morris Combinational Logic Design Chapter
More informationChapter 7 Logic Circuits
Chapter 7 Logic Circuits Goal. Advantages of digital technology compared to analog technology. 2. Terminology of Digital Circuits. 3. Convert Numbers between Decimal, Binary and Other forms. 5. Binary
More informationReduction of Logic Equations using Karnaugh Maps
Reduction of Logic Equations using Karnaugh Maps The design of the voting machine resulted in a final logic equation that was: z = (a*c) + (a*c) + (a*b) + (a*b*c) However, a simple examination of this
More informationSignals and Systems Digital Logic System
Signals and Systems Digital Logic System Prof. Wonhee Kim Chapter 2 Design Process for Combinational Systems Step 1: Represent each of the inputs and outputs in binary Step 1.5: If necessary, break the
More informationESE535: Electronic Design Automation. Today. Problem. EDA Use PLA. Programmable Array Logic (PLAs) Two-Level Logic Optimization
ESE535: Electronic Design Automation Today Day 4: February 25, 2009 Two-Level Logic-Synthesis Two-Level Logic Optimization Problem Definitions Basic Algorithm: Quine-McClusky Improvements 1 2 Problem EDA
More informationLogical Design of Digital Systems
Lecture 4 Table of Content 1. Combinational circuit design 2. Elementary combinatorial circuits for data transmission 3. Memory structures 4. Programmable logic devices 5. Algorithmic minimization approaches
More informationWeek-I. Combinational Logic & Circuits
Week-I Combinational Logic & Circuits Overview Binary logic operations and gates Switching algebra Algebraic Minimization Standard forms Karnaugh Map Minimization Other logic operators IC families and
More informationCOM111 Introduction to Computer Engineering (Fall ) NOTES 6 -- page 1 of 12
COM111 Introduction to Computer Engineering (Fall 2006-2007) NOTES 6 -- page 1 of 12 Karnaugh Maps In this lecture, we will discuss Karnaugh maps (K-maps) more formally than last time and discuss a more
More informationChapter 2 Combinational logic
Chapter 2 Combinational logic Chapter 2 is very easy. I presume you already took discrete mathemtics. The major part of chapter 2 is boolean algebra. II - Combinational Logic Copyright 24, Gaetano Borriello
More informationKarnaugh Maps ف ر آ ا د : ا ا ب ا م آ ه ا ن ر ا
Karnaugh Maps مخطط آارنوف اعداد:محمد اسماعيل آلية علوم الحاسوب جامعة امدرمان الاهلية الاهداء الي آل من يسلك طريق العلم والمعرفة في هذا المجال Venn Diagrams Venn diagram to represent the space of minterms.
More informationLecture 4: Four Input K-Maps
Lecture 4: Four Input K-Maps CSE 4: Components and Design Techniques for Digital Systems Fall 24 CK Cheng Dept. of Computer Science and Engineering University of California, San Diego Outlines Boolean
More informationIrredundant Sum-of-Products Expressions - J. T. Butler
On the minimization of SOP s for Bi-Decomposable Functions T. Sasao* & J. T. Butler *Kyushu Institute of Technology, Iizuka, JAPAN Naval Postgraduate School Monterey, CA -5 U.S.A. Outline Introduction
More informationConfigurational Analysis beyond the Quine-McCluskeyMilan, algorithm 8 February / 29
Configurational Analysis beyond the Quine-McCluskey algorithm Adrian Dușa University of Bucharest Milan, 8 February 2018 Configurational Analysis beyond the Quine-McCluskeyMilan, algorithm 8 February 2018
More informationCombinational Logic. Review of Combinational Logic 1
Combinational Logic! Switches -> Boolean algebra! Representation of Boolean functions! Logic circuit elements - logic gates! Regular logic structures! Timing behavior of combinational logic! HDLs and combinational
More informationInadmissible Class of Boolean Functions under Stuck-at Faults
Inadmissible Class of Boolean Functions under Stuck-at Faults Debesh K. Das 1, Debabani Chowdhury 1, Bhargab B. Bhattacharya 2, Tsutomu Sasao 3 1 Computer Sc. & Engg. Dept., Jadavpur University, Kolkata
More informationAnand Raghunathan MSEE 348
ECE 595Z: Digital VLSI Design Automation, Spring 2012 2012 Anand Raghunathan 1 ECE 595Z Digital Systems Design Automation Module 2 (Lectures 3-5) : Advanced Boolean Algebra Lecture 5 Anand Raghunathan
More informationELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
ELE 2200-002 Digital Logic ircuits Fall 204 Logic Minimization (hapter 3) Vishwani D. grawal James J. Danaher Professor Department of Electrical and omputer Engineering uburn University, uburn, L 36849
More informationCombinational Logic Fundamentals
Topic 3: Combinational Logic Fundamentals In this note we will study combinational logic, which is the part of digital logic that uses Boolean algebra. All the concepts presented in combinational logic
More informationREPRESENTATION AND MINIMIZATION OF BOOLEAN FUNCTIONS. Part II Minimization of Boolean Functions.
Bulletin of the Marathwada Mathematical Society Vol.5, No.1, June 2004, Pages 35-44 REPRESENTATION AND MINIMIZATION OF BOOLEAN FUNCTIONS. Part II Minimization of Boolean Functions. S.R. Joshi 3, Accharya
More informationLarge-Scale SOP Minimization Using Decomposition and Functional Properties
10.2 Large-Scale SOP Minimization Using Decomposition and Functional Properties Alan Mishchenko Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA
More informationClass Website:
ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #5 Instructor: Andrew B. Kahng (lecture) Email: abk@ece.ucsd.edu Telephone: 858-822-4884 office, 858-353-0550 cell Office:
More informationCSE140: Components and Design Techniques for Digital Systems. Logic minimization algorithm summary. Instructor: Mohsen Imani UC San Diego
CSE4: Components and Design Techniques for Digital Systems Logic minimization algorithm summary Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing & Dr.Pietro Mercati Definition
More information