Chapter 2 Boolean Algebra and Logic Gates
Chapter 2 Boolean Algebra and Logic Gates
Chapter 2 Boolean Algebra and Logic Gates
• 2.1 Introduction
• 2.2 Basic Definitions
• 2.3 Axiomatic Definition of Boolean Algebra
• 2.4 Basic Theorems and Properties of Boolean Algebra
• 2.5 Boolean Functions
• 2.6 Canonical and Standard Forms
• 2.7 Other Logic Operations
• 2.8 Digital Logic Gates
• 2.9 Integrated Circuits
2.1 Introduction
• What is an algebra?
• Mathematical system consisting of
• Set of elements
• Set of operators
• Axioms or postulates
• Why is it important?
• Defines rules of “calculations”
• Example: arithmetic on natural numbers
• Set of elements: N = {1,2,3,4,…}
• Operator: +, –, *
• Axioms: associativity, distributivity, closure, identity elements, etc.
• Note: operators with two inputs are called binary
• Does not mean they are restricted to binary numbers!
• Operator(s) with one input are called unary
2.1 Basic Definitions
4. Identity element: a set S is said to have an identity element with respect to a binary
operation * on S if there exists an element eS with the property that
• e * x = x * e = x for every xS
• 0+x = x+0 =x for every xI . I = {…, -3, -2, -1, 0, 1, 2, 3, …}.
• 1*x = x*1 =x for every xI. I = {…, -3, -2, -1, 0, 1, 2, 3, …}.
5. Inverse: a set having the identity element e with respect to the binary operator to
have an inverse whenever, for every xS, there exists an element yS such that
• x*y=e
• The operator + over I, with e = 0, the inverse of an element a is (-a), since a+(-a) = 0.
6. Distributive law: if * and .are two binary operators on a set S, * is said to be
distributive over . whenever
• x * (y.z) = (x * y).(x * z)
2.3 Axiomatic Definition of Boolean Algebra
• Boolean Algebra
• Terminology:
• Literal: A variable or its complement
• Product term: literals connected by •
• Sum term: literals connected by +
2.3 Axiomatic Definition of Boolean Algebra
NOT
x x'
0 1
1 0
2.3 Axiomatic Definition of Boolean Algebra
• Note
• A set of two elements
• + : OR operation; .: AND operation
• A complement operator: NOT operation
• Binary logic is a two-valued Boolean algebra
2.4 Basic Theorems and Properties of Boolean Algebra
Duality
• The principle of duality is an important concept. This says that if an expression
is valid in Boolean algebra, the dual of that expression is also valid.
• To form the dual of an expression, replace all + operators with . operators, all .
operators with + operators, all ones with zeros, and all zeros with ones.
• Form the dual of the expression
a + (bc) = (a + b)(a + c)
• Following the replacement rules…
a(b + c) = ab + ac
• Take care not to alter the location of the parentheses if they are present.
• Another example: x'y + xy' = (x' + y)(x + y')
2.4 Basic Theorems and Properties of Boolean Algebra
Basic Theorems
2.4 Basic Theorems and Properties of Boolean Algebra
Note that theorem 1(b) is the dual of theorem 1(a) and that each step of the proof in part (b)
is the dual of its counterpart in part (a). Any dual theorem can be similarly derived from the
proof of its corresponding theorem.
2.4 Basic Theorems and Properties of Boolean Algebra
Post. 1:
closure
Post. 2:
(a) x+0=x, (b) x·1=x
Post. 3:
(a) x+y=y+x, (b) x·y=y·x
Post. 4:
(a) x(y+z) = xy+xz,
(b) x+yz = (x+y)(x+z)
Post. 5: (a) x+x’=1, (b) x·x’=0
Since the complement is unique, we have (x’)’ = x. The theorems involving two or three
variables may be proven algebraically from the postulates and the theorems that have already
been proven. Take, for example, the absorption theorem:
2.4 Basic Theorems and Properties of Boolean Algebra
Operator Precedence
• The operator precedence for evaluating Boolean Expression is
• Parentheses
• NOT
• AND
• OR
• Examples
• x y' + z
• (x y + z)'
2.5 Boolean Functions
Boolean Functions
• A Boolean function
• Binary variables
• Binary operators OR and AND
• Unary operator NOT
• Parentheses
• Examples
• F1= x y z'
• F2 = x + y'z
• F3 = x' y' z + x' y z + x y'
• F4 = x y' + x' z
2.5 Boolean Functions
F4 = x y' + x' z
2.5 Boolean Functions
Algebraic Manipulation
• To minimize Boolean expressions
• Literal: a primed or unprimed variable (an input to a gate)
• Term: an implementation with a gate
• The minimization of the number of literals and the number of terms → a circuit with less equipment
• It is a hard problem (no specific rules to follow)
• Example 2.1
2.5 Boolean Functions
Algebraic Manipulation
• To minimize Boolean expressions
• Literal: a primed or unprimed variable (an input to a gate)
• Term: an implementation with a gate
• The minimization of the number of literals and the number of terms → a circuit with less equipment
• It is a hard problem (no specific rules to follow)
• Example 2.1
2.5 Boolean Functions
Complement of a Function
• An interchange of 0's for 1's and 1's for 0's in the value of F
• By DeMorgan's theorem
• (A+B+C)' = (A+X)' let B+C = X
= A'X' by theorem 5(a) (DeMorgan's)
= A'(B+C)' substitute B+C = X
= A'(B'C') by theorem 5(a) (DeMorgan's)
= A'B'C' by theorem 4(b) (associative)
• Generalizations: a function is obtained by interchanging AND and OR operators
and complementing each literal.
• (A+B+C+D+ ... +F)' = A'B'C'D'... F'
• (ABCD ... F)' = A'+ B'+C'+D' ... +F'
2.5 Boolean Functions
Sum of Minterms
• Sum of minterms: there are 2n minterms and 22n combinations of function with
n Boolean variables.
• Example 2.4: express F = A+BC' as a sum of minterms.
• F = A+B’C
• F = A'B'C +AB'C' +AB'C+ABC'+ ABC = m1 + m4 +m5 + m6 + m7
• F(A, B, C) = S(1, 4, 5, 6, 7)
• or, built the truth table first
2.6 Canonical and Standard Forms
Product of Maxterms
• Product of maxterms: using distributive law to expand.
• x + yz = (x + y)(x + z) = (x+y+zz')(x+z+yy') = (x+y+z)(x+y+z')(x+y'+z)
• Example 2.5: express F = xy + x'z as a product of maxterms.
• Converting the function into OR terms by using the distributive law
• F = xy + x’z = (xy + x’)(xy + z)
= (x + x’)(y + x’)(x + z)(y + z)
= (x’ + y)(x + z)(y + z)
• The function has three variables: x, y, and z. Each OR term is missing one variable; therefore,
x' + y = x’ + y + zz’ = (x’ + y + z)(x’ + y + z’)
x + z = x + z + yy’ = (x + y + z)(x + y’ + z)
y + z = y + z + xx’ = (x + y + z)(x’ + y + z)
• Combining all the terms and removing those which appear more than once, we finally obtain
F = (x + y + z)(x + y’ + z)(x’ + y + z)(x’ + y + z’)
= M0M2M4M5
F(x, y, z) = P(0, 2, 4, 5)
2.6 Canonical and Standard Forms
• F(x, y, z) = S(1, 3, 6, 7)
• F(x, y, z) = P (0, 2, 4, 5)
2.6 Canonical and Standard Forms
Standard Forms
• Canonical forms are very seldom the ones with the least number of literals.
• Standard forms: the terms that form the function may obtain one, two, or any
number of literals.
• Sum of products: F1 = y' + xy+ x'yz'
• Product of sums: F2 = x(y'+z)(x'+y+z')
• F3 = A'B'CD+ABC'D'
2.6 Canonical and Standard Forms
Standard Forms
• Two-level implementation
• Multi-level implementation
2.7 Other Logic Operations
Boolean Expressions
2.8 Digital Logic Gates
Standard Gates
• Consider the 16 functions in Table 2.8
• Two are equal to a constant (F0 and F15).
• Four are repeated twice (F4, F5, F10 and F11).
• Inhibition (F2) and implication (F13) are not commutative or associative.
• The other eight: complement (F12), transfer (F3), AND (F1), OR (F7), NAND (F14), NOR (F8),
XOR (F6), and equivalence (XNOR) (F9) are used as standard gates.
• Complement: inverter.
• Transfer: buffer (increasing drive strength).
• Equivalence: XNOR.
2.8 Digital Logic Gates
Multiple Inputs
• Extension to multiple inputs
• A gate can be extended to multiple inputs.
• If its binary operation is commutative and associative.
• AND and OR are commutative and associative.
• OR
• x+y = y+x
• (x+y)+z = x+(y+z) = x+y+z
• AND
• xy = yx
• (x y)z = x(y z) = x y z
2.8 Digital Logic Gates
Multiple Inputs
• NAND and NOR are commutative but not associative → they are not
extendable.
Multiple Inputs
• Multiple NOR = a complement of OR gate,
• Multiple NAND = a complement of AND.
• The cascaded NAND operations = sum of products.
• The cascaded NOR operations = product of sums.
Multiple Inputs
• The XOR and XNOR gates are commutative and associative.
• Multiple-input XOR gates are rare?
• XOR is an odd function: it is equal to 1 if the inputs variables have an odd number of 1’s.
• XNOR is an even function: it is equal to 1 if the inputs variables have an even number of 1's.
Level of Integration
• An IC (a chip)
• Examples:
• Small-scale Integration (SSI): < 10 gates
• Medium-scale Integration (MSI): 10 ~ 100 gates
• Large-scale Integration (LSI): 100 ~ xk gates
• Very Large-scale Integration (VLSI): > xk gates
• VLSI
• Small size (compact size)
• Low cost
• Low power consumption
• High reliability
• High speed
2.9 Integrated Circuits
Chip Design
• Why is it better to have more gates on a single chip?
• Easier to build systems
• Lower power consumption
• Higher clock frequencies