Chapter 2 Boolean Algebra and Logic Gates

Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

Chapter 2

Boolean Algebra and Logic Gate


Boolean Algebra and Logic Gate

• 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

• A set is collection of having the same property.


• S: set, x and y: element or event
• For example: S = {1, 2, 3, 4}
• If x = 2, then xS.
• If y = 5, then y S.
• A binary operator defines on a set S of elements is a rule that assigns, to each
pair of elements from S, a unique element from S.
• For example, given a set S, consider a*b = c and * is a binary operator.
• If (a, b) through * get c and a, b, cS, then * is a binary operator of S.
• On the other hand, if * is not a binary operator of S and a, bS, then c  S.
2.1 Basic Definitions

• The most common postulates used to formulate various algebraic


structures are as follows:
1.Closure: a set S is closed with respect to a binary operator if, for every pair of
elements of S, the binary operator specifies a rule for obtaining a unique element of S.
• For example, natural numbers N={1,2,3,...} is closed w.r.t. the binary operator + by the rule of
arithmetic addition, since, for any a, bN, there is a unique cN such that
• a+b = c
• But operator – is not closed for N, because 2-3 = -1 and 2, 3 N, but (-1)N.
2.Associative law: a binary operator * on a set S is said to be associative whenever
• (x * y) * z = x * (y * z) for all x, y, zS
• (x+y)+z = x+(y+z)
3.Commutative law: a binary operator * on a set S is said to be commutative whenever
• x * y = y * x for all x, yS
• x+y = y+x
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 eS with the property that
• e * x = x * e = x for every xS
• 0+x = x+0 =x for every xI . I = {…, -3, -2, -1, 0, 1, 2, 3, …}.
• 1*x = x*1 =x for every xI. 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 xS, there exists an element yS 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

• A set is collection of having the same property.


• S: set, x and y: element or event
• For example: S = {1, 2, 3, 4}
• If x = 2, then xS.
• If y = 5, then y S.
• A binary operator defines on a set S of elements is a rule that assigns, to each
pair of elements from S, a unique element from S.
• For example, given a set S, consider a*b = c and * is a binary operator.
• If (a, b) through * get c and a, b, cS, then * is a binary operator of S.
• On the other hand, if * is not a binary operator of S and a, bS, then c  S.
2.3 Axiomatic Definition of Boolean Algebra

• We need to define algebra for binary values


• Developed by George Boole in 1854
• Huntington postulates for Boolean algebra (1904):
• B = {0, 1} and two binary operations, + and.
• Closure with respect to operator + and operator ·
• Identity element 0 for operator + and 1 for operator ·
• Commutativity with respect to + and ·
x+y = y+x, x·y = y·x
• Distributivity of · over +, and + over ·
x·(y+z) = (x·y)+(x·z) and x+(y·z) = (x+y)·(x+z)
• Complement for every element x is x’ with x+x’=1, x·x’=0
• There are at least two elements x,yB such that xy
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

Postulates of Two-Valued Boolean Algebra


• B = {0, 1} and two binary operations, + and.
• The rules of operations: AND、OR and NOT.
AND OR
x y x.y x y x+y
1.Closure (+ and‧) 0 0 0 0 0 0
2.The identity elements 0 1 0 0 1 1
(1) + : 0 1 0 0 1 0 1
(2).: 1 1 1 1 1 1 1

NOT
x x'
0 1
1 0
2.3 Axiomatic Definition of Boolean Algebra

Postulates of Two-Valued Boolean Algebra


3. The commutative laws
4. The distributive laws

x y z y+z x.(y+z) x.y x. z (x.y)+(x.z)


0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 1 0 0 0 0
0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0
1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1
2.3 Axiomatic Definition of Boolean Algebra

Postulates of Two-Valued Boolean Algebra


5. Complement
• x+x'=1 → 0+0'=0+1=1; 1+1'=1+0=1
• x.x'=0 → 0.0'=0.1=0; 1.1'=1.0=0
6. Has two distinct elements 1 and 0, with 0 ≠ 1

