DLD Mid
DLD Mid
DLD Mid
2.1 Introduction
2.2 Basic Definitions
2.3 Axiomatic Definition of Boolean Algebra
2 4 Basic Theorems and Properties of Boolean Algebra
2.4
2.5 Boolean Functions
2 6 Canonical and Standard Forms
2.6
2.7 Other Logic Operations
2 8 Di
2.8 Digital
it l L
Logic
i GGates
t
2.9 Integrated Circuits
NCNU_2013_DD_2_1
Basic Definitions
• Mathematical methods that simplify binary logics or circuits rely primarily on
Boolean algebra.
•B
Boolean
l algebra:
l b a sett off elements,
l t a sett off operators,
t andd a number
b off unprovedd
axioms or postulates.
• A set of elements is any
y collection of objects,
j , usuallyy havingg a common property.
p p y
A = {1, 2, 3, 4} indicates that set A has the elements of 1, 2, 3, and 4.
• A binary operator defined on a set S of elements is a rule that assigns, to each
pair of elements from S,
S a unique element from S.
S
• 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.
S
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
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 NCNU_2013_DD_2_2
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
Example: The element 0 is an identity element with respect to the binary
operator + on the set of integers I = {c, -3, -2, -1, 0, 1, 2, 3,c}, since x + 0 = 0
f any x I
+ x = x for
The set of natural numbers, N, has no identity element, since 0 is excluded
from the set.
5.Inverse. A set S having the identity element e with respect to a binary operator
* is said to have an inverse whenever, for every x S, there exists an element
y S such that x * y = e
Example: In the set of integers, I, and the operator +, with e = 0, the inverse of
an element a is (-a), since a + (-a) = 0.
66.Distributive
Di t ib ti law.
l If * and
d • are ttwo binary
bi operators
t on a sett S,
S * is
i said
id to
t be
b
distributive over • whenever x * (y • z) = (x * y) • (x * z)
NCNU_2013_DD_2_3
Field
• A field is an example of an algebraic structure.
• The field of real numbers is the basis for arithmetic and ordinary algebra.
– The binary operator + defines addition.
– The additive identity is 0.
– The additive
additi e in
inverse
erse defines ssubtraction.
btraction
– The binary operator • defines multiplication.
– The multiplicative identity is 1.
– For a ≠ 0, the multiplicative inverse of a = 1/a defines division (i.e., a •1/a = 1).
– The only distributive law applicable is that of • over +:
a • (b + c) = (a • b) + (a • c)
NCNU_2013_DD_2_4
Axiomatic Definition of Boolean Algebra
• 1854: George Boole developed an algebraic system now called Boolean algebra.
• 1904: E. V. Huntington formulated a set of postulates that formally define the
Boolean algebra
• 1938: C. E. Shannon introduced a two-valued Boolean algebra called switching
algebra that represented the properties of bistable electrical switching circuits
NCNU_2013_DD_2_6
Two-valued Boolean Algebra
• B = {0,1}
• The rules of operations
AND OR NOT
x y xy x y x+y x x
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
• Closure: the result of each operation is either 1 or 0 and 1, 0 B.
• Identity elements: 0 for + and 1 for ‧
• The commutative laws are obvious from the symmetry of the binary operator
tables.
tables
NCNU_2013_DD_2_7
• Distributive laws:
– x‧(y + z) = (x‧y) + (x‧z)
– x+ (y‧z) = (x+y)‧(x+z)
y‧z
y z x+(y‧z)
x+(y z) x+y x+z (x+y)‧(x+z)
(x+y) (x+z)
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
1 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
1 1 1 1 1
NCNU_2013_DD_2_8
• 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
• Has two distinct elements 1 and 0, with 0 ≠ 1
• We have
ha e just
j st established a twovalued
t o al ed Boolean algebra:
– a set of two elements
– + : OR operation; ‧ : AND operation
– a complement operator: NOT operation
– Binary logic is a two-valued Boolean algebra
– also called “switching algebra” by engineers
NCNU_2013_DD_2_9
Basic Theorems and Properties of Boolean Algebra
• Duality
– the binary operators are interchanged; AND OR
– the identity elements are interchanged; 1 0
NCNU_2013_DD_2_10
• Theorem 1(a): x+x = x
x+x = (x+x) •1 by postulate: 2(b)
= (x+x)
( ) ((x+x')) 5(a)
( )
= x+xx' 4(b)
= xx+00 5(b)
=x 2(a)
• Theorem 1(b): x • x = x
x•x=xx+0 by postulate: 2(a)
= xx + xx' 5(b)
= x (x + xx')) 4(a)
=x•1 5(a)
=x 2(b)
NCNU_2013_DD_2_11
• Theorem 2(a): x + 1 = 1
x + 1 = 1 • (x + 1) by postulate: 2(b)
= (x + x')(x + 1) 5(a)
= x + x' • 1 4(b)
= x + x'' 2(b)
=1 5(a)
• Theorem 2(b): x • 0 = 0 by duality
• Theorem 3: (x')' = x
– Postulate 5 defines the complement of x, x + x' = 1 and x • x' = 0
– The complement of x' is x is also (x')'
NCNU_2013_DD_2_12
• Theorem 6(a): x + xy = x
x + xy = x • 1 + xy by postulate: 2(b)
= x (1 +y) 4(a)
=x•1 2(a)
=x 2(b)
• Theorem 6(b): x (x + y) = x by duality
• By means of truth table
x y xy x + xy
0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1
NCNU_2013_DD_2_13
DeMorgan's Theorems
– (x+y)' = x' y‘
x y x+yy ((x+y)
y) x y
y xy
y
0 0 0 1 1 1 1
0 1 1 0 1 0 0
1 0 1 0 0 1 0
1 1 1 0 0 0 0
– (x y)' = x' + y'
x y xy ((xy)
) x y x+y
+
0 0 0 1 1 1 1
0 1 0 1 1 0 1
1 0 0 1 0 1 1
1 1 1 0 0 0 0
NCNU_2013_DD_2_14
Operator Precedence
• The operator precedence for evaluating Boolean expressions is
1. parentheses
2. NOT
3. AND
4 OR
4.
• Examples
– x yy' + z
– (x y + z)'
NCNU_2013_DD_2_15
Boolean Functions
• A Boolean function is an algebraic expression consists of
– binary variables
– binary operators OR and AND
– unary operator NOT
– parentheses
• A Boolean function expresses the logical relationship between binary variables
and is evaluated by determining the binary value of the expression for all possible
values of the variables.
• Examples
– F1= x + y z’’ F1 = 1 if x = 1 or if y = 0 and
d z = 1,
1 others
h F1 = 0.
0
– F2 = x' y' z + x' y z + x y’
F2 = 1 if (x = 0,
0 y = 0,
0 z = 1) or (x = 0,
0 y = 1,
1 z = 1) or (x = 1,
1 y = 0),
0)
others F2 = 0.
What are the others?
NCNU_2013_DD_2_16
Truth Table
• Boolean function can be represented in a truth table.
• Truth table has 2n rows where n is the number of variables in the function.
• The binary combinations for the truth table are obtained from the binary numbers
by counting from 0 through 2n - 1.
F1= x + y z’
NCNU_2013_DD_2_17
Equivalent Logics
F2 = x’y’z
y + x’yzy + xy’
y
• Boolean function can be = x’z(y’ + y) + xy’
represented in truth table = x’z + xy’
only in one way
way.
• In algebraic form, it can be
expressed in a variety of
ways, all of which have
equivalent logic.
• Using Boolean algebra, it is
possible to obtain a simpler
expression for the same
function with less number
of gates and inputs to the
gate.
• Designers work on reducing
the complexity and number
of g
gates to significantly
g y
reduce the circuit cost.
NCNU_2013_DD_2_18
Algebraic Manipulation
• To minimize Boolean expressions
– literal: a complemented or un-complemented 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
NCNU_2013_DD_2_19
Minimization of Boolean Function
NCNU_2013_DD_2_20
Complement of a Function
• F’ is obtained from an interchange of 0's for 1's and 1's for 0's in the value of F
• The complement of a function may be derived using DeMorgan's theorem.
• Three-variable DeMorgan's theorem:
(A + B + C)’ = (A + X)’ let B + C = X
= A’X’ b DeMorgan's
by
= A’(B + C)’ X= B+C
=A
A’(B’C’)
(B C ) by DeMorgan
DeMorgan'ss
= A’B’C’ associative
• Generalized form
– (A + B + C + ... + F)’ = A’B’C’ ... F’
– (ABC ... F)’ = A’ + B’ + C’+ ... + F’
NCNU_2013_DD_2_21
EXAMPLE 2.2
EXAMPLE 2.3
23
NCNU_2013_DD_2_22
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,
example two binary variables x and y,
y has 4 minterms
– xy, xy', x'y, x'y‘
• n variables can be combined to form 2n minterms (mj, j = 0 ~ 2n-1)
1)
• A maxterm (standard sum): an OR term; 2n maxterms (Mj, j = 0 ~ 2n-1)
• Each maxterm is the complement of its corresponding minterm, and vice versa.
NCNU_2013_DD_2_23
Canonical Form: Sum of Minterms
• An Boolean function can be expressed by
– a truth table
– sum of minterms f = Σ mj
– product of maxterms f = Π Mj
– f1 = x'y'z
' ' + xy'z
' ‘ + xyz = m1 + m4 +m
+ 7
– f2 = x'yz + xy'z + xyz‘ + xyz = m3 + m5 +m6 + m7
NCNU_2013_DD_2_24
Canonical Form: Product of 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)
= M0 M1 M2 M4
• Canonical form: any Boolean function expressed as a sum of minterms or a
product of maxterms
NCNU_2013_DD_2_25
Minterm Expansion
• EXAMPLE 2.4: Express the Boolean function F=A+B’C as a sum of minterms.
– F = A + B'C = A (B + B') + B'C = AB + AB' + B'C
– = AB(C + C') + AB'(C + C') + (A + A')B'C
– = ABC + ABC‘ + AB'C + AB'C‘ + A'B'C
– = A'B'C + AB'C' + AB'C + ABC‘ + ABC
– = m1 + m4 +m5 + m6 + m7
– F(A,B,C) = Σ (1, 4, 5, 6, 7)
– or, built the truth table first
NCNU_2013_DD_2_26
Maxterm Expansion
EXAMPLE 2.5: Express the Boolean function F = xy + x’z as a product of
maxterms.
– F = xy + xx'zz = (xy + xx')) (xy + z) = (x + xx')(y
)(y + xx')(x
)(x + z)(y + z)
– = (x’ + y)(x + z)(y + z)
– check
h k thi
this result
lt with
ith truth
t th table
t bl
NCNU_2013_DD_2_27
Canonical Form Conversion
• Conversion between Canonical Forms
– F(A,B,C) = (1,4,5,6,7) F’(A,B,C) = (0,2,3) = m0 + m1 + m2
– By DeMorgan's theorem
F = (m0 + m1 + m2)’ = m’0 • m’2 • m’3
= M0 M2 M3 = Π(0, 2, 3)
– mj' = Mj
• sum of minterms product of maxterms
– interchange the symbols and and list those numbers missing from the
original
i i l form
f
• of 1's of 0's
NCNU_2013_DD_2_28
Conversion Example
• F = xy + xz
• F(x, y, z) = (1, 3, 6, 7)
• F(x, y, z) = (0, 2, 4, 5)
NCNU_2013_DD_2_29
Standard Forms
• Canonical forms are baseline expression and seldom used, they are not minimum
• Two standard forms are used usually
– sum of products F1 = y' + xy + x'yz'
– product of sums F2 = x(y‘ + z)(x‘ + y + z’)
• F3 = AB + C(D + E)
= AB + C(D + E) = AB + CD + CE
• Which kind of gate will have the least delay (high switching speed)?
• The delay through a gate is largely dependent on the circuit design and
technology, as well as manufacturing process used. (taught in VLSI design)
NCNU_2013_DD_2_31
Other Logic Operations
• 2n rows in the truth table of n binary variables
n
• 22 functions for n binary variables (each row may either be 0 or 1)
2
• 16 (22 )functions of two binary variables
NCNU_2013_DD_2_32
NCNU_2013_DD_2_33
Digital Logic Gates of Two Inputs
NCNU_2013_DD_2_34
Digital Logic Gates of Two Inputs
NCNU_2013_DD_2_35
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
– commutative: x + y = y + x , xy = yx
– associative:
associati e: (x
( + y)) + z = x + ((y + z)) = x + y + z , (x
( y)z
) = x(y
( z)) = x y z
x x
y F
F y
z z
x x
F
y F y
z z
NCNU_2013_DD_2_36
Multiple-input NOR/NAND
• NAND and NOR are commutative but not associative => they are not extendable
(x ↓ y) ↓ z = [(x + y)’ + z]’ = (x + y) z’ = xz’ + yz’
x ↓ (y ↓ z) = [x + (y + z)’]’ = x’(y + z) = x’y + x’z
NCNU_2013_DD_2_37
Multiple-input NOR/NAND
• Multiple-input NOR = a complement of OR gate (x ↓ y ↓ z) = (x + y + z)’
• Multiple-input NAND = a complement of AND (x ↑ y ↑ z) = (x y z)’
• The cascaded NAND operations = sum of products
• The cascaded NOR operations = product of sums
NCNU_2013_DD_2_39
Positive and Negative Logic
• Two signal values (High/Low) <=> two logic values (1/0)
– positive logic: H = 1; L = 0
– negative logic: H = 0; L = 1
• Positive logic is commonly used.
NCNU_2013_DD_2_40
Digital Logic Families
• Digital 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
complementar MOS (lo
(low power)
po er)
• CMOS technology now dominates the main stream of IC design, it will be taught
in Introduction to VLSI Design course.
NCNU_2013_DD_2_41
Some Important Parameters of Logic Families
• Fanout specifies the number of standard loads that the output of a typical gate
can drive without impairing its normal operation. A standard load is usually
defined as the amount of current needed by an input of another similar gate in the
same family.
• Fanin is the number of inputs available in a gate.
• Power dissipation is the power consumed by the gate that must be available
from the power supply.
• Propagation delay is the average transition delay time for a signal to propagate
from input to output. For example, if the input of an inverter switches from 0 to 1,
the output will switch from 1 to 0, but after a time determined by the propagation
d l off the
delay h device.
d i The Th operating
i speedd is i inversely
i l proportional
i l to the
h
propagation delay.
• Noise margin
g is the maximum external noise voltage g added to an input
p signal
g
that does not cause an undesirable change in the circuit output.
NCNU_2013_DD_2_42
Homework #2
• 2.9 (c)
• 2.11 (b)
• 2.22
2 22 (b)
• 2.28
NCNU_2013_DD_2_43