ENEE244-02xx Digital Logic Design Lecture 5 Announcements • Homework 1 solutions are on Canvas • Homework 2 due on Thursday • Coming up: First midterm on Sept. 30 Agenda • Last time: – Boolean Algebra axioms and theorems (3.1,3.2) – Canonical Forms (3.5) • This time: – Finish up Canonical Forms (3.5) – Manipulations of Boolean Formulas (3.6) – Gates and Combinational Networks (3.7) – Incomplete Boolean Functions and Don’t Care Conditions (3.8 ) Canonical Forms (Review) X Y Z f 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 • 𝑓 𝑥, 𝑦, 𝑧 = Σ𝑚(1,3,4) • 𝑓 𝑥, 𝑦, 𝑧 = Π𝑀(0,2,5,6,7) Canonical Forms Conversion • Minterm to Maxterm: – 𝑓 𝑥, 𝑦, 𝑧 = Σ𝑚 2,5,6,7 – 𝑓 𝑥, 𝑦, 𝑧 = Σ𝑚 0,1,3,4 – 𝑓 𝑥, 𝑦, 𝑧 = Π𝑀 0,1,3,4 • Maxterm to Minterm: – 𝑓 𝑥, 𝑦, 𝑧 = Π𝑀 1,2,3,5,7 – 𝑓 𝑥, 𝑦, 𝑧 = Π𝑀 0,4,6 – 𝑓 𝑥, 𝑦, 𝑧 = Σ𝑚 0,4,6 Manipulations of Boolean Formulas Equation Complementation • For every Boolean function 𝑓 there is an associated complementary function 𝑓 in which 𝑓 𝑥1 , … , 𝑥𝑛 = 1 iff 𝑓 𝑥1 , … , 𝑥𝑛 = 0. • Example: 𝑓 = 𝑤𝑥𝑧 + 𝑤 𝑥 + 𝑦𝑧 𝑓 = 𝑤𝑥𝑧 + 𝑤 𝑥 + 𝑦𝑧 Equation Complementation • Use DeMorgan’s Law to simplify: 𝑓 = 𝑤𝑥𝑧 + 𝑤 𝑥 + 𝑦𝑧 = (𝑤𝑥𝑧) [𝑤 𝑥 + 𝑦𝑧 ] = 𝑤 + 𝑥 + 𝑧 𝑤 𝑥 + 𝑦𝑧 = 𝑤 + 𝑥 + 𝑧 [𝑤 + 𝑥 + 𝑦𝑧 ] = 𝑤 + 𝑥 + 𝑧 [𝑤 + 𝑥 (𝑦 + 𝑧) ] Expansion about a Variable • Rewrite a Boolean formula 𝑓(𝑥1 , … , 𝑥𝑛 ) so that it has the structure: 𝑓 𝑥1 , … , 𝑥𝑛 = 𝑥𝑖 𝑔1 + 𝑥𝑖 𝑔2 OR 𝑓 𝑥1 , … , 𝑥𝑛 = (𝑥𝑖 +ℎ1 ) 𝑥𝑖 +ℎ2 Expansion about a Variable Theorem 3.11 (a)𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = 𝑥𝑖 ⋅ 𝑓 𝑥1 , … , 1, … , 𝑥𝑛 + 𝑥𝑖 ⋅ 𝑓(𝑥1 , … , 0, … , 𝑥𝑛 ) (b) 𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = (𝑥𝑖 +𝑓 𝑥1 , … , 1, … , 𝑥𝑛 )(𝑥𝑖 + 𝑓 𝑥1 , … , 0, … , 𝑥𝑛 ) Expansion about a Variable • Examples: 𝑓 𝑤, 𝑥, 𝑦, 𝑧 = 𝑤 𝑥 + 𝑤𝑥 + 𝑦 𝑧 Expansion about 𝑥: (𝑥𝑔1 + 𝑥𝑔2 ) 𝑥𝑓 𝑤, 1, 𝑦, 𝑧 + 𝑥𝑓 𝑤, 0, 𝑦, 𝑧 = 𝑥 𝑤 + 𝑦 𝑧 + 𝑥(𝑤 + 𝑦𝑧) Shannon’s Reduction Theorems • Used for obtaining simplified Boolean formula. Theorem 3.12 (a) 𝑥𝑖 ⋅ 𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = 𝑥𝑖 ⋅ 𝑓(𝑥1 , … , 1, … , 𝑥𝑛 ) (b) 𝑥𝑖 + 𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = 𝑥𝑖 + 𝑓(𝑥1 , … , 0, … , 𝑥𝑛 ) Theorem 3.13 (a)𝑥𝑖 ⋅ 𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = 𝑥𝑖 ⋅ 𝑓(𝑥1 , … , 0, … , 𝑥𝑛 ) (b) 𝑥𝑖 + 𝑓 𝑥1 , … , 𝑥𝑖 , … , 𝑥𝑛 = 𝑥𝑖 + 𝑓(𝑥1 , … , 1, … , 𝑥𝑛 ) Example of Equation Simplification 𝑓 𝑤, 𝑥, 𝑦, 𝑧 = 𝑥 + 𝑥 𝑦 + 𝑤 𝑥(𝑤 + 𝑧)(𝑦 + 𝑤𝑧) = 𝑥 + 𝑦 + 𝑤 𝑤 + 𝑧 (𝑦 + 𝑤𝑧) = 𝑥 + 𝑦 + 𝑤𝑧 (𝑦 + 𝑧) = 𝑦 + 𝑥 + 𝑤𝑧 (𝑦 + 𝑧) = 𝑦 + 𝑥 + 𝑤𝑧 Gates and Combinational Networks Digital Logic Gates • • • • AND 𝑓 𝑥, 𝑦 = 𝑥𝑦 OR 𝑓 𝑥, 𝑦 = 𝑥 + 𝑦 NOT (Inverter) 𝑓 𝑥 =𝑥 Buffer (Transfer) 𝑓 𝑥 =𝑥 • • • • NAND 𝑓 𝑥, 𝑦 = (𝑥𝑦) = 𝑥 + 𝑦 NOR 𝑓 𝑥, 𝑦 = 𝑥 + 𝑦 = 𝑥 𝑦 XOR 𝑓 𝑥, 𝑦 = 𝑥 𝑦 + 𝑥 𝑦 = 𝑥 ⊕ 𝑦 X-NOR (Equivalence) 𝑓 𝑥, 𝑦 = 𝑥𝑦 + 𝑥 𝑦 Gates and Combinational Networks • Synthesis Procedure • Example: Truth table for parity function on three variables X Y Z f 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Synthesis Procedure X Y Z f 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Minterm Canonical Form: 𝑓 𝑥, 𝑦, 𝑧 = 𝑥 𝑦𝑧 + 𝑥𝑦 𝑧 + 𝑥𝑦 𝑧 + xyz Two-level Gate Network Minterm Canonical Form: 𝑓 𝑥, 𝑦, 𝑧 = 𝑥 𝑦𝑧 + 𝑥𝑦 𝑧 + 𝑥𝑦 𝑧 + 𝑥𝑦𝑧 𝑥 𝑦 𝑧 𝑥 𝑦 𝑧 𝑥 𝑦 𝑧 𝑥 𝑦 𝑧 Incomplete Boolean Functions and Don’t Care Conditions Incomplete Boolean Functions and Don’t Care Conditions • n-variable incomplete Boolean function is represented by a truth table with n+1 columns and 2𝑛 rows. • For those combinations of values in which a functional value is not to be specified, a symbol, -, is entered. • The complement of an incomplete Boolean function is also an incomplete Boolean function having the same unspecified rows of the truth table. Describing Incomplete Boolean Functions X Y Z F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 -- 1 0 0 0 1 0 1 -- 1 1 0 0 1 1 1 1 Minterm canonical formula: 𝑓 𝑥, 𝑦, 𝑧 = ∑𝑚 0,1,7 + 𝑑𝑐(3,5) Describing Incomplete Boolean Functions X Y Z F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 -- 1 0 0 0 1 0 1 -- 1 1 0 0 1 1 1 1 Maxterm canonical formula: 𝑓 𝑥, 𝑦, 𝑧 = Π𝑀 2,4,6 + 𝑑𝑐(3,5) Describing Incomplete Boolean Functions • Manipulating Boolean equations derived from incomplete Boolean functions is a very difficult task. • In the next chapter, there are procedures for obtaining minimal expressions that can handle the don’t care conditions. • Can leverage don’t care conditions to get simplified expressions for functions (smaller gate networks). {𝑥𝑦, 𝑥𝑦} {𝑥𝑦, 𝑥 𝑦}