--- outputs logical functions of inputs --- new outputs appear shortly after changed inputs...
TRANSCRIPT
--- outputs logical functions of inputs--- new outputs appear shortly after changed inputs
(propagation delay)--- no feedback loops--- no clock
Sequential logic--- outputs logical functions of inputs and previous
history of circuit (memory)--- after changed inputs, new outputs appear in
the next clock cycle--- frequent feedback loops
Combinational logic
Fundamentals of Boolean algebra
Named after George Boole He presented an algebraic formulation of the
process of “logical thought and reason”
This formulation come to be known as Boolean Algebra
Postulates of Boolean algebra
1) Definition A Boolean algebra is a closed algebraic
system containing a set K of two or more elements and the two operators ‘•’ or ‘/\’ or ‘’, called AND, and ‘+’ or ‘\/’ or ‘’, called OR;
Closed system: for every a and b in set K, a•b belongs to K and a+b belongs to K.
Postulates of Boolean algebra
2) Existence of 1 and 0 There exist unique elements 1 (one) and 0
(zero) in set A" such that for every a in Ka) a + 0 = a,
b) a • 1 = a, where 0 is the identity element for the +
operation and 1 is the identity element for the • operation.
Postulates of Boolean algebra
3) Commutativity of the + and • operations For every a and b in K
a) a + b = b + a.
b) a • b = b • a
4) Associativity of the + and operations For every a, b, and c in K
a) a + (b + c) = (a + b) + c.
b) a • (b • c) = (a • b) • c.
Postulates of Boolean algebra
5) Distributivity of + over • and • over + For every a, b, and c in K
a) a + (b • c) = (a + b) • (a + c),
b) a • (b + c) = (a • b) + (a • c).
6) Existence of the complement For every a in K there exists a unique
element called ā (complement of a) in K such that
a) a + ā = 1.
b) a • ā = 0.
Venn diagrams for the postulates• Operations on sets
Sets closed regionsSets correspond to elementsIntersection corresponds to •Union corresponds to +
Boolean algebra
• Duality– If an expression
f(x1, x2, … xn, +, •, 0, 1)
is valid, thenf(x1, x2, … xn, •, +, 1, 0)
obtained by interchanging + and •, 0 and 1 is also valid
a • (b + c) = (a • b) + (a • c)
a + (b • c) = (a + b) • (a + c)
Postulates 2 – 6 are stated in dual form
Fundamental theorems of Boolean algebra
– Prove part (b) by exchanging + with •, and use the dual form of the postulates
Fundamental theorems of Boolean algebra
a • ā = 0 [P6(b)]
a + ā = 1 [P6(a)]
Therefore, ā is the complement of a, and also a is the complement of ā. Because the complement of ā is unique, it must be equal to a.
Theorems
• Proofs by perfect inductionProofs by exhaustion:
Let variables assume all possible values and showvalidity of result in all cases
Example: Show X + 0 = X
00110
111
000
1'0
01
XX
XX
10110
000
111
0'1
10
XX
XX (a) Keep axioms handy
(b) Elaborate cases:if X = 0, have
X + 0 = 0 + 0 = 0 = Xif X = 1, have
X + 0 = 1 + 0 = 1 = X
More Theorems
Can prove by exhaustion....but have more casesFor distributive laws,
T8 looks like ordinary algebraT8’ also true (swap operators, factor, swap back)
T9, T10 for logic minimization - drop irrelevant terms
T9, T10, T11 for logic minimization - drop superfluous terms
Proof: X + XY = X1 + XY = X(1+Y) = X1 = X X(X+Y) = (X+0)(X+Y) = X+(0Y) = X+0 = X
T10 (Combining): XY + XY’ = X and (X + Y) (X + Y’) = XProof: XY + XY’ = X(Y + Y’) = X1 = X (X + Y)(X + Y’) = X + (YY’) = X + 0 = X
T11 (Consensus): XY+X’Z+YZ = XY+X’Z and (X+Y)(X’+Z)(Y+Z)= (X+Y)(X’+Z)Proof: If YZ = 0
XY+X’Z+YZ = XY+X’Z+ 0 = XY+X’Z else
Y = Z = 1left side: XY+X’Z+YZ = something + YZ = something + 1 =1right side: XY+X’Z = X + X’ = 1
So, in either case, XY+X’Z+YZ = XY+X’Z
If Y+Z = 1 (X+Y)(X’+Z)(Y+Z)= (X+Y)(X’+Z)1= (X+Y)(X’+Z)
elseY = Z = 0left side: (X+Y)(X’+Z)(Y+Z)= something (Y + Z) = something 0 = 0right side: (X+Y)(X’+Z) = (X+0)(X’+0) = XX’ = 0
So, in either case, (X+Y)(X’+Z)(Y+Z)= (X+Y)(X’+Z)
T9 (Covering): X + XY = X and X(X+Y)=X
Duality• De Morgan’s Theorems:
(X + Y)’ = X’ Y’(X Y)’ = X’ + Y’
• Dual: Swap 0 & 1, AND & OR, but leave variables unchanged– Result: Theorems still true
• Why?– f(X, Y) = g(X, Y)– complement[f(X, Y)] = complement[g(X, Y)]– dual[f(X’, Y’)] = dual[g(X’, Y’)]– but X’, Y’ just dummy variables, replace with originals
• Counterexample?X + X Y = X (T9)X X + Y = X (dual)X + Y = X (T3)!! error ?
X + (X Y) = X (T9)X (X + Y) = X (dual)(X X) + (X Y) = X (T8)X + (X Y) = X (T3)parentheses,operator precedence