• 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

Boolean Theorems Post. 1:


closure
Post. 2:
(a) x+0=x, (b) x·1=x
• Huntington’s postulates define some rules Post. 3:
(a) x+y=y+x, (b) x·y=y·x
Post. 4:
(a) x(y+z) = xy+xz,
• Need more rules to modify (b) x+yz = (x+y)(x+z)
algebraic expressions Post. 5: (a) x+x’=1, (b) x·x’=0

• Theorems that are derived from postulates


• What is a theorem?
• A formula or statement that is derived from postulates (or other proven theorems)
• Basic theorems of Boolean algebra
• Theorem 1 (a): x + x = x (b): x · x = x
• Looks straight forward but needs to be proven !
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

From postulate 5, we have x + x’ = 1 and x . x’ = 0, which together define the


complement of x. The complement of x’ is x and is also (x’)’.
2.4 Basic Theorems and Properties of Boolean Algebra

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

The theorems of Boolean algebra can be


proven by means of truth tables. In truth
tables, both sides of the relation are
checked to see whether they yield identical
results for all possible combinations of the
variables involved. The following truth table
verifies the first absorption theorem.

The algebraic proofs of the associative law


and DeMorgan’s theorem are long and will
not be shown here. However, their validity is
easily shown with truth tables. For example,
the truth table for the first DeMorgan’s
theorem, (x + y)’ = x’y’, is as follows
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

• The truth table of 2n entries


x y z F1 F2 F3 F4
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 0 0 0 0
0 1 1 0 0 1 1
1 0 0 0 1 1 1
1 0 1 0 1 1 1
1 1 0 1 1 0 0
1 1 1 0 1 0 0

• Two Boolean expressions may specify the same function


• F3 = F4
2.5 Boolean Functions

• Implementation with logic gates


• F4 is more economical
F2 = x + y'z

F3 = x' y' z + x' y z + x y'

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

Complement of a Function -- Examples


• Example 2.2
• F1' = (x'yz' + x'y'z)' = (x'yz')' (x'y'z)' = (x+y'+z) (x+y+z')
• F2' = [x(y'z'+yz)]' = x' + (y'z'+yz)' = x' + (y'z')' (yz)‘
= x' + (y+z) (y'+z')
= x' + yz‘+y'z
• Example 2.3: a simpler procedure
• Take the dual of the function and complement each literal
1.F1 = x'yz' + x'y'z.
The dual of F1 is (x'+y+z') (x'+y'+z).
Complement each literal: (x+y'+z)(x+y+z') = F1'
2.F2 = x(y' z' + yz).
The dual of F2 is x+(y'+z') (y+z).
Complement each literal: x'+(y+z)(y' +z') = F2'
2.6 Canonical and Standard Forms

Minterms and Maxterms


• A minterm (standard product): an AND term consists of all literals in their
normal form or in their complement form.
• For example, two binary variables x and y,
• xy, xy', x'y, x'y'
• It is also called a standard product.
• n variables con be combined to form 2n minterms.
• A maxterm (standard sums): an OR term
• It is also called a standard sum.
• 2n maxterms.
2.6 Canonical and Standard Forms

Minterms and Maxterms


• Each maxterm is the complement of its corresponding minterm, and vice versa.
2.6 Canonical and Standard Forms

Minterms and Maxterms


• An Boolean function can be expressed by
• A truth table
• Sum of minterms

• f1 = x'y'z + xy'z' + xyz = m1 + m4 +m7 (Minterms)


• f2 = x'yz+ xy'z + xyz'+xyz = m3 + m5 +m6 + m7 (Minterms)
2.6 Canonical and Standard Forms

Minterms and Maxterms


