Digital Logic Circuits - Switching Algebra - Combinational Circuits -

Size: px
Start display at page:

Download "Digital Logic Circuits - Switching Algebra - Combinational Circuits -"

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 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 information

Ch 2. Combinational Logic. II - Combinational Logic Contemporary Logic Design 1

Ch 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 information

Possible logic functions of two variables

Possible 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 information

Combinational logic. Possible logic functions of two variables. Minimal set of functions. Cost of different logic functions.

Combinational 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 information

L2: Combinational Logic Design (Construction and Boolean Algebra)

L2: 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 information

EECS Variable Logic Functions

EECS 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 information

Combinational Logic. Review of Combinational Logic 1

Combinational 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 information

Week-I. Combinational Logic & Circuits

Week-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 information

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

Review. 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 information

Lecture A: Logic Design and Gates

Lecture 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 information

Combinational Logic (mostly review!)

Combinational 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 information

DIGITAL ELECTRONICS & it0203 Semester 3

DIGITAL 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 information

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - 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 information

CHAPTER III BOOLEAN ALGEBRA

CHAPTER 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 information

CHAPTER III BOOLEAN ALGEBRA

CHAPTER 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 information

for Digital Systems Simplification of logic functions Tajana Simunic Rosing Sources: TSR, Katz, Boriello & Vahid

for 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 information

Chapter 2 Boolean Algebra and Logic Gates

Chapter 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 information

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

2009 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 information

Lecture 6: Manipulation of Algebraic Functions, Boolean Algebra, Karnaugh Maps

Lecture 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 information

UNIT 5 KARNAUGH MAPS Spring 2011

UNIT 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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Combinational Logic Fundamentals

Combinational 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 information

Chap 2. Combinational Logic Circuits

Chap 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 information

Number System conversions

Number 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 information

ENG2410 Digital Design Combinational Logic Circuits

ENG2410 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 information

Chapter 3. Boolean Algebra. (continued)

Chapter 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 information

Chapter 2: Switching Algebra and Logic Circuits

Chapter 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 information

ELC224C. Karnaugh Maps

ELC224C. 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 information

L2: Combinational Logic Design (Construction and Boolean Algebra)

L2: 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 information

Digital Logic Design. Combinational Logic

Digital 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 information

Unit 2 Session - 6 Combinational Logic Circuits

Unit 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 information

PI = { a.b.c, ac d, b cd, ab d, bd} cd

PI = { 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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Digital Circuit And Logic Design I. Lecture 4

Digital 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 information

Chapter 2 Combinational Logic Circuits

Chapter 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 information

Chapter 2: Boolean Algebra and Logic Gates

Chapter 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 information

Midterm1 Review. Jan 24 Armita

Midterm1 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 information

E&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 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 information

Slide 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 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 information

II. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):

II. 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 information

Contents. Chapter 3 Combinational Circuits Page 1 of 36

Contents. 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 information

Simplification of Boolean Functions. Dept. of CSE, IEM, Kolkata

Simplification 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 information

L2: Combinational Logic Design (Construction and Boolean Algebra)

L2: 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 information

Chapter 4 Optimized Implementation of Logic Functions

Chapter 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 information

MC9211 Computer Organization

MC9211 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 information

Advanced Digital Design with the Verilog HDL, Second Edition Michael D. Ciletti Prentice Hall, Pearson Education, 2011

Advanced 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 information

Combinational Logic Design Principles

Combinational 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 information

E&CE 223 Digital Circuits & Systems. Lecture Transparencies (Boolean Algebra & Logic Gates) M. Sachdev. Section 2: Boolean Algebra & Logic Gates

E&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 information

EC-121 Digital Logic Design

EC-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 information

CS 121 Digital Logic Design. Chapter 2. Teacher Assistant. Hanin Abdulrahman

CS 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 information

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EE40 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 information

Functions. Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways:

Functions. 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 information

Logic Design. Chapter 2: Introduction to Logic Circuits

Logic 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 information

UNIT 4 MINTERM AND MAXTERM EXPANSIONS

UNIT 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

( 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 information

CS 226: Digital Logic Design

CS 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 information

Every time has a value associated with it, not just some times. A variable can take on any value within a range

Every 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 information

Chapter 7 Logic Circuits

Chapter 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 information

Unit 6. Quine-McClusky Method. Unit 6 1

Unit 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 information

Karnaugh Maps Objectives

Karnaugh 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 information

This form sometimes used in logic circuit, example:

This 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 information

CHAPTER 2 BOOLEAN ALGEBRA

CHAPTER 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 information

Optimizations and Tradeoffs. Combinational Logic Optimization

Optimizations 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 information

CS/EE 181a 2010/11 Lecture 4

CS/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 information

The 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 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 information

Simplifying Logic Circuits with Karnaugh Maps

Simplifying 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 information

ELCT201: DIGITAL LOGIC DESIGN

ELCT201: 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 information

Combinatorial Logic Design Principles

Combinatorial 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 information

211: Computer Architecture Summer 2016

211: 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 information

Digital Circuit And Logic Design I. Lecture 3

Digital 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 information

Chapter 2 : Boolean Algebra and Logic Gates

Chapter 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 information

DHANALAKSHMI 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 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 information

Switches: basic element of physical implementations

Switches: 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 information

Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions

Lecture 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 information

MODULAR CIRCUITS CHAPTER 7

MODULAR 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 information

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Vidyalankar 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 information

Chapter 2. Boolean Algebra and Logic Gates

Chapter 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 information

Ex: Boolean expression for majority function F = A'BC + AB'C + ABC ' + ABC.

Ex: 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 information

EEE130 Digital Electronics I Lecture #4

EEE130 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 information

CHAPTER 5 KARNAUGH MAPS

CHAPTER 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 information

Chapter 2 Boolean Algebra and Logic Gates

Chapter 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 information

Lecture 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 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 information

Gate-Level Minimization

Gate-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 information

L4: 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 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 information

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER1: 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 information

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

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 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 information

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Boolean 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 information

CS470: Computer Architecture. AMD Quad Core

CS470: 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 information

Boolean cubes EECS150. Mapping truth tables onto cubes. Simplification. The Uniting Theorem. Three variable example

Boolean 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 information

Solutions to Assignment No 5 Digital Techniques Fall 2007

Solutions 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 information

CHAPTER 7 MULTI-LEVEL GATE CIRCUITS NAND AND NOR GATES

CHAPTER 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 information

Review for Test 1 : Ch1 5

Review 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 information

DO NOT COPY DO NOT COPY

DO 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 information

UNIT 3 BOOLEAN ALGEBRA (CONT D)

UNIT 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 information

Fundamentals of Boolean Algebra

Fundamentals 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 information

Boolean Algebra & Logic Gates. By : Ali Mustafa

Boolean 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 information

Lecture 2 Review on Digital Logic (Part 1)

Lecture 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 information

Logic 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 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 information

Minimization techniques

Minimization 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