EECS150 - Digital Design Lecture 7 - Boolean Algebra IIOutlineCanonical FormsSum of Products (cont.)Slide 5Two-level Logic SimplicationBoolean Cubes3-variable cube exampleKarnaugh Map MethodSlide 10K-maps (cont.)BCD incrementer exampleHigher Dimensional K-mapsMulti-level Combinational LogicSlide 15NAND-NAND & NOR-NOR NetworksSlide 17Slide 18Multi-level NetworksEXOR FunctionSpring 2002 EECS150 - Lec7-Bool2Page 1EECS150 - Digital DesignLecture 7 - Boolean Algebra IIFebruary 12, 2002John WawrzynekSpring 2002 EECS150 - Lec7-Bool2Page 2Outline•Canonical Forms –They give us a method to go from TT to Boolean Equations•Two-level Logic Simplification–K-map method•Multi-level Logic•NAND/NOR networks•EXOR revisitedSpring 2002 EECS150 - Lec7-Bool2Page 3Canonical Forms•Standard form for a Boolean expression - unique algebraic expression from a TT.•Two Types:*Sum of Products (SOP)*Product of Sums (POS)•Sum of Products (disjunctive normal form, minterm expansion). Example:minterms a b c f f’a’b’c’ 0 0 0 0 1a’b’c 0 0 1 0 1a’bc’ 0 1 0 0 1a’bc 0 1 1 1 0ab’c’ 1 0 0 1 0ab’c 1 0 1 1 0abc’ 1 1 0 1 0abc 1 1 1 1 0 One product (and) term for each 1 in f:f = a’bc + ab’c’ + ab’c +abc’ +abcf’ = a’b’c’ + a’b’c + a’bc’Spring 2002 EECS150 - Lec7-Bool2Page 4Sum of Products (cont.)Canonical Forms are usually not minimal:Our Example:f = a’bc + ab’c’ + ab’c + abc’ +abc = a’bc + ab’ + ab = a’bc + a (x’y + x = y + x) = a + bcf’ = a’b’c’ + a’b’c + a’bc’ = a’b’ + a’bc’ = a’ ( b’ + bc’ ) = a’ ( b’ + c’ ) = a’b’ + a’c’Spring 2002 EECS150 - Lec7-Bool2Page 5Canonical Forms•Product of Sums (conjunctive normal form, maxterm expansion). Example:maxterms a b c f f’a+b+c 0 0 0 0 1a+b+c’ 0 0 1 0 1a+b’+c 0 1 0 0 1a+b’+c’ 0 1 1 1 0a’+b+c 1 0 0 1 0a’+b+c’ 1 0 1 1 0a’+b’+c 1 1 0 1 0a’+b’+c’ 1 1 1 1 0One sum (or) term for each 0 in f:f = (a+b+c)(a+b+c’)(a+b’+c)f’ = (a+b’+c’)(a’+b+c)(a’+b+c’)(a’+b’+c)(a+b+c’)Mapping from SOP to POS (or POS to SOP): Derive TT then proceed.Spring 2002 EECS150 - Lec7-Bool2Page 6Two-level Logic SimplicationKey tool: The Uniting Theorem x (y’ + y) = x (1) = xa b f f = ab’ + ab = a(b’+b) = a0 0 0 b values change within0 1 0 the on-set rows 1 0 1 a values don’t change1 1 1 b is eliminated, a remainsa b g g = a’b’+ab’ = (a’+a)b’ =b’0 0 1 b values stay the same0 1 0 a values changes 1 0 11 1 0 b’ remains, a eliminatedSpring 2002 EECS150 - Lec7-Bool2Page 7Boolean CubesVisual technique for identifying when the Uniting Theorem can be applied 1 - c u b e0 1x2 - c u b e0 1 1 10 0 1 0x y0 1 1 1 1 11 1 00 0 10 0 0 1 0 00 1 01 0 1yxz3 - c u b e•Sub-cubes of on nodes can be used for simplification.–On-set - filled in nodes, off-set - empty nodesa b f g0 0 0 10 1 0 01 0 1 11 1 1 00 1 1 10 0 1 0fbaa a s s e r t e d & u n c h a n g e db v a r i e s a b + a b ' = aSpring 2002 EECS150 - Lec7-Bool2Page 83-variable cube exampleFA carry out:a b c cout0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 10 1 1 1 1 11 1 00 0 10 0 0 1 0 00 1 01 0 1bac( a ' + a ) b ca b ( c ' + c )a ( b + b ' ) cc o u t = b c + a b + a c0 1 1 1 1 11 1 00 0 10 0 0 1 0 00 1 01 0 1bacab’c’ + ab’c + abc’ + abc ac’ + ac + ab = a + ab = a•Both b & c change, a is asserted & remains constant.What about larger sub-cubes?Spring 2002 EECS150 - Lec7-Bool2Page 9Karnaugh Map Method•K-map is an alternative method of representing the TT and to help visual the adjacencies.0 101abca b0 0 0 1 1 1 1 001a bc d 0 0 0 1 1 1 1 00 00 11 11 05 & 6 v a r i a b l e k - m a p s p o s s i b l eSpring 2002 EECS150 - Lec7-Bool2Page 10Karnaugh Map Method•Examplesg = b '0 101abca b0 0 0 1 1 1 1 0010 101abca b0 0 0 1 1 1 1 0010 10 1f = a0 0 1 00 1 1 1c o u t = a b + b c + a c1 10 00 0 1 10 0 1 1f = a1. Circle the largest groups possible.2. Group dimensions must be a power of 2.Spring 2002 EECS150 - Lec7-Bool2Page 11K-maps (cont.)ca b0 0 0 1 1 1 1 0011 0 0 10 0 1 1f = b ' c ' + a ca bc d 0 0 0 1 1 1 1 00 00 11 11 01 0 0 10 1 0 01 1 1 11 1 1 1f = c + a ' b d + b ' d '( b i g g e r g r o u p s a r e b e t t e r )Circling Zerosa bc d 0 0 0 1 1 1 1 00 00 11 11 01 0 000 0111 1 1 11111f = ( b ' + c + d ) ( a ' + c + d ' ) ( b + c + d ' )Spring 2002 EECS150 - Lec7-Bool2Page 12BCD incrementer examplea b c d w x y z0 0 0 0 0 0 0 10 0 0 1 0 0 1 00 0 1 0 0 0 1 10 0 1 1 0 1 0 00 1 0 0 0 1 0 10 1 0 1 0 1 1 00 1 1 0 0 1 1 10 1 1 1 1 0 0 01 0 0 0 1 0 0 11 0 0 1 0 0 0 01 0 1 0 - - - -1 0 1 1 - - - -1 1 0 0 - - - -1 1 0 1 - - - -1 1 1 0 - - - -1 1 1 1 - - - -0 0 0 1 1 10 00 11 11 01 1a bc d0 0 0 1 1 10 00 11 11 01 1a bc d0 0 0 1 1 10 00 11 11 01 1a bc d0 0 0 1 1 10 00 11 11 01 1a bc dw xy z0000 00000000000 00 000 0 0 00 011 11111 11 11 1 11 1--- ------ ---------------w = x =y = z =Spring 2002 EECS150 - Lec7-Bool2Page 13Higher Dimensional K-maps0 0 0 1 1 1 1 00 01 01 11 0b cd ea = 10 0 0 1 1 1 1 00 01 01 11 0a = 00 0 0 1 1 1 1 00 01 01 11 0c …
View Full Document