• The complement of a Boolean function
• The minterms that produce a 0
• f1' = m0 + m2 +m3 + m5 + m6 = x'y'z'+x'yz'+x'yz+xy'z+xyz'
• f1 = (f1')’ = (x+y+z)(x+y'+z) (x+y'+z') (x'+y+z')(x'+y'+z) = M0 M2 M3 M5 M6
• f2 = (x+y+z)(x+y+z')(x+y'+z)(x'+y+z) =M0M1M2M4
• Any Boolean function can be expressed as
• A sum of minterms (“sum” meaning the ORing of terms).
• A product of maxterms (“product” meaning the ANDing of terms).
• Both Boolean functions are said to be in Canonical form.
2.6 Canonical and Standard Forms

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

Conversion between Canonical Forms


• The complement of a function expressed as the sum of minterms equals the
sum of minterms missing from the original function.
• F(A, B, C) = S(1, 4, 5, 6, 7)
• Thus, F'(A, B, C) = S(0, 2, 3)
• By DeMorgan's theorem
F(A, B, C) = P(0, 2, 3)
F'(A, B, C) =P (1, 4, 5, 6, 7)
• mj' = Mj
• Sum of minterms = product of maxterms
• Interchange the symbols S and P and list those numbers missing from the original form
• S of 1's
• P of 0's
2.6 Canonical and Standard Forms

Conversion between Canonical Forms


• Example
• F = xy + xz

• 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

• 2n rows in the truth table of n binary variables.


n
• 22 functions for n binary variables.
• 16 functions of two binary variables.

• The 16 functions listed can be subdivided into three categories:


• Two functions that produce a constant 0 or 1.
• Four functions with unary operations: complement and transfer.
• Ten functions with binary operators that define eight different operations: AND, OR, NAND, NOR, exclusive‐OR,
equivalence, inhibition, and implication.
• All the new symbols except for the exclusive-OR symbol are not in common use by digital designers.
2.7 Other Logic Operations

Boolean Expressions
2.8 Digital Logic Gates

• Boolean expression: AND, OR and NOT operations


• Constructing gates of other logic operations
• The feasibility and economy;
• The possibility of extending gate's inputs;
• The basic properties of the binary operations (commutative and associative);
• The ability of the gate to implement Boolean functions.
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

Summary of Logic Gates


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.

Figure 2.6 Demonstrating the non-associativity of the NOR operator;


(x ↓ y) ↓ z ≠ x ↓(y ↓ z)
2.8 Digital Logic Gates

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.

Figure 2.7 Multiple-input and cascaded NOR and NAND gates


2.8 Digital Logic Gates

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.

Figure 2.8 3-input XOR gate


2.8 Digital Logic Gates

Positive and Negative Logic


• Positive and Negative Logic
• Two signal values <=> two logic values
• Positive logic: H=1; L=0
• Negative logic: H=0; L=1
• Consider a TTL gate
• A positive logic AND gate
• A negative logic OR gate
• The positive logic is used in this book

Figure 2.9 Signal assignment and logic polarity


2.1 Introduction

Positive and Negative Logic

Figure 2.10 Demonstration of positive and negative logic


2.9 Integrated Circuits

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

Making of Integrated Circuits & Microprocessors


2.9 Integrated Circuits

Digital Logic Families


• Digital logic families: circuit technology
• TTL: transistor-transistor logic (dying?)
• ECL: emitter-coupled logic (high speed, high power consumption)
• MOS: metal-oxide semiconductor (NMOS, high density)
• CMOS: complementary MOS (low power)
• BiCMOS: high speed, high density
2.9 Integrated Circuits

CAD – Computer-Aided Design


• Millions of transistors
• Computer-based representation and aid
• Automate the design process
• Design entry
• Schematic capture
• HDL – Hardware Description Language
• Verilog, VHDL
• Simulation
• Physical realization
• ASIC - application‐specific integrated circuit
• FPGA - field‐programmable gate array
• PLD - programmable logic device
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

• What are the drawbacks of large circuits?


• Complex to design
• Chips have design constraints
• Hard to test

• Need tools to help/develop integrated circuits


• Computer Aided Design (CAD) tools
• Automate tedious steps of design process
• Hardware description language (HDL) describe circuits
• VHDL is one such system
End of Chapter 2

Boolean Algebra and Logic Gate

You might also like