Digital Logic Circuits - Switching Algebra - Combinational Circuits -
|
|
- Melvin Anderson
- 5 years ago
- Views:
Transcription
1 Digital Logic Circuits - Switching Algebra - Combinational Circuits - Dr. Voicu Groza SITE Hall, Room ext. 259 Groza@EECS.uOttawa.ca Outline Logic Functions Boolean Algebra Logic Functions Minimization Logic Gates Combinational Circuits Sequential Circuits Specification Analysis Design 2
2 Digital Hardware Systems Digital vs. analog waveforms V +5 T ime +5 V T ime Digital: only assumes discrete values Analog: values vary over a broad range continuously x x x 2 x 3 Logic Circuit Logic Inverter x UA 2 z = x 744 z Logic function z i = F i (x,x,x 2, ) z i {,}, i =,,2, m, x k {,}, k =,,2, n where F i = logic functions ; x k = input variables; z i = output variables where Logic = FALSE and Logic = TRUE Logic function F Block diagram can be represented by logic (Boolean) expressions, truth tables, K-maps, logic diagrams of the logic circuits that implement these functions. z x z x V Hi +5V = TRUE = Logic V Lo V = FALSE = Logic z (Ideal) time diagram t [ns] t [ns] 4 2
3 Implementation of Digital Design Switches Normally Open Normally Closed A switch connects two points under control signal. when the control signal is (false), the switch is open when the control signal is (true), the switch is closed; T rue T rue Control Closed Switch Control Open Switch Normally Open Switch False Normally Closed Switch False Open Switch Closed Switch Switches EXAMPLE: IF car in garage AND garage door open AND car running THEN back out car EXAMPLE: IF car in driveway OR (car in garage AND NOT garage door closed) AND car running THEN can back out car routing inputs to outputs through a maze T rue True Car in garage Garage door open Garage door closed True Car in garage Car in driveway Car running Car running Car can back out Car can back out Floating nodes: what happens if the car is not running? outputs are floating rather than forced to be false Under all possible control signal settings () all outputs must be connected to some input through a path (2) no output is connected to more than one input through any path 3
4 The Real World Physical electronic components are continuous, not discrete! These are the building blocks of all digital components! Transition from logic to logic does not take place instantaneously in real digital systems Intermediate values may be visible for an instant Boolean algebra useful for describing the steady state behavior of digital systems Be aware of the dynamic, time varying behavior too! V +5 Logic Logic Time Clock Pulse Definition IEEE Std IEEE Standard for Transitions, Pulses, and Related Waveforms, IEEE Instrumentation and Measurement Society negative-going transition: terminating state is more negative than its originating state. positive-going transition: terminating state is more positive than its originating state. transition duration: the difference between the two reference level instants of the same transition. Unless otherwise specified, they are the % and 9% of the reference levels. NOTE: The following terms are depreciated: risetime (rise time), falltime (fall time), leading edge, rising edge, trailing edge, falling edge, and transition. 9% % 4
5 Approximations of Real Time-Diagrams Logic Inverter x UA z = x x z z Propagation Delay Rise / Fall Time x V Hi +5V = TRUE = Logic V Lo V = FALSE = Logic z % 9% 5% % x z t d propagation delay t d t r t f delay rise time fall time t [ns] t [ns] t [ns] t [ns] 9 BOOLEAN ALGEBRA over {, } {B, =, +,,,, }, where: B = set with at least 2 distinct elements;, = 2 constants B Binary operations: + logical OR logical AND Unary operation: logical NOT = equivalence relationship, with usual properties: reflexivity: ( x B) (x = x) symmetry: ( x, y B) (x = y y = x) transitivity: ( x, y, z B) (x = y and y = z x = z) Parentheses are allowed 5
6 BOOLEAN ALGEBRA AXIOMS B={,} OR AND Closure: a, b B a + b B a b B Identical element: a B a + = + a = a [] a = a = a [2] Commutativity: a, b B a + b = b + a [9] a b = b a [] Distributivity: a, b, c B a+(b c) = (a+b) (a+c) [4] a (b + c) = a b + a c [3] Complementarity: a B, a a+a = [7] and a a = [8] Associativity: a, b, c B (a + b) + c = a + (b + c) [] (a b) c = a (b c) [2] NOTE: equation numbers, e.g. [], are from the textbook BOOLEAN ALGEBRA Fundamental Theorems IdempotencyTheorem a a + a = a Theorem b a a = a Null Theorem 2a a + = Theorem 2b a = Absorption Theorem 6a a + a b = a Theorem 6b a (a + b) = a Theorem 7a a +a b = a + b Theorem 7b a (a + b) = a b Uniting Theorem 8a a b + a b = a Theorem 8b (a + b)(a +b) = a Consensus: 3. (a b) + (b c) + (a' c) = 3D. (a + b) (b + c) (a' + c) = a b + a' c = (a + b) (a' + c) Factoring: 2. (a + b) (a' + c) = 2D. a b + a' c = a c + a' b (a + c) (a' + b) Theorem 3 a = a De Morgan s Theorems: Theorem 5a Theorem 5b Theorem 5a Theorem 5b a + b = a b a b = a +b a+a2+...+an = a a2... an a a2.. ak = a+ a ak 2 6
7 Proving Theorems (Perfect Induction). X =. X = X X. X = X X. X = AND rules X. Y = Y. X X. (Y. Z) = (X. Y). Z X. (Y + Z) = X. Y + X. Z X. Y = X + Y Proof : X. (Y+Z) = X. Y+X. Z X Y Z X. (Y+Z) X. Y+X. Z Proving Theorems (Perfect Induction) continued Proof : + X = X + X = X + X = X X + X = X = X OR rules X + Y = Y + X X + (Y + Z) = (X +Y) +Z X + Y. Z = (X + Y). (X +Z) X + Y = X. Y X Y Z X + Y. Z (X+Y). (X+Z) 7
8 a b a b a b a b X. Y = X + Y X + Y = X. Y DeMorgan s Theorems X Y X. Y X + Y X + Y X. Y These equations can be generalized x x 2 x n x x 2 x n x x 2 x n x x 2 x n DeMorgan s Theorem Equivalent Gate Symbols A. B = A + B A B A. B = A B A+B A + B = A. B A B A+B = A B A. B 8
9 BOOLEAN ALGEBRA over Boolean Vectors B n = {(a, a 2,, a n ) a i {,}} Let a=(a, a 2,, a n ) and b = (b, b 2,, b n ) B n define a b = (a b, a 2 b 2,, a n b n ) a b = (a b, a 2 b 2,, a n b n ) a=( a, a 2,, a n ) then B n,,,,, is a Boolean algebra, where, = (,,, ) and = (,,, ) 8 All Logic Functions of Two Variables 6 possible functions of 2 input variables: 2**(2**n) = 2 2 n functions of n inputs x y F x y F F F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F F F 2 F 3 F 4 F 5 X Y 6 possible functions (F F5) X and Y X Y X xor Y X or Y X = Y X nor Y not (X or Y) not Y not X X nand Y not (X and Y) 9
10 Digital Logic Gates 2 Inverter = circuit that implements logical negation (NOT) V Out V HI +5V = TRUE = Logic V LO V = FALSE = Logic Logic Input Voltage Logic Input Voltage +5 V In Logic at input logic at output Logic at input logic at output In Out Inverter behavior as a function of input voltage V In As input increases from V to 5V output holds at 5V for some range of small input voltages then changes rapidly, but not instantaneously!
11 CMOS NOR Gate F MOS transistor simplified models: Gate D G S Control Drain Source Normally Open Switch NMOS V GS >V th T rue V GS >V th T rue S Source Gate G D Drain Closed Switch V GS <V th False Open Switch Control Normally Closed Switch PMOS Open Switch V GS <V th False Closed Switch A B Hi = V dd Lo = V A B Q Q 2 Q 3 Q 4 F PMOS PMOS NMOS NMOS Lo Lo ON ON OFF OFF Hi Lo Hi ON OFF OFF ON Lo Hi Lo OFF ON ON OFF Lo Hi Hi OFF OFF ON ON Lo Hi = Lo = A B F on on off off on F=Hi off F=Lo on F=Lo off F=Lo A=Lo B=Lo off off A=Lo B=Hi off on A=Hi B=Lo on off A=Hi B=Hi on on 22 Minterms = one product term functions ABC m = ABC m = ABC m 2 = ABC m 3 = ABC m 4 = ABC m 5 = ABC m 6 = ABC m 7 = ABC 23
12 Canonical Forms Truth table is the unique signature of a Boolean function Many alternative gate realizations may have the same truth table Canonical forms Standard forms for a Boolean expression Provides a unique algebraic signature Sum-of-Products Canonical Forms Also known as disjunctive normal form Also known as minterm expansion F = F = A'B'C+ A'BC+ AB'C + ABC' + ABC A B C F F' F' = A'B'C' + A'BC' + AB'C' 2
13 Sum-of-Products Canonical Form (cont d) Product term (or minterm) ANDed product of literals input combination for which output is true Each variable appears exactly once, in true or inverted form (but not both!) F in canonical form: F(A,B,C) = Σm(,3,5,6,7) = m +m 3 +m 5 +m 6 +m 7 = A'B'C + A'BC + AB'C + ABC' + ABC A B C minterms A'B'C' m A'B'C m A'BC' m 2 A'BC m 3 AB'C' m 4 AB'C m 5 ABC' m 6 ABC m 7 canonical form minimal form F(A, B, C) = A'B'C + A'BC + AB'C + ABC + ABC' = (A'B' + A'B + AB' + AB)C + ABC' = ((A' + A)(B' + B))C + ABC' = C + ABC = ABC' + C = ABC' + C ( + ABC) = = ABC' + C + ABC = = AB(C' + C) + C = = AB + C = AB + C Product-of-Sums Canonical Form Product of Sums / Conjunctive Normal Form / Maxterm Expansion Maxterm: A B C Maxterms ORed sum of literals in which each A + B + C = M variable appears exactly once in either A + B + C = M A + B + C = M true or complemented form, but not both! 2 A + B + C = M Maxterm form: 3 A + B + C = M 4 Find truth table rows where F is A + B + C = M 5 in input column implies true literal A + B + C = M 6 in input column implies A + B + C = M 7 complemented literal Maxterm Shorthand Notation for a Function of Three Variables F(A,B,C) = M(,,2) = (A + B + C) (A + B + C') (A + B' + C) F (A,B,C) = M(3,4,5,6,7) = (A + B' + C') (A' + B + C) (A' + B + C') (A' + B' + C) (A' + B' + C') 3
14 Four Alternative Two-level Implementations of F = AB + C A B C F F2 canonical sum-of-products minimized sum-of-products F3 canonical product-of-sums F4 minimized product-of-sums Waveforms for the Four Alternatives Waveforms are essentially identical Except for timing hazards (glitches) Delays almost identical (modeled as a delay per level, not type of gate or number of inputs to gate) B A C F F2 F3 F4 4
15 A B C Logic functions representation using Canonical form Canonical Sum of Products (SoP): F = ABC + ABC + ABC + ABC Sum of minterms: F = Σ (m 2, m 3, m 5, m 7 ) F m i, K 2, 3, 5, 7 ; F = Σ (2, 3, 5, 7) i K A. B. C A B C A B C A. B. C A. B. C A. B. C F minterm A B C F (m ) (m ) (m 2 ) (m 3 ) (m 4 ) (m 5 ) (m 6 ) (m 7 ) Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants (PI) Quine-Mc Cluskey Iterated Consensus 2. Finding the minimum cover from the PI s list PI table Petrick s Method Algebraic expressions evaluation 33 5
16 Which Realization is Best? Reduce number of inputs Literal: input variable (complemented or not) can approximate cost of logic gate as 2 transistors per literal Fewer literals means less transistors smaller circuits Fewer inputs implies faster gates gates are smaller and thus also faster Fan-ins (# of gate inputs driven by one output) are limited in some technologies Reduce number of gates Fewer gates (and the packages they come in) means smaller circuits directly influences manufacturing costs Which is the Best Realization? (cont d) Reduce number of levels of gates Fewer level of gates reduced signal propagation delays Minimum delay configuration typically requires more gates wider, less deep circuits How to explore tradeoffs between increased circuit delay and size? Automated tools to generate different solutions Logic minimization: reduce number of gates and complexity Logic optimization: reduction while trading off against delay 6
17 Simplifying logic functions using Boolean algebra rules F = ABC + ABC + ABC + ABC A B C F = (ABC + ABC) + (ABC + ABC) F = A(BC + BC) + A ( BC + BC) F = AB( C + C) + AC ( B + B) A. B A. C F F = AB + AC A A Simple Example -bit binary adder Inputs: A, B, Carry-in Outputs: Sum, Carry-out A B Cin S Cout A B Cin S Cout S = A' B' Cin + A' B Cin' + A B' Cin' + A B Cin Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin 7
18 Boolean Theorems to Simplify Expressions Theorems of Boolean Algebra can simplify Boolean expressions e.g., full adder's carry-out function (same rules apply to any function) Cout = A' B Cin + A B' Cin + A B Cin' + A B Cin = A' B Cin + A B' Cin + A B Cin' + A B Cin + A B Cin = A' B Cin + A B Cin + A B' Cin + A B Cin' + A B Cin = (A' + A) B Cin + A B' Cin + A B Cin' + A B Cin = () B Cin + A B' Cin + A B Cin' + A B Cin = B Cin + A B' Cin + A B Cin' + A B Cin + A B Cin = B Cin + A B' Cin + A B Cin + A B Cin' + A B Cin = B Cin + A (B' + B) Cin + A B Cin' + A B Cin = B Cin + A () Cin + A B Cin' + A B Cin = B Cin + A Cin + A B (Cin' + Cin) = B Cin + A Cin + A B () = B Cin + A Cin + A B A B Cin S Cout Are All Realizations Equivalent? Under the same inputs, the alternative implementations have almost the same waveform behavior Delays are different Glitches (hazards) may arise Variations due to differences in number of gate levels and structure Three implementations are functionally equivalent CS 5 - Fall 25 Lec #2: Combinational Logic
19 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karnaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey Iterated Consensus 2. Finding the minimum cover from the PI s list PI table Petrick s Method Algebraic expressions evaluation 4 The Uniting Theorem Key tool for simplification: A (B' + B) = A Essence of simplification: Find two element subsets of the ON-set where only one variable changes its value this single varying variable can be eliminated and a single product term used to represent both elements A B F F = A'B'+AB' = (A'+A)B' = B' B has the same value in both on-set rows => B remains A has a different value in the two rows => A is eliminated 9
20 Boolean Cubes Visual technique for identifying when the uniting theorem can be applied n input variables = n-dimensional "cube" -cube X Y X 2-cube 3-cube Y Z X Y Z W X 4-cube Mapping Truth Tables onto Boolean Cubes Uniting theorem combines two "faces" of a cube into a larger "face" Example: A B F B F A two faces of size (nodes) combine into a face of size (line) ON-set = solid nodes OFF-set = empty nodes DC-set = 'd nodes A varies within face, B does not this face represents the literal B' 2
21 Three Variable Example Binary full-adder carry-out logic A B Cin Cout B C (A'+A)BCin A Cout = BCin+AB+ACin AB(Cin'+Cin) A(B+B')Cin the on-set is completely covered by the combination (OR) of the subcubes of lower dimensionality - note that is covered three times Higher Dimensional Cubes Sub-cubes of higher dimension than 2 F(A,B,C) = m(4,5,6,7) B C A on-set forms a square i.e., a cube of dimension 2 represents an expression in one variable i.e., 3 dimensions 2 dimensions A is asserted (true) and unchanged B and C vary This subcube represents the literal A 2
22 m-dimensional Cubes in an n-dimensional Boolean Space In a 3-cube (three variables): -cube, i.e., a single node, yields a term in 3 literals -cube, i.e., a line of two nodes, yields a term in 2 literals 2-cube, i.e., a plane of four nodes, yields a term in literal 3-cube, i.e., a cube of eight nodes, yields a constant term "" In general, m-subcube within an n-cube (m < n) yields a term with n m literals Logic functions Representation Using Karnaugh Maps Karnaugh map => graphical representation A B C F of a truth table of a logic function. Each line in the truth table corresponds B C ( )... to a square in the Karnaugh map. ( )... A ( 2 )... The Karnaugh map squares are labeled so that horizontally or vertically adjacent squares differ only in ( 3 )... one variable. (Each square in the top row is ( 4 )... considered to be adjacent to a corresponding square ( 5 )... in the bottom row. Each square in the left most ( 6 )... column is considered to be adjacent to a corresponding square in the right most column.) ( 7 )... Recommended for functions represented by sum of minterms logic expressions A BC A B C B A BC C 22
23 Three- Variable Map: Flat and on a Cylinder to Show Adjacent Squares 48 Karnaugh Map Examples F = Cout = Σm(3,5,6,7) B A B f(a,b,c) = Σm(,2,6,7) C AB A 3 2 AB + ACin+ BCin Cin B A C B AC + B C + AB 23
24 More Karnaugh Map Examples A C B G(A,B,C) = A A C B F(A,B,C) = m(,4,5,7) = AC + B C C A B F' simply replaces 's with 's and vice versa F'(A,B,C) = m(,2,3,6) = BC + A C 4 variable logic functions representation on Karnaugh maps A B C D F ( )... ( )... ( 2 )... ( 3 )... ( 4 )... ( 5 )... ( 6 )... ( 7 ) ( 8 ) ( 9 ) ( ) ( ) ( 2 ) ( 3 ) ( 4 ) ( 5 )... C AB CD A B 8 9 D Recommend for functions represented by sum of minterms logic expressions AB CD C A D B 24
25 Karnaugh Map: 4-Variable Example F(A,B,C,D) = Σm(,2,3,5,6,7,8,,,4,5) F =C + A BD+B D A C B D C D A B find the smallest number of the largest possible subcubes to cover the ON-set (fewer terms with fewer inputs per term) Four-Variable Map: Flat and on a Torus to Show Adjacencies 53 25
26 5 variable logic functions representation on K-maps 3 2 a = a = d e a b c The K-map is obtained from the two parallel adjacent squares by sliding the blue square d e a b c The K-map is obtained from the two parallel adjacent squares by rotating the green square. a b c d e Y () () (2) (3) (4) (5) (6) (7) (8) (9) () () (2) (3) (4) (5) (6) (7) (8) (9) (2) (2) (22) (23) (24) (25) (26) (27) (28) (29) (3) (3) 54 c = c = cd e a b cd e a b variable logic functions representation on K-maps The 2 K-maps are obtained from the 2 parallel adjacent squares by translation of the blue square or rotation of the green square. de 3 2 c = de ab c = a b c d e Y () () (2) (3) (4) (5) (6) (7) (8) (9) () () (2) (3) (4) (5) (6) (7) (8) (9) (2) (2) (22) (23) (24) (25) (26) (27) (28) (29) (3) (3) adjacent cells 55 26
27 def abc def abc def abc def abc {,4,8,32,36} = adjacent cells 6 variable logic functions representation on K-maps def abc def a b c def a b c def abc variable logic functions representation on K-maps def abc def abc
28 B F 2,3,5, 7 C A A B C A B B A A B C B C A B C C A B C A C B A C 3 2 * A B A * B C C Implicants F Given a logic function z = f(x, x, x 2, ) Implicant = product term that, if equal to, implies f = whenever the implicant is => f = f can be other times, as well: may be implied by other implicants, other than the at hand from the K-map point of view, an implicant is a rectangle of, 2, 4, 8, (any power of 2) s Prime Implicant = the largest possible k-cube for which f = = cannot be totally covered by another implicant (e.g., AC, BC, A B) Each which is covered only by a single prime implicant is marked with a star (*) Essential Prime Implicant = a prime implicant that contains at least one * A minimum cover of a logic function has to contain all its essential prime implicants 58 Simplifying logic functions using Karnaugh maps looping The logic function can be simplified by replacing canonical terms with a minimum cover of prime implicants, obtained by properly combining squares (looping) of the Karnaugh maps which contain s. Looping a pair of adjacent s eliminates the variable that appears in both direct and complemented form. PI: AC, BC, A B A B C EPI: AC, A B Redundant Implicant: BC 2 3 A B C F F 2, 3, 5, 7 AC AB A BC B 3 * 2 A B 3 2 * A B 4 * B C A * B C AC A C C ( ) ( ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) 28
29 Simplifying logic functions using Karnaugh maps more looping F, 2, 5, 6, 7, 8,, 34,, 5 ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD A B C D F Looping a quad of adjacent s eliminates the two variables () that appears in both direct and complemented form. () (2) CD EPI* Secondary (3) PI (4) AB 3 2 (5) * B D (6) BC (7) * (8) * (9) 8 9 () BD CD * () (2) (3) (4) (5) F = BD + BD + CD or BC SoP & PoS implementation Remember DeMorgan s Theorem x. y. z = x + y + z x + y + z = x. y. z 6 29
30 TWO-LEVEL NAND gate implementation of the Sum-of-Product logic functions F = A B + A C = A B + A C = (A B) (A C) A B C X = ( X ) NAND gates are faster than ANDs and ORs in most technologies A B C F A F A A Incompletely Specified Functions Example: binary coded decimal increment by BCD digits encode decimal digits 9 in bit patterns A B C D W X Y Z X X X X X X X X X X X X X X X X X X X X X X X X off-set of W on-set of W don't care (DC) set of W these inputs patterns should never be encountered in practice "don't care" about associated output values, can be exploited in minimization 3
31 Notation for Incompletely Specified Functions Don't cares and canonical forms So far, only represented on-set Also represent don't-care-set Need two of the three sets (on-set, off-set, dc-set) Canonical representations of a function: Z = m + m2 + m4 + m6 + m8 + d + d + d2 + d3 + d4 + d5 Z = Σ[ m(,2,4,6,8) + d(,,2,3,4,5) ] Z = M M3 M5 M7 M9 D D D2 D3 D4 D5 Z = Π[ M(,3,5,7,9) D(,,2,3,4,5) ] F Incompletely Specified Logic Functions,, 3, 7, 8, 2 dc( 5,, 3, 4) A B C D F () () (2) (3) (4) (5) x (6) (7) (8) (9) () x () (2) (3) x (4) x (5) AB dc -> x = don t care terms by using don't care as a " a 2-cube can be formed rather than a -cube to cover this node CD F = AD + AD * x * * x x 8 9 x ABC or BCD EPI* AD AD Secondary PI ABC BC D don't cares can be treated as s or s depending on which is more advantageous 65 3
32 Realizations of Incompletely Specified Logic Functions A B C D F F F F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F F F 2 F 3 F 4 F 5 () () (2) (3) (4) (5) x (6) (7) (8) (9) () x () (2) (3) x (4) x (5) A B C A D D B C A D AB CD 3 2 * x * * x x 8 9 x F 3 = AD + AD + F 3 = A D + ABC or BCD ABC or BCD 66 Realizations of Incompletely Specified Logic Functions A B C D F F F F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F F F 2 F 3 F 4 F 5 () () (2) (3) (4) (5) x (6) (7) (8) (9) () x () (2) (3) x (4) x (5) A B C A D D B C A D AB CD 3 2 * x * * x x 8 9 x F 3 = AD + AD + F 3 = A D + ABC or BCD ABC or BCD 67 32
33 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey Iterated Consensus 2. Finding the minimum cover from the PI s list PI table Petrick s Method Algebraic expressions evaluation 68 Terminology Review Literal A variable in a product term, complemented or not Implicant A product term which makes the function Prime Implicant An implicant that cannot be combined with another implicant with a smaller number of literals It is impossible to eliminate a literal in a prime implicant without eliminating the implicant Essential Prime Implicant A prime implicant which contains a minterm (marked with *) that cannot be included/covered by another implicant Cover A collection of implicants that contains all of the outputs Cost The total number of inputs for all logic gates 33
34 Tabular Minimization Method Karnaugh maps can be used to minimize functions up to 5 variables, but not more! Also, the K-map method cannot be easily implemented on a digital computer We have to use other methods to simplify our equations and minimize our circuits An algorithm, called the Quine-McCluskey method, is more efficient for functions with a large number of variables There exists other methods that are more suitable for CAD software, however this tabular method is quite simple and efficient. Function Minimization (K-map) Minimize f(x,, x 4 ) = Σm(, 4, 8,,, 2, 3, 5) f = x 3 x 4 + x x 2 x 3 + x x 3 x 4 + x x 2 x 3 OR? f = x 3 x 4 + x x 2 x 4 + x x 2 x 3 34
35 Cubic Representation 4-dimensional cube f(x,, x 4 ) = Σm(, 2, 3, 6, 7, 8,, 5) f = {,,,,,,, } = {x, x, x, x, x} = {xx, xx, x} f = x 2 x 4 + x x 3 +x 2 x 3 x 4 Quine-McCluskey Minimization Technique Two step process :. Identify ALL prime implicants (implicant tables) 2. Identify minimal cover (cover tables) Quine theorem Minimum of a logic function is covered only by primeimplicants A product term T covers a product term T 2 (T > T 2 ) if T 2 contains each and every variable of T in the same format (complemented or not) e.g.: xy > xy z 73 35
36 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey (QMC) Iterated Consensus 2. Finding the minimum cover from the PI s list Prime Implicants table (PI-T) Petrick s Method Algebraic expressions evaluation 74 Notations used in Quine McCluskey Minterms are initially listed one per line in groups Each group contains terms with the same number of true and complemented variables Terms are listed in numerical order within group * Algebraic (full variable) form - variables and complements in algebraic form * Cellular form - terms are identified by their decimal index value Implicants are identified by term #s, separated by commas; * Binary form (,,-) - terms are identified by their binary index value F(a, b, c, d) = m(4,5,6,8,,3) = a bc d +a bc d+a bcd +ab c d +ab cd +abc d Algebraic Cellular Binary Group decimal index val. abcd abcd 4 abcd 8 2 abcd 5 abcd 6 abcd 3 abcd 3 36
37 Introduction to the Method () Two vertices of a cube are adjacent if they only differ in value by one coordinate A k-cube is a cube with 2 k adjacent vertices A vertex is a -cube A side is a -cube A face is a 2-cube A cube of 3-dim is a 3-cube Given the specifications of a function f in minterms for which f = (on-set), we can compare the vertices in pairs to obtain the larger cubes We treat the don t cares as minterms We can try to combine these cubes into larger cubes in order to find our prime implicants Introduction to the Method (2) The base of the method is the following property from Boolean algebra + = We have used this property in our previous minimizations For example, the cubes and only differ in variable x 4, hence they can be combined into a new cube: x Also, and can be combined into x Finally, x andx can be combined into xx Hence, the minimized function is: f = 2 (or x x 2 ) Let us try to apply the method before formalizing it 37
38 Application of the Method (QMC a) (Completely Specified Functions) Minimize f(x, x 4 ) = Σm(, 4, 8,,, 2, 3, 5) Firstly, let us place the minterms in groups based on the number of s in their binary notation; e.g. contains three s, however, contains two s Secondly, let us compare the minterms of one group with the minterms of the following group (since they are adjacent); doesn t make sense to go further to the next group since 2 bits would be different which contradicts the Uniting Theorem! Thirdly, let us form the -cubes, 2-cubes and 3-cubes necessary for the minimization of the function List List 2 List 3 Group minterm a b c d Group minterm a b c d Group minterm a b c d,4 X,4,8,2 X X 4,8 X 8 8, X 2 4,2 X 2 8,2 X 3 2, X 3 2,3 X 4 5 3,5 X 3,5 X Binary QMC Representation Application of the Method (QMC b) Fourthly, let us place a check mark near every k-cube which is included in a k+-cube; that k-cube is not a PI since it is covered by a bigger k+-cube Our prime implicants (PI s) are all cubes without check marks on their sides Hence, in our example, the set of prime implicants is PI = {x, x, x, x, x, xx} = {p, p 2, p 3, p 4, p 5, p 6 } List List 2 List 3 Group minterm a b c d Group minterm a b c d Group minterm a b c d,4 X,4,8,2 X X p 6 4,8 X 8 8, X p 2 4,2 X 2 8,2 X 3 2, X p 2 3 2,3 X p ,5 X p 4 3,5 X p 5 Binary QMC Representation 38
39 Application of the Method (PI-T 2a) Fifthly, pick the lowest cost cover The cost, in this case, is the number of literals in the prime implicants chosen to implement the function We build a prime implicant cover table The rows are made up of a prime implicant (PI) and the columns are made up of minterms that are covered Each column that contains a single check mark is only covered by that PI, and we call the latter an essential prime implicant (EPI) All EPIs have to be included in the final cover! Hence, we eliminate all EPI rows, and the columns that they cover, as a first step in reducing the cover table In our case, we eliminate PI row p 6 and the minterm columns, 4, 8 and2 Application of the Method (PI-T 2b) For the second reduction, we use the concept of row and/or column dominance to further reduce the cover table In our case, we say that p 2 dominates p (since p 2 covers more minterms than p Since p 2 has the same cost as p, we can eliminate p The same reduction can be applied on p 3, since p 5 dominates p 3 Finally, we choose p 2 and p 5 to cover the four remaining minterms and we obtain our final cover: C = {p 2, p 5, p 6 } = {x, x, xx} which can be converted to f = x x 2 x 3 + x x 2 x 4 + x 3 x 4 39
40 Quine McCluskey () Prime Implicants G(a, b, c, d) = m(4,5,6,8,,3) = a bc d +a bc d+a bcd +ab c d +ab cd +abc d Algebraic QMC Binary QMC Group 82 minterms Class Class Variables a b c d Group Implicants Variables a b c d 4 a b c d (4,5) a b c - A 8 a b c d (4,6) a b - d B 2 5 a b c d (8,) a b - d C 6 a b c d 2 (5,3) - b c d D a b c d 3 3 a b c d Verification using K-maps ab cd * 8 9 * PI Group minterms Class Class Variables abcd Group Implicants Variables abcd 4 (4,5) - A 8 (4,6) - B 2 5 (8,) - C 6 2 (5,3) - D 3 3 Set of Prime Implicants: PI = { A, B, C, D } {(4,5),(4,6),(8,),(5,3)} PI = {a bc, a bd, ab d, bc d} PI Quine McCluskey () Prime Implicants F(a,b,c,d,e)=(, 4, 5, 7, 8, 9,, 3, 4, 5, 8, 9, 2, 2, 23, 24, 25, 26, 27, 28, 29, 3) Class Class Class 2 min terms Implicants Implicants Implicants Group dec. abcde Group dec. abcde Group dec. abcde PI Group decimal abcde PI (,5) - 3 (3,5) - (,5,9,3) - - A 4 (,9) - (3,29) - (4,5,2,2) -- B 8 (4,5) - (4,5) - O (8,9,24,25) -- C 2 5 (4,2) - (4,3) - P 2 (5,7,3,5) -- D 9 (8,9) - (9,23) - Q (5,7,2,23) -- E 8 (8,24) - (9,27) - (5,3,2,29) - - F 2 2 (5,7) - (2,23) - (9,,3,5) - - G 24 (5,3) - (2,29) - (9,,25,27) -- H 3 7 (5,2) - (25,27) - (9,3,25,29) -- I (9,) - (25,29) - (8,9,26,27) -- J 3 (9,3) - (26,27) - (2,2,28,29) -- K 4 (8,9) - (26,3) - (24,25,26,27) - - L 9 (8,26) - (28,29) - (24,25,28,29) -- M 2 (2,2) - (28,3) - (24,26,28,3) - - N 25 (2,28) - No implicants of group 26 (24,25) - (A, B, C) can be combined 28 (24,26) - Binary QMC with implicants of group (24,28) - Representation End of Procedure 23 3 (7,5) - 27 (7,23) - PI: {A, B, C, D, E, F, G, H, I, J,K, L, M, N, O, P, Q} 29 (,5) (,27) - 4
41 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey (QMC) Iterated Consensus 2. Finding the minimum cover from the PI s list Prime Implicants Table (PI-T) Petrick s Method Algebraic expressions evaluation 84 Example: PI Table - *Essential Prime Implicants F=(, 4, 5, 7, 8, 9,, 3, 4, 5, 8, 9, 2, 2, 23, 24, 25, 26, 27, 28, 29, 3) Prime m C Implicants PI U ,5,9,3 *A 3 x x x x 4,5,2,2 *B 3 x x x x 8,9,24,25 *C 3 x x x x 5,7,3,5 D 3 x x x x 5,7,2,23 E 3 x x x x 5,3,2,29 F 3 x x x x 9,,3,5 G 3 x x x x 9,,25,27 H 3 x x x x 9,3,25,29 I 3 x x x x 8,9,26,27 *J 3 x x x x 2,2,28,29 K 3 x x x x 24,25,26.27 L 3 x x x x 24,25,28,29 M 3 x x x x 24,26,28,3 N 3 x x x x 4,5 O 4 x x 4,3 P 4 x x 9,23 Q 4 x x Essential Prime Implicants: A*, B*, C*, J* => f = (A*+B*+C*+J*) + Circle single x in a column; Add a * to corresponding prime implicant Any PI* is EPI Check-mark ( ) minterms covered by EPI Include EPI s in function s expression. 4
42 Towards Reduced PI Table Prime mc Implicants PI U,5,9,3 *A 3 x x x x 4,5,2,2 *B 3 x x x x 8,9,24,25 *C 3 x x x x 5,7,3,5 D 3 x x x x 5,7,2,23 E 3 x x x x 5,3,2,29 F 3 x x x x 9,,3,5 G 3 x x x x 9,,25,27 H 3 x x x x 9,3,25,29 I 3 x x x x 8,9,26,27 *J 3 x x x x 2,2,28,29 K 3 x x x x 24,25,26.27 L 3 x x x x 24,25,28,29 M 3 x x x x 24,26,28,3 N 3 x x x x 4,5 O 4 x x 4,3 P 4 x x 9,23 Q 4 x x Create a reduced PI table by removing the EPI s (*) rows and the check-marked ( ) columns (minterms covered by EPI s). Remove: (*) rows *A, *B, *C, *J and ( ) columns, 4, 5, 8, 9, 3, 2, 2, 24, 25, 26, 27 CU D 3 x x E 3 x x F 3 x G 3 x x H 3 x I 3 x K 3 x x M 3 x x N 3 x x O 4 x x P 4 x x Q 4 x Finding Minimal Cover Prime Implicants Table: Eliminate Dominated Rows Definition. Two rows I and J of a prime implicant table which have check marks (x's) in exactly the same columns are said to be equal (written I = J). Definition. A row K of a prime implicant table is said to dominate another row L of the same table (written ) if row K has check marks (x's) in all the columns in which row L has check marks and if, in addition, row K has at least one check mark in a column in which row L does not have. Theorem: A row I of a prime implicant table can be removed and at least one minimal sum can still be obtained from the reduced table (with row I missing) if there is another row J of the table which is equal to row I and which does not have a higher cost than row I, or there is another row K of the table which dominates row I and which does not have a higher cost than row I
43 Finding Minimal Cover PI Table: Eliminate Dominating Columns Definition. Two columns i and j of a prime implicant table which have check marks (x's) in exactly the same rows are said to be equal (written i = j). Definition. A column i of a prime implicant table is said to dominate another column j of the same table (written i j ) if column i has check marks (x's) in all the rows in which column j has check marks and if, in addition, column i has at least one check mark in a row in which column j does not have a check mark. Theorem A column i of a prime implicant table can be removed without affecting the minimal sum being sought if there is another column j of the table which is equal to column i, or there is another column j of the table which is dominated by column i. 88 Prime Implicants Table: Dominating Columns / Dominated Rows CU D 3 x x E 3 x x No dominating columns! Dominated rows: K > F, G > H, E > Q => Remove dominated rows F, H, Q at the same cost or cheaper F 3 x G 3 x x H 3 x I 3 K 3 x x N 3 x x O 4 x x P 4 x x Q 4 x D x x E x x G x x K x x* N x x O x x P x x 43
44 (Reduced) Prime Implicants Table: **Secondary essential prime implicants D x x **E x x* **G x* x **K x x* N x x O x x P x x Secondary essential prime implicants: E**, G**, K** f = (A*+B*+C*+J*)+(E**+G**+K**)+ Remove rows E**, G**, K**, and columns 7,, 5, 23, 28, D N x O x P x x (Reduced) Prime Implicants Table: Dominating Columns /Dominated Rows D N 3 x O 4 x P 4 x x Tertiary essential prime implicant: P*** No dominating columns! Dominated row: P>O Remove dominated row O at the same cost (do not remove N, since N is cheaper than P!) Remove Redundant Prime Implicant D. 4 3 N 3 x ***P 4 x* x Minimized function: f = (A* + B* + C* + J*)+(E**+ G**+ K**)+ P*** = = a d e+b cd +bc d +ac d+b ce+a be+acd +bcde' EPI A* (,5,9,3) - - a d e B* (4,5,2,2) -- b cd C* (8,9,24,25) -- bc d J* (8,9,26,27) -- ac d SEPI E** (5,7,2,23) -- b ce G** (9,,3,5) - - a be K** (2,2,28,29) -- acd' TEPI P*** (4,3) - bcde' 44
45 or Prime Implicants Table: Last Round D N 3 x O 4 x P 4 x x No Tertiary essential prime implicants D = Redundant Prime Implicant f = (A*+B*+C*+J*)+ (E**+G**+K**)+P Which is cheaper than f = (A*+B*+C*+J*)+ (E**+G**+K**)+N+O Quine-McCluskey Method () We can summarize the method in 9 steps Finding the Prime Implicants (QMC ). Tabulate all function minterms using their binary code 2. Group the minterms based on the number of s in their binary code 3. Compare the minterms of one group with every minterm of the next group. If the pair of minterms is adjacent, combine them to form a new term with an x in place of the eliminated variable. Place a check mark near each original minterm 4. Repeat step 3 until you have finished with all of the minterm groups and have obtained a list with x s in place of the eliminated variables and check marks near the covered implicants. 45
46 Quine-McCluskey Method (2) Finding minimum cover with PI Table (PI-T 2) 5. Derive a cover table which shows the minterms where f = that are covered by each PI 6. Include the EPIs (if there are any) in the final cover and reduce the table by eliminating EPIs and the minterms they cover 7. Use the concepts of row and column dominance to further reduce the table. A dominated row is eliminated if and only if the cost of its PI is greater or equal to the cost of the PI in the dominating row. However, each dominating column is eliminated 8. Repeat steps 6 and 7 until the cover table is empty or any further reduction is not possible 9. If the reduced cover table is not empty, use the branching method to determine the PIs that remain which have to be included in the final cover Example #2 (QMC ) (Incompletely Specified Functions) Let us try another example Minimize f(x, x 4 ) = Σm(, 2, 5, 6, 7, 8, 9, 3) + d(, 2, 5) We obtain the following set of PIs using the first three steps P = {x, x, x, xx, xx, xx, xx} = {p, p 2, p 3, p 4, p 5, p 6, p 7 } 46
47 Example #2 (PI-T 2a) Let us build our cover table (note that we do not add the don t cares as columns in this table) In this example, we can see that we do not have any EPIs, since there are no columns with a single check mark We can also note that columns 8 and 5 are dominated by columns 9 and 3, respectively In this case, we eliminate the dominating column! It is opposite to what we did with row dominance where we eliminated the dominated row The dominating rows in this table are 4 and 7 (the dominated are 6 and 5), hence we eliminate rows 5 and 6 Example #2 (PI-T 2b) Finally, we can notice that p 4 and p 7 are EPIs, since p 4 is the only PI that covers minterm 8 and p 7 is the only PI that covers minterm 5 Let us eliminate rows p 4 and p 7 and columns, 5, 7 and 8 From the final table, we can choose p 2 to cover the two remaining minterms 2 and 6 Hence, our final cover is C = {p 2, p 4, p 7 } = {x, xx, xx}, which can be converted to f = x *x 3 x 4 * + x 2 *x 3 * + x 2 x 4 47
48 After Thoughts The method was created by W.V. Quine and E.J. McCluskey in The method is suitable for computer implementation and can be used on functions with a relatively large number of variables However, in practice, the functions are not defined by minterms, rather by algebraic expressions and hypercubes It is quite difficult to generate or convert a function into a list of minterms in order to start minimization Additionally, when large cubes are combined, there are many comparisons to make which requires a lot of computational power Finally, the cover table is computationally heavy when we try to minimize a function with a large number of variables Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey (QMC) Iterated Consensus 2. Finding the minimum cover from the PI s list PI table (PI-T) Petrick s Method Algebraic expressions evaluation 99 48
49 Petrick's method. Reduce the prime implicant chart by eliminating the essential prime implicant rows and the corresponding columns. 2. Label the rows (prime implicants) of the prime implicant chart P, P 2, P 3, etc. 3. Form a logic function P which is true when all function s minterms (columns) are covered. P consists of a product of sum terms, each sum term having the form (P i + P i + P i ), where P i, P i, P i2 represent the rows which cover minterm (column) i. 4. Reduce P to a minimum sum of products by multiplying out and applying X + XY = X. 5. Each term in the result represents a solution, that is a set of rows which covers all of the minterms in the table. To determine the minimum solutions, find those terms which contain a minimum number of variables. Each of these terms represents a solution with a minimum number of prime implicants. 6. For each of the terms found in step 5, count the number of literals in each prime implicant and find the total number of literals. Choose the term or terms which correspond to the minimum total number of literals, and write out the corresponding sums of prime implicants. Petrick's method.reduce the prime implicant chart by eliminating the essential prime implicant rows and the corresponding columns. 2.Label the rows (prime implicants) of the prime implicant table (D,E, F, etc. continue from slide 86) 3.Form a logic function Π which is true when all function s minterms (columns) are covered. Π consists of a product of sum terms, each sum term having the form (D + E), where D, E, represent the rows which cover minterm (column) 7, etc... CU Reduce Π to a minimum sum of products by multiplying D 3 X x out and applying X + XY = X. E 3 X x 5.Each term in the result represents a solution, that is a set F 3 x of rows which covers all of the minterms in the table. To G 3 x x determine the minimum solutions, find those terms which H 3 x contain a minimum number of variables. Each of these I 3 terms represents a solution with a minimum number of K 3 x x prime implicants. N 3 x x 6.For each of the terms found in step 5, count the number of O 4 x x literals in each prime implicant and find the total number of P 4 x x literals. Choose the term or terms which correspond to the Q 4 x minimum total number of literals, and write out the corresponding sums of prime implicants. Π = (D+E)(G+H)(O+P)(D+G+O)(E+Q)(K+N)(F+K)(N+P)=(E+D) (E+Q)(G+H)(O+P)(D+G+O) (K+N)(F+K)(N+P)= (E+EQ+DE+DQ)(G+H) (O+OD+OG+OP+PD+PG) (K+KF+KN+NF)(N+P)=(E+DQ) (G+H)(O+PD+GP)(K+FN)(N+P)= (E+DQ)(GO+GPD+GP+HO+HPD+HGP)(KN+KP+FN+FNP)=(E+DQ)(GO+GP+HO+DHP) (KN+KP+FN)= (EGO+EGP+EHO+EHPD+ DGOQ+DGPQ+DHOQ+DHPQ) (KN+KP+FN)= EGKNO+EGKNP+EHKNO+EHKNPD+ GDKNOQ+GDKNPQ+DHKNOQ+DHKNPQ+EGKOP+EGKP+EHKOP+EHKPD+ GDKOPQ+GDKPQ+DHKOQP+DHKPQ +EFGNO+EFGNP+EFHNO+EFHNPD+ FGDNOQ+FGDNPQ+DFHNOQ+DFHNPQ f = (A*+B*+C*+J*) + (E + G + K + P) 49
50 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey Iterated Consensus 2. Finding the minimum cover from the PI s list PI table Petrick s Method Algebraic expressions evaluation 2 Iterated Consensus Minimization Technique Let 2 product terms (A and B) that have one and only one variable (X) complemented in one term (A) and non-complemented in the other (B): A = X term B = X term2 Consensus of A and B: A B = term term2 Consensus theorem: A + B = A + B + A B ; X term+ X term2 = X term+ X term2 + term term2 Covering Theorem: X + X Y = X 3 5
51 Iterated Consensus.Find a list of product terms (implicants) that cover the function. 2.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.) 3.For each pair of terms, T i, and T j (including terms added to the list in step3), compute T i T j. lf 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 newer term. 5.The process ends when all possible consensus operations have been performed. The terms remaining on the list are ALL prime implicants. Example: f = A' B' D + A' B' C D' + A B' C' D + A B' C D' + A B C' D' + A B' C D + A B C' D + A B C f = {(,3),2,9,,,2, 3,(4,5)} Consensus Term Implicant Covered Covers & by Removes T A' B' D < T6 T2 A' B' C D'< T 9 T3 A B' C' D< T T4 A B' C D' < T T5 A B C' D' < T 2 T6 A B' C D < T T7 A B C' D < T 2 T8 A B C < T5 T2 T T9 A' B' C < T4 > T2 T3 T T B' C' D < T6 > T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T A B' C <T4 > T4, T6 T7 T5 T2 A B C' < T5 > T5, T7 T8 T - T9 T8 - T9 T - T T9 - it's T T T8 - T T - T T T3 AB'D < T6 T T9 T4 B'C > T9, T T2 T - = T3 T2 T8 T5 A B > T 8, T2 T3 T - T3 T T6 B' D > T,T,T3 T5 T4 T7 A C T6 T5 T8 A D T6 T4 - T7 T4 - T7 T5 - T7 T Covered Covers & Consensus Term Implicant by Removes T A' B' D T2 A' B' C D' < T9 T3 A B' C' D < T T4 A B' C D' < T T5 A B C' D' < T2 T6 A B' C D < T T7 A B C' D < T2 T8 A B C T2 T T9 A' B' C >T2 T3 T T B' C' D >T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T A B' C >T4,T6 T7 T5 T2 A B C' >T5,T7 T8 T - f=a' B' D+A' B' C D'+A B' C' D+A B' C D' + A B C' D'+A B' C D+A B C' D+A B C Covered Covers & Consensus Term Implicant by Removes T A' B' D T2 A' B' C D' T3 A B' C' D T4 A B' C D' T5 A B C' D' T6 A B' C D T7 A B C' D T8 A B C Covered Covers & Covered Covers & Consensus Term Implicant Consensus Term Implicant by Removes by Removes T A' B' D T A' B' D < T6 T2 A' B' C D' < T9 T2 A' B' C D' < T9 T3 A B' C' D < T T3 A B' C' D < T T4 A B' C D' < T T4 A B' C D' < T T5 A B C' D' < T2 T5 A B C' D' < T2 T6 A B' C D < T T6 A B' C D < T T7 A B C' D < T2 T7 A B C' D < T2 T8 A B C < T5 T8 A B C < T5 T2 T T9 A' B' C < T4 > T2 T2 T T9 A' B' C < T4 > T2 T3 T T B' C' D > T3 T3 T T B' C' D < T6 > T3 T4 T - T4 T - T5 T4 - T5 T4 - T5 T - T5 T - T6 T5 - T6 T5 - T6 T4 T A B' C <T4 > T4, T6 T6 T4 T A B' C <T4 > T4, T6 T7 T5 T2 A B C' < T5 > T5, T7 T7 T5 T2 A B C' < T5 > T5, T7 T8 T - T8 T - T9 T8 - T9 T8 - T9 T - T9 T - T T9 A' B' D <T it's T! T T9 A' B' D it's T T T8 - T T8 - T T - T T - T T T3 AB'D T T T3 AB'D < T6 T T9 T4 B'C > T9,T T T9 T4 B'C > T9, T T2 T T9 A C' D T2 T T9 A C' D T2 T8 T5 A B > T8, T2 5 PI= {T4, T5, T6, T7, T8} PI={B'C, A B, B' D, A C, A D} T2 T8 T5 A B > T 8, T2 T3 T - T3 T T6 B' D >T,T,T3 T9 T4 T5 T4 T7 T6 T5 T8 T6 T4 - T7 T4 - T7 T5 - T7 T4 - A B' D < T6 A C A D 5 5
52 Algebraic vs Binary Representation Terms T4-T8 remain uncovered > they are the prime implicants PI. The next K-map is used as a checkpoint, only to visualize PI s. 6 PI: B'C, A B, B' D, A C, A D C AB CD A D B Consensus Term Implicant ABCD Covered by Covers: T A' B' D - < T6 T2 A' B' C D' < T 9 T3 A B' C' D < T T4 A B' C D' < T T5 A B C' D' < T 2 T6 A B' C D < T T7 A B C' D < T 2 T8 A B C - < T5 T2 T T9 A' B' C - < T4 > T2 T3 T T B' C' D - < T6 > T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T A B' C - <T4 > T4, T6 T7 T5 T2 A B C' - < T5 > T5, T7 T8 T - T9 T8 - T9 T - T T9 A' B' D <T it's T T T8 - T T - T T T3 AB'D - < T6 T T T4 B'C -- > T9, T T2 T T9 A C' D T2 T8 T5 A B -- > T 8, T2 T3 T - T3 T T6 B' D -- >T,T,T3 T5 T4 T7 A C -- T6 T5 T8 A D -- T6 T4 - T7 T4 - T7 T5 - T7 T4 - Consensus Term Implicant ABCD Covered by Logic T A'B'Design - Covers: T2 A'B'CD' < T 9 T3 AB'C'D < T T4 AB'CD' < T T5 ABC'D' < T 2 T6 AB'CD < T T7 ABC'D < T 2 T8 ABC - < T5 T2 T T9 A'B'C - > T2 T3 T T B'C'D - > T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T AB'C - >T4,T6 T7 T5 T2 ABC' - >T5,T7 T8 T - Algebraic vs Binary Representation Consensus Term Implicant ABCD Cov. by Covers: Consensus Term Implicant ABCD Cov. by T A'B'D - T2 A'B'CD' < T 9 T3 AB'C'D < T T4 AB'CD' < T T5 ABC'D' < T 2 T6 AB'CD < T T7 ABC'D < T 2 T8 ABC - < T5 T2 T T9 A'B'C - < T4 > T2 T3 T T B'C'D - > T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T AB'C - <T4 >T4,T6 T7 T5 T2 ABC' - < T5 >T5,T7 T8 T - T9 T8 - T9 T - T T9 A'B'D <T it's T T T8 - T T - T T T3 AB'D - T T T4 B'C -- >T9,T T2 T T9 AC'D - T2 T8 T5 A B -- >T8,T2 PI: B'C, A B, B' D, A C, A D Methods to select EPI and RPI will be presented next 7 Covers: T A'B'D - < T6 T2 A'B'CD' < T 9 T3 AB'C'D < T T4 AB'CD' < T T5 ABC'D' < T 2 T6 AB'CD < T T7 ABC'D < T 2 T8 ABC - < T5 T2 T T9 A'B'C - < T4 > T2 T3 T T B'C'D - < T6 > T3 T4 T - T5 T4 - T5 T - T6 T5 - T6 T4 T AB'C - <T4 > T4, T6 T7 T5 T2 ABC' - < T5 > T5, T7 T8 T - T9 T8 - T9 T - T T9 A'B'D <T it's T T T8 - T T - T T T3 AB'D - < T6 T T T4 B'C -- > T9,T T2 T T9 AC'D - <T8 T2 T8 T5 A B -- >T 8,T2 T3 T - T3 T T6 B' D -- >T,T,T3 T5 T4 T7 A C -- T6 T5 T8 A D -- T6 T4 - T7 T4 - T7 T5 - T7 T4-52
53 Logic Minimization Manual procedures: Boolean Algebraic manipulation Karanaugh maps (K-maps) Automatic procedures:. Finding all Prime Implicants Quine-Mc Cluskey Iterated Consensus 2. Finding the minimum cover from the PI s list PI table Petrick s Method Algebraic expressions evaluation 8 PI NEPI PI\EPI\RPI EPI RPI # #2 Algebraic Expressions Evaluation to Select PI s for Function s Minimum Cover STOP if PI\EPI\RPI = Ф (i.e., NEPI = RPI) EPI PI 2 nd PI QPI 2 nd NEPI 2 nd EPI 2 nd PI\EPI\RPI 2 nd RPI 3 rd PI 2 nd QPI #3 #4 STOP if 2 nd PI = Ф (i.e., PI\EPI\RPI=QPI) EPI PI PI = Set of Prime Implicants EPI = Set of Essential Prime Implicants NEPI = Set of Non-essential Prime Implicants RPI = Set of Redundant Prime Implicants QPI = Eclipsed Prime Implicants STOP if 3 rd nd PI = Ф EPI 2 EPI PI 3 rd NEPI 3 rd PI\EPI\RPI 3 rd EPI 3 rd RPI 4 th PI 3 rd QPI STOP if 4 th nd PI = Ф EPI 2 EPI 3 rd EPI PI 9 53
54 Selecting Prime Implicants #. Essential Prime Implicants PI = {P i, i =,N} = set of all prime implicants E j E PI \ P ( Pj ) j k P PI \ P k P j If E j = => P j implies PI \ P j ( P j PI \ P j ) => P j NEPI NEPI = set of non-essential prime implicants If E j => P j does not imply PI \ P j => P j EPI EPI = set of essential prime implicants (keep for minimum expression) Selecting PI s: # - EPI s PI = {P i, i =,N} = set of all prime implicants E j EPI \ P ( P P j N j j ) k ;.. Pk PI \ Pj If E j = => P j implies PI \ P j ( P j PI \ P j ) => P j NEPI NEPI = set of non-essential prime implicants If E j => P j does not imply PI \ P j => P j EPI EPI = set of essential prime implicants (keep for minimum expression) PI: B'C, A B, B' D, A C, A D # E(B'C)=(A B+B' D+A C+A D) B C= = E(B=,C=) = +D+A+AD => B'C=>EPI E(A B)=(B'C+B' D+A C+A D) A B= = E(A=,B=)= ++C+D => AB=>EPI E(B' D)=(B'C+A B+A C+A D) B' D= = E(B=,D=)= C++AC+A => B D=>EPI E(A C)=(B'C+A B+B' D+A D) AC= = E(A=,C=) = B +B+B D+D= => AC=>NEPI E(A D)=(B'C+A B+B' D+A C) A D= = E(A=,D=) = B C+B+B +C= => AD=>NEPI EPI: {B'C, A B, B' D}; NEPI: {A C, A D} 54
55 Selecting Prime Implicants #2. Redundant Prime Implicants E EPI ( Pr ) Pe P EPI e and P NEPI r If E e (P r ) = => P r implies EPI ( P r EPI ) => P r RPI redundant PI Eliminate RPI => not use in the minimum expression If E e (P s ) => P s does not imply EPI => => keep P s PI \ EPI \ RPI If NEPI=RPI => f min Pe STOP; C Pe EPI else do #3. AB CD E e (A C)= (B C + AB + B D) AC= = E(A=,C=) = B +B+B D = => AC=>RPI E e (A D)= (B C + AB + B D) AD= = E(A=,D=) = B C+B+B = => AD=>RPI NEPI=RPI => f min = B C + AB + B D A D B 2 Selecting Prime Implicants #3. Eclipsed Prime Implicants Eliminate Prime Implicants P q P s of PI \ EPI \ RPI that are eclipsed (covered) by EPI U P s E P P P, with P, P PI \ EPI \ s RPI q e Pe EPI s If E s (P q ) = => P q implies EPI U P s ( P ) q EPI P s => P q QPI = eclipsed prime implicant Eliminate eclipsed P q => not to be used in the minimum expression Keep P s SPI If E s (P q ) =>P q doesn t imply EPI => check next P q if PI \ EPI \ RPI = QPI => f min Pi, STOP Pi EPI SPI else_if, do #4 => find secondary-essential prime implicants from PI \ EPI \ RPI \ QPI. s q 3 55
56 Selecting Prime Implicants #4 Secondary Essential PI The midterms for which the function is (M F ) are covered by the set PI of all prime implicants The EPI set found in step # of the first iteration covers the midterms M EPI The rest of the midterms M SPI = M F \ M EPI are to be covered by prime implicants selected from the secondary prime implicants set: SPI = PI \ EPI \ RPI \ QPI Next iteration running through steps #, #2 and #3 will provide the Secondary Essential Prime Implicants. SPI s implications are checked by calculating E j E SPI EPI \ P ( P j j ) P k Pk SPI \ Pj Since some of the SPI s may include minterms covered by EPI s, the standard expression E j, (as was defined in #) is augmented with the sum of all EPI s to avoid blocking the formation of SPI s implications because of missing those parts. If E j = => P j implies {EPI U SPI}\ P j ( P j EPI SPI \ P j ) => P j NEPI NEPI = set of non-essential prime implicants If E j => P j does not imply {EPI U SPI}\ P j => P j SEPI SEPI = set of secondary essential prime implicants (keep for minimum expression) 4 P e Pe EPI PI NEPI PI\EPI\RPI EPI RPI # #2 Algebraic Expressions Evaluation to Select PI s for Function s Minimum Cover STOP if PI\EPI\RPI = Ф (i.e., NEPI = RPI) EPI PI 2 nd PI QPI #3 STOP if 2 nd PI = Ф (i.e., PI\EPI\RPI=QPI) EPI PI 2 nd NEPI 2 nd EPI #4 2 nd PI\EPI\RPI 2 nd RPI STOP if 2 nd PI\EPI\RPI = Ф 2 nd EPI EPI PI 3 rd PI 2 nd QPI 3 rd NEPI 3 rd EPI 3 rd PI\EPI\RPI 3 rd RPI 4 th PI 3 rd QPI STOP if 3 rd nd PI = Ф EPI 2 EPI PI PI = Set of Prime Implicants EPI = Set of Essential Prime Implicants NEPI = Set of Non-essential Prime Implicants RPI = Set of Redundant Prime Implicants QPI = Eclipsed Prime Implicants STOP if 4 th nd rd PI = Ф EPI 2 EPI 3 EPI PI 5 56
57 Multiple Output Functions Finding the minimum of z = f (x, x, x 2, x n- ) z 2 = f 2 (x, x, x 2, x n- ) z 3 = f 3 (x, x, x 2, x n- ) z m = f m (x, x, x 2, x n- ) f g fg cd ab cd ab cd ab Candidate terms for the minimum expressions are prime implicants of any one function f, f 2, f 3, f m any product of functions f f 2, f f 3, f f m, f 2 f 3, f 2 f m, f f 2 f 3, f f 2 f m, f f 2 f 3 f m f(a,b,c,d) = Σm(2,3,4,6,9,,2) + Σd(,,4,5) g(a,b,c,d) = Σm(2, 6,,,2) + Σd(,,4,5) x x x x x x x x x x x x f = b d + bd + a cd g = abd + ac + a cd 6 Iterated Consensus Multiple Output Finding the minimum of z = f (x, x, x 2, x n- ) z 2 = f 2 (x, x, x 2, x n- ) z 3 = f 3 (x, x, x 2, x n- ) z m = f m (x, x, x 2, x n- ) Candidate terms for the minimum expressions are prime implicants of any one function f, f 2, f 3, f m any product of functions f f 2, f f 3, f f m, f 2 f 3, f 2 f m, f f 2 f 3, f f 2 f m, f f 2 f 3 f m To each product term we add a tag with a dummy variable for each output (z, z 2, z 3, ) if the term is not an implicant of that function and a blank if it is.. Take the consensus of each pair of terms (incl. tags) 2. Eliminate any term with all output variables included! 7 57
58 Modified Quine-McCluskey for Multiple Output Functions The same as the classical Quine- McCluskey but -> instead of grouping adjacent terms -> -> -> doing consensus of 2 terms that have adjacent input variables 8 Multiple Output Functions (MOF) - Quine-McCluskey Example #: PI s f = m(2,3,4,6,9,,2) + d(,,4,5) g= m(2,6,,,2) + d(,,4,5) Group PI abcd fg Group PI abcd fg (,) - xx X (,,2,3) -- - K (,2) - -- B (,2,4,6) -- - J (,4) - - (,3,9,) -- - L (,3) - - (2,6,,4) -- - M (,9) - - (4,6,2,4) -- - H Group PI abcd fg (2,3) (,,4,5) -- - N xx X (2,6) - -- C Prime Implicants: xx X (2,) - - (,2) a'b'd' -- B 2 -- (4,6) - - (2,6) a'cd' -- C 4 - (4,2) - - (6,4) bcd' -- D (3,) - - (,5) acd -- E 6 -- (6,4) - -- D (2,4) abd' -- G 9 - (9,) - - (4,6,2,4) bd' - H - (,) - - (,2,4,6) a'd' - J 2 -- (,4) - - (,,2,3) a'b' - K 3 -- (2,4) - -- G (,3,9,) b'd - L 4 xx 3 (,5) - -- E (2,3,4,5) cd' - M 4 5 xx (4,5) - xx X (,,4,5) ac - N 9 58
59 MOF Quine-McCluskey - PI Table EPI f g PI CU a b c d B 4 X X - C 4 X X X X - D 4 X X fg - E 4 X X - * G 4 X X* -- H 3 X X X - - J 3 X X X f - - K 3 X X --* L 3 X X* X -- M 3 X X X g - - N 3 X X f_epi b d (L) covers minterms f3, f9, and f, hence, columns f3, f9, and f can be eliminated, as these minterms do not need to be generated by other PI s: f = b d (L) + -> row L can be eliminated since it does not affect g g_epi abd (G) covers minterm g2, hence, column g2 can be eliminated: g = abd (G) + - row G cannot be eliminated since it may affect f!!! The cost of using G for f is reduced to, since the gate that generates it is 2 already here for g and only one input to the f OR gate is needed! MOF Quine-McCluskey - PI Table - Dominating Columns f g PI CU a b c d B 4 X X - C 4 X X X X - D 4 X X fg - E 4 X - * G X -- H 3 X X X -- J 3 X X X f - - K 3 X -- M 3 X X X g - - N 3 X X Column f6 dominates column f4, => hence f6 can be eliminated 2 59
60 MOF Quine-McCluskey - PI Table - Dominated Rows PI CU f g a b c d B 4 X X - C 4 X X X - D 4 X fg - E 4 X - * G X -- H 3 X X -- J 3 X X f - - K 3 X -- M 3 X X X g - - N 3 X X Row C dominates both B and D, and, since they all have the same cost, B and D can be eliminated. Row J dominates K, so K will be eliminated at the same cost. Row N dominates row E, even at a cheaper cost, so eliminate row E. Row H dominates G, but G is way cheaper so row G will stay. 22 MOF Quine-McCluskey - PI Table Secondary Essential PI s f g a b c d PI CU C 4 X X X fg - * G X -- H 3 X X - - J 3 X X f -- M 3 X X X g - - N 3 X X* Secondary EPI (SEPI): g_sepi: ac (N) => g = abd (G) + ac (N) + Also, let s eliminate columns g and g covered by SEPI. 23 6
61 MOF Quine-McCluskey - PI Table - Minimum Expression f g a b c d PI CU C 4 X X X fg - * G X -- H 3 X X f - - J 3 X X -- M 3 X X g C dominates M, but row M cannot be eliminated since it s cheaper for g than C. At an extra cost of 7 CU, g2 and g6 can be covered by M: g = abd (G) + ac (N) + cd (M), while f2, f4 and f2 can be covered by G and J: f = b d (L) + abd (G) + a d f g a b c d PI CU C 4 X X X fg - * G X -- H 3 X X f - - J 3 X X -- M 3 X X g Using C for g, will help f too, but the later will require H to cover f4 and f2, adding 7 CU to the initial cost: f = b d (L) + bd (H) + a cd (C) g = abd (G) + ac (N) + a cd (C) 24 MOF Quine-McCluskey PI s Example #2 f (w, x, y, z) = Σ(2, 3, 5, 7, 8, 9,,, 3, 5) f 2 (w, x, y, z) = Σ(2, 3, 5, 6, 7,,, 4, 5) f 3 ( w, x, y, z) = Σ(6, 7, 8, 9, 3, 4, 5) Cl. w x y z f f 2 f Class 2 w x y z f f 2 f 3 (2, 3) (2, 6) - - (2, ) (8, 9) J (8, ) - - (3, 7) (3, ) (5, 7) G (5, 3) - - (6, 7) (6, 4) (9, ) - - (9, 3) I (,) (,4) - - (7, 5) L (,5) (3,5) H (4,5) Class 3 w x y z f f 2 f 3 (2, 3, 6, 7) (2, 3,, ) F (2, 6,, 4) (8, 9,, ) C (3, 7,, 5) E (5, 7, 3, 5) B (6, 7.4, 5) K (9,,3, 5) A (,,4,5) Class 4 w x y z f f 2 f 3 (2,3,6,7,,,4,5) D PRIME IMPLICANTS W x y z f f2 f3 (9,,3, 5) A (5, 7, 3, 5) B (8, 9,, ) C (2,3,6,7,,,4,5) D (3, 7,, 5) E (2, 3,, ) F (5, 7) G (3,5) H (9, 3) I (8, 9) J (6, 7, 4, 5) K (7, 5) L 6
62 MOF Quine-McCluskey PI Table - EPI PI f f2 f3 CPI func. U (9,,3,5) 3 A (5,7,3,5) 3 B f (8,9,,) 3 C (2,3,6,7,, D f2,4,5) (3,7,,5) 3 E (2,3,,) 3 F* f f2 (5,7) 4 G * (3,5) 4 H (9,3) 4 I f f3 (8,9) 4 J * (6,7, 4,5) 3 K * f2 f3 (7,5) 4 L ff2f3 EPI f: (2,3,,), f2: (5,7), f3: (8,9), (6,7,4,5) f = (2,3,,) + f2 = (5,7) + f3 = (8,9)+(6,7,4,5) + 26 MOF Quine-McCluskey - PI Table Dominating Columns Eliminate CU PI f f2 f3 dominating columns: func (9,,3,5) 3 A (5,7,3,5) 3 B f (8,9,.) 3 C (2,3,6,7,,,4,5 ) D f2 (3,7,,5) 3 E *(2.3,,) F f f2 * (5,7) G (3,5) 4 H (9,3) 4 I f f3 *(8,9) J *(6,7,4,5) K f2 f3 (7,5) 4 L ff2f3 Dominating Columns => 7 U 5 9 U 8 3 U 2 2 U U
63 MOF Quine-McCluskey - PI Table Dominated Rows Eliminate CU PI f f2 f3 Dominated rows func. (9,,3,5) 3 A (5,7,3,5) 3 B (8,9,.) 3 C=J f (2,3,6,7,,,4,5 ) D f2 (3,7,,5) 3 E *(2.3,,) F<D * (5,7) G<B, but cheaper! f f2 (3,5) 4 H (9,3) 4 I f f3 *(8,9) J *(6,7,4,5) K<D f2 f3 (7,5) 4 L<E f f2 f3 28 MOF Quine-McCluskey PI Table Secondary Essential PI s CU PI f f2 f3 func (9,,3,5) 3 A f (5,7,3,5) 3 B * (2,3,6,7,,,4,5) D * * f2 (3,7,,5) 3 E f f2 * (5,7) G (3,5) 4 H (9,3) 4 I f f3 *(8,9) J * SEPI: f: (8,9); f2: (2,3,6,7,,,4,5) f = (2,3,,) + (8,9) + f2 = (5,7) + (2,3,6,7,,,4,5) => => = f2 MIN f3 = (8,9)+(6,7,4,5)
64 MOF Quine-McCluskey - PI Table Tertiary Essential PI s Eliminate CU PI f f3 func dominated rows (9,,3,5) 3 A<B f (5,7,3,5) 3 B (3,7,,5) 3 E<B f f2 * (5,7) G<B (3,5) 4 H f f3 (9,3) 4 I<H Tertiary EPI CU PI f f3 func (5,7,3,5) 3 B f * (5,7) G f f2 * (3,5) 4 H * f f3 TEPI: f3: (3,5) f = (2,3,,) + (8,9) + f2 = (5,7) + (2,3,6,7,,,4,5) => f2 MIN f3 = (8,9)+(6,7,4,5) + (3,5) => f3 MIN 3 MOF Quine-McCluskey: Example #2 Last Round CU PI f (5,7,3,5) 3 B * (5,7) G (3,5) H f = (2,3,,) + (8,9) + (5,7,3,5) CU+3 f = (2,3,,) + (8,9) + (5,7) + (3,5) CU+2 MINIMUM f = (2,3,,) + (8,9) + (5,7) + (3,5) = x y + wx y + w xz + wxz f2 = (5,7) + (2,3,6,7,,,4,5) = w xz + y f3 = (8,9) + (6,7,4,5) + (3,5) = wx y + xy + wxz PRIME w x y z f f2 f3 IMPLICANTS (9,,3,5) wz A (5, 7,3,5) xz B (8, 9,,) wx C (2,3,6,7,, y D,4,5) (3, 7,,5) yz E (2, 3,,) x y F (5, 7) w xz G (3,5) wxz H (9, 3) wy z I (8, 9) wx y J (6, 7,4,5) xy K (7, 5) xyz L 3 64
65 Combinational Circuits A combinational circuit is a setup of a number of connected logic gates implementing the logic function between n input variables and m output variables. In a combinational circuit, the output is time-independent and does only depend on the circuit's input In a combinational circuit, the output is re-computed" as soon as a change in the input occurs, and it is presented to the output with a delay x x x 2 x 3 Logic Circuit z z = F(x, x, x 2, ) z {, }, x k {, }, k =,,2, F can be represented by logic expression truth table K-map 32 A 2 A A 3-to-8 Line Decoder A decoder is a combinational circuit that converts binary information from an n-bit input to a maximum of 2 n -bit output. An n-input m-output decoder is called an n-to-m line decoder, where m 2 n. D D D2 A B C D D D2 D3 D4 D5D6 D7 () () (2) (3) (4) (5) (6) (7) D3 D4 D5 D6 D7 65
66 E A 2 A A 3-to-8 Decoder (74 38) The Enable bit, E, enables (when E =, i.e. E=) or disables (when E =, i.e. E=) the functionality of the decoder. When the decoder is disabled (E = ), all the output pins of the decoder are reset to : D D D2 D3 A 2 A A E D D D2 D3 D4 D5 D6 D7 (x) x x x () () (2) (3) (4) (5) (6) (7) D4 D5 D6 D7 4-to--Line Multiplexer A multiplexer is a combinational circuit that receives binary information from one of the 2 n input data bits (I, I, ) and directs it to a single output line (Z). The selection of a particular input data bit is determined by a set of n input selection bits (A, A, ). I I I I2 I3 I I2 D A A D D2 Z A A E Z (x) x x () I () I (2) I2 (3) I3 Z I I I I2 I3 E A A to-4 decoder A A E Z I3 I Z D3 I to-4 decoder A A E I3 66
67 Combinational Circuit Design Procedure. Define the problem 2. Assign different letter symbols to the input and output variables 3. Derive the truth table defining the relationship between the inputs and the outputs 4. Obtain the simplified boolean expression for each output variable 5. Draw the circuit's logic diagram A B C out S Half Adder C out = (A B) S = A B A B A B HA HA C out S C out S 36 Adding two bits: Truth table Inputs Outputs A B Carry Sum Carry = (A B) Sum = A B ADDING BINARY NUMBERS + + A B Half-Adder circuit + Carry (over) + Sum The binary number is equivalent to the decimal 2 Sum Carry 67
68 Full Adder Carry Out Bits of the same rank of the two numbers A Cout S Sum B Cin Carry In Inputs Outputs A B Cin Cout S S A B Cin Cout A B Cin A. B S = A. B. Cin + A. B. Cin + A. B. Cin + A. B. Cin B. Cin A. Cin Cout = A. B + B. Cin + A. Cin A B C in C out S Full Adder Equations are modified as follows. C out = ((A B) C IN ) + (A B). S = A B C IN. A B C_IN HA HA2 C_OUT SUM 39 68
69 Adding multi-bit numbers: Sum A 7 A 6 A 5 A 4 A 3 A 2 A A + B 7 B 6 B 5 B 4 B 3 B 2 B B S 7 S 6 S 5 S 4 S 3 S 2 S S Carry Carry Out A 7 B 7 A 6 B 6 A 5 B 5 A 4 B 4 A 3 B 3 A 2 B 2 A B A B A B A B A B Cout Cin Cout Cin Cout Cin A B A B A B Cout Cin Cout Cin Cout Cin A B A B Cout Cin Cout Cin Carry In = S S S S S S S S S 7 S 6 S 5 S 4 S 3 S 2 S S Parallel Binary Adder C out_n S n S n- S 2 S C out S Full_Adder A B C in C out S Full_Adder A B C in C out S Full_Adder A B C in C out S Full_Adder A B C in A n B n A n- A 2 A C n- C n-2 C C B n- B 2 B Ripple Carry C n =A n B n + C n- (A n B n ) 69
70 Look-ahead carry generator G i = a i b i => G i = generate, P i = a i + b i => P i = propagate, The carry c of stage is c = G + P C Since c = then c = G The carry c 2 out of stage is c 2 = G + P c Since c = G then c 2 = G + P G The carry c 3 out of stage 2 is c 3 = G 2 + P 2 c 2 c 3 = G 2 + P 2 G + P 2 P G The carry c 4 out of stage 3 is c 4 = G 3 + P 3 c 3 c 4 = G 3 + P 3 G 2 + P 3 P 2 G + P 3 P 2 P G 8 bit Adder / Subtractor with Overflow Detector The operation (A-B) is accomplished by performing the operation (A + B + ), which is in essence an addition operation => the addition and subtraction operations can be combined into one common circuit that uses an input control bit, say M, to indicate the type of the desired operation. M = if M =, then keep the second operand B as it is and reset the input carry C to, to perform (A + B + ) = (A + B). else if M =, then take the 's complement of the second operand to form B and set the input carry C to, to perform (A + B + ) = (A - B). The above two statements can be combined into one as follows: perform A + (M B) + M 7
71 Binary Incrementer One way of implementing a binary incrementer is using a binary counter. Another way of implementing a binary incrementer is using half-adders (HA) connected in cascade. A combinational circuit of n-bit binary incrementer that operates on a binary number A = A n- A is composed of: n half-adders n + input bits: A,, A n-, and n + output bits: the sum S n-, S, and the output carry Cn The two input bits of the first half-adder (HA ) are A and. The two input bits of each other half-adder (HA i ), where i = ; ; n -, are A i and the output carry C i- from the previous half-adder. 44 ALU Block Diagram (for bit, i only!) AC i ALU i Different micro-operations can be implemented in one common combinational circuit called an arithmetic circuit (AC), or an arithmetic unit. The idea behind designing an n-bit arithmetic unit (AC) that operates on two n-bit numbers A and B is to write the result D of each micro-operation in the form of D = A + Y + C in, where Y is the result of some sort of a transformation of B, and C in is either or. S S 2 A n- B n- C n AC n- D n- C n- AC 2 D 2 LC i A 2 B 2 C 2 AC D ALU Block Diagram (for bit, i only!) A B A B C AC D C 45 7
72 Select Bits Output S S Cin D =A+Y+Cin Micro-operation Op. D = A+B Add = An- A2AA + Bn- B2BB D = A+B+ Add with carry = An- A2AA + Bn- B2BB+ Op. D = A B Subtract with borrow An- A2AA + B n- B 2B B D = A B Subtract =An- A2AA + (B n- B 2B B + ) Op.2 D = A Transfer A =An- A2AA + D = A+ Increment A = An- A2AA+ + Op.3 D = A Decrement A = A + 2 s Compl() = A + D = A Transfer A = A + + Arithmetic Circuit (for the i-th bit only!) C in S S C in C in S 2 =AC /LSC B A S S S i i 2 A i B i A i B i A i A i Op C in Op C in Op2 C in Op3 C in Σ C out F Op C in F Op Σ C out C in F Σ Op2 C out C in F Σ Op3 C out MUX 2 3 F ALU i A B OR Op. Op. Op.2 2 Op.3 3 S S Op.4 Op.5 Op.6 2 Op.7 3 C in Σ C out AC E= F LSC LSC D=F AC F ALU S S Op.4 Op.5 Op.6 Op C in Σ C out AC i E= F LSC i LSC i D i = F AC i F ALU i 46 A 7 S S C in C in D=F AC7 S 2 Arithmetic Circuit (for 8 bit integers) A 2 A A B 7 B 2 B B AC S S Op.4 Op.5 Op.6 2 Op.7 3 Σ AC C out 2 C in Σ AC C out Op.6 LSC Op.7 D=F AC2 D=FAC Σ C in 2 C out Σ 3 2 C out S S F 3 2 ALU E= F LSC 3 Op.4 S S F ALU Op.5 E= F Op.4 LSC S S F ALU Op.6 2 LSC Op.5 E= FOp.4 LSC Op Op.5 E= F LSC 3 C in AC Op.6 LSC Op D=F AC F ALU LSC 72
73 Another Arithmetic Circuit (for 4 bit integers) Different micro-operations can be implemented in one common combinational circuit called an arithmetic circuit, or an arithmetic unit. The idea behind designing an n-bit arithmetic unit that operates on two n-bit numbers A and B is to write the result D of each micro-operation in the form of D = A + Y + Cin ; where Y is the result of some sort of a transformation" of B, and Cin is either or. 48 List of all 6 logic micro-operations A i B i f f f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f f f 2 f 3 f 4 f 5 Boolean Microoperation Name function f = f Clear f = xy f A B AND f 2 = xy' f A B f 3 =x f A Transfer A f 4 = x'y f A B f 5 = y f B Transfer B f 6 = xe9y f A B Exclusive-OR f 7 =x+y f A V B OR f 8 = (x + y)' f (A V B) NOR f 9 = (x EB y)' f (A B) Exclusive-NOR f = y' f B Complement B f =x+y' f AV B f 2 = x' f A Complement A f 3 = x' + y f A V B f 4 = (xy)' f (A B) NAND f 5 = f all 's Set to all 's that can be performed on the pairs of bits of two registers A i and B i. The block diagram implements 4 of them. AC LC 49 73
74 Logic Unit (LC) The circuit performing a set of logic micro-operations is called a logic unit, or a logic circuit (LC). An n-bit logic unit that can perform 2k logic operations on two n-bit registers A and B is composed of: Two n-bit input lines for A and B n multiplexers of type 2k, with each multiplexer operating on one bit from each register The particular logic operation to be performed is chosen by the k selection bits that are common to all n multiplexers. Example 39 (2-Bit Logic Unit). Design a 2-bit logic unit to perform the following four microoperations on two 2-bit registers A = A A and B = B B. 2-bit logic unit two multiplexers, one for each bit. Four micro-operations Two selection bits S and S that are common for both multiplexers. First, build the circuit that operates on A and B (onestage circuit). Then build as many replicates of this circuit as needed for the rest of the bits. In this case, one more replicate is needed for A and B. Stack all these circuits together to form an n-bit logic unit. Logic diagram for the i-th bit only! Select Output Operation S S E = A B AND E = A B OR E = A B XOR E = A Complement 5 Applications Selective-Set Selective-Complement Selective-Clear Mask Insert Clear 74
75 Applications Logic micro-operations are mainly used to manipulate individual bits or portions of a word stored in a register. Examples of such bit manipulation operations are: resetting selected bits to or setting them to. In the following, we will see some examples of how to manipulate a set of bits in a certain register (register A). Selective-Set Selective-Complement Selective-Clear Mask Insert Clear Selective-Set The selective-set micro-operation sets certain bits of A to and keeps the remaining bits unchanged. The position of the bits in A to be affected by this transformation are specified by another register B. The bits in A where there are corresponding s in B are the bits that are going to be set to. A before B A after Such a transformation can be performed using a logic OR ( ) microoperation, and it can be symbolized by the following register-transfer language (RTL) statement: A A B
76 Selective-Complement The selective-complement micro-operation complements bits in A where there are corresponding s in B. It keeps the remaining bits of A unchanged. A before B A after Such a transformation can be performed using a logic XOR ( ) microoperation, and it can be symbolized by the following RTL statement: A A B. Selective-Clear The selective-clear micro-operation resets to bits in A where there are corresponding s in B. It keeps the remaining bits of A unchanged. A before B A after Such a transformation can be performed using a logic AND ( ) microoperation, and it can be symbolized by the following RTL statement: A A B. 54 Mask The mask micro-operation resets to bits in A where there are corresponding s in B. It keeps the remaining bits of A unchanged. A before B (logic operand) A after masking Such a transformation can be performed using a logic AND ( ) micro-operation, and it can be symbolized by the following RTL statement: A A B. Clear The clear micro-operation compares the words in A and B and produces an all s result if the two numbers are equal. This can be achieved by an XOR logic operation. A before B A A B 55 76
77 Insert The insert micro-operation inserts a new value into a group of bits. This is done by first masking that group of bits and OR-ing it with the required value. If, for instance, the value of A is and we would like to replace the leftmost four bits by, we first mask the bits we want to replace A before B (mask) A after masking and then insert the new value: A before B (insert) A after insertion Such a transformation can be performed using the following RTL statements A A B B the appropriate operand A A B 56 Shift Micro-operations There are three types of shift micro-operations: logical shift, circular shift, and arithmetic shift The following is a list of the different shift micro-operations and their notations. Table 23: Shift micro-operations Symbolic designation Description. R shl R Shift-left register R R shr R Shift-right register R R cil R Circular shift-left register R R cir R Circular shift-right register R R ashl R Arithmetic shift-left register R R ashr R Arithmetic shift
78 Logical Shift A logical shift is one that inserts a into the register through the serial input. shl and shr will be used to symbolize shift-left and sfift-right microoperations. Example 4. A before A after (A shr A) Circular Shift A before A after (A shl A) The circular shift (also known as rotate micro-operation) circulates the bit of the register around the two ends without loss of information, This is accomplished by connecting the serial output of the shift register to its serial input. Example 4. A before A after (A cil A) A before A after (A cir A) 58 Arithmetic Shift An arithmetic shift is a micro-operation that shifts a signed number left or right. An arithmetic shift-left performs a signed multiplication by 2. An arithmetic shift-right performs a signed division by 2. An arithmetic shift has to be done in a particular way so as not to change the value of the sign bit 59 78
79 Arithmetic Shift-Right The arithmetic shift-right leaves the sign bit unchanged and shifts the number (including the sign bit) to the right. Equivalent with division by 2. Example signed number A before shift A after (A ashr A) signed number A before shift A after (A ashr A) Figure 24 depicts and arithmetic shift-right micro-operation. 6 Arithmetic Shift-Left The arithmetic shift-left inserts a into the register s least significant position and shifts all the other bits to the left (including the sign bit). It is equivalent with multiplication by 2. In this case, a sign reversal may happen, which is then considered as an overflow. An overflow occurs in an n-bit register R after an arithmetic shift-left if initially, before the shift operation, the sign bit R n is different from its precedent bit R n 2. An overflow D flip-flop Vs can then be used to detect an arithmetic shift-left overflow. V s R n R n 2, R ashl R. For the overflow detection to be successful, both micro-operations have to be triggered with the same clock pulse. Example signed number A A after (A ashl A) [overflow] -2-4 signed number A A after (A ashl A) [no overflow] 6 79
80 Hardware Implementation Left/Right Shift (logical/arithmetic/circular) A combinational shifter is shown next. In this case: if S =, then H = shl A (lsb msb, down in the figure) if S =, then H = shr A (msb lsb, up in the figure) The designer can choose what to feed into the serial inputs depending on the desired functionality of the circuit. Serial Input I L S lsb Select msb Out lsb S H 3 H 2 H H I R A 3 A 2 A shr A A 2 A A I L shl A Note: Fig. 4-2 of the textbook presents a 4-bit shifter assuming that msb = H and lsb = H 3! Serial Input I R 62 msb Arithmetic Logic Shift Unit An arithmetic logic unit (ALU) is a combinational circuit that performs arithmetic and logic micro-operations. An arithmetic logic shift unit (ALSU) is an ALU that also performs shift microoperations. One way of implementing an n-bit ALSU is to build a one-stage ALSU (for one bit only) and then stack n replicates of it together (one for each bit) to form the full ALSU. All replicates of the one-stage ALSU will use the same selection bits. S 3 S 2 S S 4 A n- B n- C n ALSU n- F ALSU n- C n- A 2 B 2 A B C 2 ALSU 2 ALSU F ALSU2 F ALSU A B C ALSU F ALSU C C in 63 8
81 A 7 A A B 7 B B ALSU S S A 6 SerIn 2 3 E= F LSC7 2 3 (for 8 bit) AC 7 S S C in7 LSC 7 S 2 F AC7 Σ 7 C out7 F ALU7 Sometimes, it may be convenient to merge the shift unit (SC) with the logic unit (LC) if it simplifies the design (LSC). Another way of implementing an ALSU is to build one full arithmetic unit (AC) one full logic unit (LC), and Select Bits Output one full shift unit (SC) and pass the outputs of all the units to a multiplexer S2SSCin FALU that will select the final output depending on FAC = A+B the values of its selection bits. FAC = A+B+ FAC = A B C in =C S S FAC = A B C in F AC FAC = A Σ FAC = A+ C in FAC = A C out F AC FAC = A Σ 2 x FLSC = A B 3 AC C out x FLSC = A B 2 x FLSC = shift left S S 3 AC x FLSC = shift right F ALU F ALU S S E= F LSC AC A 2 E= F LSC A 2 3 LSC SerIn 2 LC A 3 LSC Functional Decomposition OBJECTIVE: Given a function, F(X): X = {x, x n }, find a set of functions, { f d, Φ,, Φ m }, where F(X) = f d (Φ (X b ) Φ m (X b ), X f ), {Φ, Φ m } = auxiliary functions, X b = {x,, x l } = bound set, X f = { x k,, x n } = free set. If k = l +, i.e. X b and X f are disjoint, => the decomposition is disjunctive. If m =, => the decomposition is simple. Every function admits a trivial simple disjunctive decomposition (Shannon): F( x, x,..., x, x, x,..., x ) f ( ( x ), x, x,..., x, x,..., x ), where ( x ) x 2 2 F( x, x,..., x 2 i i 2 2, x, x i F( x, x,..., x ) x F( x, x,..., x f d F( x, x,..., x F( x, x,..., x i 2 i i ( x ) F( x, x,..., x i n i i i n i 2,, x,, x i i,..., x ) f n, x, x i d i i,, x i,..., x ) ( ( x ), x, x,..., x xi i,..., x ) F( x, x,..., x,..., x ) F( x, x,..., x d n n i i n i i i, x i,..., x ) x F( x, x,..., x n, x, x, x, x i 2 i i ( x ) F( x, x,..., x i i i i 2 n i,..., x ),..., x ) i,, x xi xi i,..., x ), where ( x ) x n n n, x, x i,..., x ) i i i n,..., x ) n i i xi 8
82 Example Let function F:{x, x 2, x 3 } that describes the sum circuit (only) of full-adder FA: and Φ(x 2, x 3 ) a function that describes a half-adder (HA) ( x2, x3) x2x3 x2x3 x2 x3 The FA function can be expressed as: F( x, x, x ) f ( x, x ), x f (, x x x x 2 3 d 2 3 d ) where the set of 3 variables x, x 2, x 3 is decomposed into two disjoint subsets: {x 2, x 3 } v {x } = {x, x 2, x 3 } and {x 2, x 3 } v {x } = Φ (the void set) f d (Φ, x ) and Φ(x 2, x 3 ) form a simple disjunctive decomposition of F(x, x 2, x 3 ) x 2 x 3 x sum Φ Φ F(x, x 2, x 3 ) 66 Map-Entered Variables (MEV) Decimal minterm Binary variables Output MEV Standard a b c (MEV) P P(MEV) c 3 7 bc a c MEV 3 2 b a a c b Any n variable function can be implemented with. (2 n )-to- MUX directly; 2 2. (2 n- )-to- MUX by applying MEV; 3 3. (2 n -k )-to- MUX + gates by C 4 using func. decomposition.if the output variable is for both standard minterms covered by a MEV square, then a is written in that MEV map square. 2.If the output variable is a for both standard minterms covered by a MEV map square, then a is written in that MEV square. 3.If, for minterms covered by a MEV map square, the output variable has the same value as the MEV, then the MEV is written into MEV map square. 4.If, for standard minterms covered by a MEV map square, the output and ME' variables are complements, write the MEV complement into the MEV map square. 5.If, for standard minterms covered by a MEV map square, the output variable is a don't care term, write x into the MEV map square. 6.If, for standard minterms covered by a MEV map square, the output variable is a don't care term in one case and a in the other, 67 write in the appropriate square. 82
83 Constructing Variable-Entered Maps Generic minterm canonical formula: 68 A generic three-variable truth table partitioned around the z variable Single-variable map entries for complete Boolean functions 69 83
Chapter 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 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 informationPossible logic functions of two variables
ombinational logic asic logic oolean algebra, proofs by re-writing, proofs by perfect induction logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,..., minimal set Logic realization
More informationCombinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions.
Combinational logic Possible logic functions of two variables Logic functions, truth tables, and switches NOT, ND, OR, NND, NOR, OR,... Minimal set xioms and theorems of oolean algebra Proofs by re-writing
More informationL2: Combinational Logic Design (Construction and Boolean Algebra)
L2: Combinational Logic Design (Construction and Boolean Algebra) Acknowledgements: Lecture material adapted from Chapter 2 of R. Katz, G. Borriello, Contemporary Logic Design (second edition), Pearson
More informationEECS Variable Logic Functions
EECS150 Section 1 Introduction to Combinational Logic Fall 2001 2-Variable Logic Functions There are 16 possible functions of 2 input variables: in general, there are 2**(2**n) functions of n inputs X
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 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 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 informationLecture A: Logic Design and Gates
Lecture A: Logic Design and Gates Syllabus My office hours 9.15-10.35am T,Th or gchoi@ece.tamu.edu 333G WERC Text: Brown and Vranesic Fundamentals of Digital Logic,» Buy it.. Or borrow it» Other book:
More informationCombinational Logic (mostly review!)
ombinational Logic (mostly review!)! Logic functions, truth tables, and switches " NOT, N, OR, NN, NOR, OR,... " Minimal set! xioms and theorems of oolean algebra " Proofs by re-writing " Proofs by perfect
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 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 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 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 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 informationChapter 2 Boolean Algebra and Logic Gates
Ch1: Digital Systems and Binary Numbers Ch2: Ch3: Gate-Level Minimization Ch4: Combinational Logic Ch5: Synchronous Sequential Logic Ch6: Registers and Counters Switching Theory & Logic Design Prof. Adnan
More information2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS
CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS What will we learn? 2 Logic functions and circuits Boolean Algebra Logic gates and Synthesis CAD tools and VHDL Read Section 2.9 and 2.0 Terminology 3 Digital
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 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 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. (Hyperlinks are active
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 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 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 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 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 informationChapter 2: Switching Algebra and Logic Circuits
Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used
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 informationL2: Combinational Logic Design (Construction and Boolean Algebra)
L2: Combinational Logic Design (Construction and oolean lgebra) cknowledgements: Materials in this lecture are courtesy of the following people and used with permission. - Randy H. Katz (University of
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 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 informationPI = { a.b.c, ac d, b cd, ab d, bd} cd
Digital Logic Design: Principles and Practices ELG5195 (EACJ5705 ), Carleton CRN: 18371 Assignment #1 Question 1: a) Using iterated consensus find all the prime implicants of the following function: F(
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 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 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 informationChapter 2 Combinational Logic Circuits
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Chapter 2 - Part 1 2 Chapter 2 - Part 1 3 Chapter 2 - Part 1 4 Chapter 2 - Part
More informationChapter 2: Boolean Algebra and Logic Gates
Chapter 2: Boolean Algebra and Logic Gates Mathematical methods that simplify binary logics or circuits rely primarily on Boolean algebra. Boolean algebra: a set of elements, a set of operators, and a
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 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 informationSlide Set 3. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary
Slide Set 3 for ENEL 353 Fall 2016 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 2016 SN s ENEL 353 Fall 2016 Slide Set 3 slide
More informationII. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):
ENGI 386 Digital Logic II. COMBINATIONAL LOGIC DESIGN Combinational Logic output of digital system is only dependent on current inputs (i.e., no memory) (a) Boolean Algebra - developed by George Boole
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 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 informationL2: Combinational Logic Design (Construction and Boolean Algebra)
L2: Combinational Logic Design (Construction and oolean lgebra) cknowledgements: Lecture material adapted from Chapter 2 of R. Katz, G. orriello, Contemporary Logic Design (second edition), Pearson Education,
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 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 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 informationCombinational Logic Design Principles
Combinational Logic Design Principles Switching algebra Doru Todinca Department of Computers Politehnica University of Timisoara Outline Introduction Switching algebra Axioms of switching algebra Theorems
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 informationEC-121 Digital Logic Design
EC-121 Digital Logic Design Lecture 2 [Updated on 02-04-18] Boolean Algebra and Logic Gates Dr Hashim Ali Spring 2018 Department of Computer Science and Engineering HITEC University Taxila!1 Overview What
More informationCS 121 Digital Logic Design. Chapter 2. Teacher Assistant. Hanin Abdulrahman
CS 121 Digital Logic Design Chapter 2 Teacher Assistant Hanin Abdulrahman 1 2 Outline 2.2 Basic Definitions 2.3 Axiomatic Definition of Boolean Algebra. 2.4 Basic Theorems and Properties 2.5 Boolean Functions
More informationEE40 Lec 15. Logic Synthesis and Sequential Logic Circuits
EE40 Lec 15 Logic Synthesis and Sequential Logic Circuits Prof. Nathan Cheung 10/20/2009 Reading: Hambley Chapters 7.4-7.6 Karnaugh Maps: Read following before reading textbook http://www.facstaff.bucknell.edu/mastascu/elessonshtml/logic/logic3.html
More informationFunctions. Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways:
Boolean Algebra (1) Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: An expression is finite but not unique f(x,y)
More informationLogic Design. Chapter 2: Introduction to Logic Circuits
Logic Design Chapter 2: Introduction to Logic Circuits Introduction Logic circuits perform operation on digital signal Digital signal: signal values are restricted to a few discrete values Binary logic
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 information( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function
Question Paper Digital Electronics (EE-204-F) MDU Examination May 2015 1. (a) represent (32)10 in (i) BCD 8421 code (ii) Excess-3 code (iii) ASCII code (b) Design half adder using only NAND gates. ( c)
More informationCS 226: Digital Logic Design
CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions
More informationEvery time has a value associated with it, not just some times. A variable can take on any value within a range
Digital Logic Circuits Binary Logic and Gates Logic Simulation Boolean Algebra NAND/NOR and XOR gates Decoder fundamentals Half Adder, Full Adder, Ripple Carry Adder Analog vs Digital Analog Continuous»
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 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 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 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 informationCHAPTER 2 BOOLEAN ALGEBRA
CHAPTER 2 BOOLEAN ALGEBRA This chapter in the book includes: Objectives Study Guide 2.1 Introduction 2.2 Basic Operations 2.3 Boolean Expressions and Truth Tables 2.4 Basic Theorems 2.5 Commutative, Associative,
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 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 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 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 informationELCT201: DIGITAL LOGIC DESIGN
ELCT2: DIGITAL LOGIC DESIGN Dr. Eng. Haitham Omran, haitham.omran@guc.edu.eg Dr. Eng. Wassim Alexan, wassim.joseph@guc.edu.eg Lecture 2 Following the slides of Dr. Ahmed H. Madian ذو الحجة 438 ه Winter
More informationCombinatorial Logic Design Principles
Combinatorial Logic Design Principles ECGR2181 Chapter 4 Notes Logic System Design I 4-1 Boolean algebra a.k.a. switching algebra deals with boolean values -- 0, 1 Positive-logic convention analog voltages
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 informationDigital Circuit And Logic Design I. Lecture 3
Digital Circuit And Logic Design I Lecture 3 Outline Combinational Logic Design Principles (). Introduction 2. Switching algebra 3. Combinational-circuit analysis 4. Combinational-circuit synthesis Panupong
More informationChapter 2 : Boolean Algebra and Logic Gates
Chapter 2 : Boolean Algebra and Logic Gates By Electrical Engineering Department College of Engineering King Saud University 1431-1432 2.1. Basic Definitions 2.2. Basic Theorems and Properties of Boolean
More informationDHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6201 DIGITAL PRINCIPLES AND SYSTEM DESIGN
DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6201 DIGITAL PRINCIPLES AND SYSTEM DESIGN UNIT I : BOOLEAN ALGEBRA AND LOGIC GATES PART - A (2 MARKS) Number
More informationSwitches: basic element of physical implementations
Combinational logic Switches Basic logic and truth tables Logic functions Boolean algebra Proofs by re-writing and by perfect induction Winter 200 CSE370 - II - Boolean Algebra Switches: basic element
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 informationMODULAR CIRCUITS CHAPTER 7
CHAPTER 7 MODULAR CIRCUITS A modular circuit is a digital circuit that performs a specific function or has certain usage. The modular circuits to be introduced in this chapter are decoders, encoders, multiplexers,
More informationVidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution
. (a) (i) ( B C 5) H (A 2 B D) H S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution ( B C 5) H (A 2 B D) H = (FFFF 698) H (ii) (2.3) 4 + (22.3) 4 2 2. 3 2. 3 2 3. 2 (2.3)
More informationChapter 2. Boolean Algebra and Logic Gates
Chapter 2 Boolean Algebra and Logic Gates Basic Definitions A binary operator defined on a set S of elements is a rule that assigns, to each pair of elements from S, a unique element from S. The most common
More informationEx: Boolean expression for majority function F = A'BC + AB'C + ABC ' + ABC.
Boolean Expression Forms: Sum-of-products (SOP) Write an AND term for each input combination that produces a 1 output. Write the input variable if its value is 1; write its complement otherwise. OR the
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 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 informationChapter 2 Boolean Algebra and Logic Gates
Chapter 2 Boolean Algebra and Logic Gates The most common postulates used to formulate various algebraic structures are: 1. Closure. N={1,2,3,4 }, for any a,b N we obtain a unique c N by the operation
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 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 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 informationCHAPTER1: Digital Logic Circuits Combination Circuits
CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.
More informationBoolean Algebra and Logic Design (Class 2.2 1/24/2013) CSE 2441 Introduction to Digital Logic Spring 2013 Instructor Bill Carroll, Professor of CSE
Boolean Algebra and Logic Design (Class 2.2 1/24/2013) CSE 2441 Introduction to Digital Logic Spring 2013 Instructor Bill Carroll, Professor of CSE Today s Topics Boolean algebra applications in logic
More informationBoolean Algebra and Digital Logic 2009, University of Colombo School of Computing
IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of
More informationCS470: Computer Architecture. AMD Quad Core
CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1 Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction
More informationBoolean cubes EECS150. Mapping truth tables onto cubes. Simplification. The Uniting Theorem. Three variable example
EES5 Section 5 Simplification and State Minimization Fall 2 -cube X oolean cubes Visual technique for indentifying when the uniting theorem can be applied n input variables = n-dimensional "cube" Y 2-cube
More informationSolutions to Assignment No 5 Digital Techniques Fall 2007
Solutions to Assignment No 5 Digital Techniques Fall 2007 André Deutz October 19, 2007 1 Simplifying and Manipulating Boolean Expressions 1. Simplification (a) Simplify each of the following expressions,
More informationCHAPTER 7 MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES
CHAPTER 7 MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES This chapter in the book includes: Objectives Study Guide 7.1 Multi-Level Gate Circuits 7.2 NAND and NOR Gates 7.3 Design of Two-Level Circuits Using
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 informationDO NOT COPY DO NOT COPY
Drill Problems 3 benches. Another practical book is VHDL for Programmable Logic, by Kevin Skahill of Cypress Semiconductor (Addison-esley, 1996). All of the ABEL and VHDL examples in this chapter and throughout
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 informationFundamentals of Boolean Algebra
UNIT-II 1 Fundamentals of Boolean Algebra Basic Postulates Postulate 1 (Definition): A Boolean algebra is a closed algebraic system containing a set K of two or more elements and the two operators and
More informationBoolean Algebra & Logic Gates. By : Ali Mustafa
Boolean Algebra & Logic Gates By : Ali Mustafa Digital Logic Gates There are three fundamental logical operations, from which all other functions, no matter how complex, can be derived. These Basic functions
More informationLecture 2 Review on Digital Logic (Part 1)
Lecture 2 Review on Digital Logic (Part 1) Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/ Grading Engagement 5% Review Quiz 10% Homework 10% Labs 40%
More informationLogic and Computer Design Fundamentals. Chapter 2 Combinational Logic Circuits. Part 1 Gate Circuits and Boolean Equations
Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 28 Pearson Education, Inc. (Hperlinks are active in
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 information