P. 1
Digital Logic and Design (BOOLEAN ALGEBRA)

# Digital Logic and Design (BOOLEAN ALGEBRA)

|Views: 115|Likes:

See more
See less

10/28/2010

pdf

text

original

# Boolean Algebra

:
The most obvious way to simplify Boolean expressions is to manipulate them in the same way as normal algebraic expressions are manipulated. With regards to logic relations in digital forms, a set of rules for symbolic manipulation is needed in order to solve for the unknowns. A set of rules formulated by the English mathematician George Boole describe certain propositions whose outcome would be either true or false. With regard to digital logic, these rules are used to describe circuits whose state can be either, 1 (true) or 0 (false). In order to fully understand this, the relation between the AND gate, OR gate and NOT gate operations should be appreciated. A number of rules can be derived from these relations as Table 1 demonstrates.
• • • • • • •

P1: X = 0 or X = 1 P2: 0 . 0 = 0 P3: 1 + 1 = 1 P4: 0 + 0 = 0 P5: 1 . 1 = 1 P6: 1 . 0 = 0 . 1 = 0 P7: 1 + 0 = 0 + 1 = 1

Table 1: Boolean Postulates

Laws of Boolean Algebra:
Table 2 shows the basic Boolean laws. Note that every law has two expressions, (a) and (b). This is known as duality. These are obtained by changing every AND(.) to OR(+), every OR(+) to AND(.) and all 1's to 0's and vice-versa. It has become conventional to drop the . (AND symbol) i.e. A.B is written as AB.

T1 : Commutative Law (a) A + B = B + A (b) A B = B A T2 : Associate Law (a) (A + B) + C = A + (B + C) (b) (A B) C = A (B C) T3 : Distributive Law (a) A (B + C) = A B + A C (b) A + (B C) = (A + B) (A + C) T4 : Identity Law (a) A + A = A (b) A A = A T5 : (a) (b) T6 : Redundance Law (a) A + A B = A (b) A (A + B) = A T7 : (a) 0 + A = A (b) 0 A = 0 T8 : (a) 1 + A = 1 (b) 1 A = A T9 : 1

(a) (b) T10 : (a) (b) T11 : De Morgan's Theorem (a) (b) Table 2: Boolean Laws

Examples
Prove T10 : (a) (1) Algebraically:

(2) Using the truth table:

Using the laws given above, complicated expressions can be simplified.

Problems
(a) Prove T10(b).

2

(b) Copy or print out the truth table below and use it to prove T11: (a) and (b).

(a)

(b)

Numerical Representation
Take as an example the truth table of a three-variable function as shown below. Three variables, each of which can take the values 0 or 1, yields eight possible combinations of values for which the function may be true. These eight combinations are listed in ascending binary order and the equivalent decimal value is also shown in the table. Decimal A B C f Value 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 1

The function has a value 1 for the combinations shown, therefore: ......(1) This can also be written as: f(A, B, C) = 000 + 010 + 011 + 111 Note that the summation sign indicates that the terms are "OR'ed" together. The function can be further reduced to the form:

3

f(A, B, C) =

(000, 010, 011, 111)

It is self-evident that the binary form of a function can be written directly from the truth table. Note: (a) the position of the digits must not be changed (b) the expression must be in standard sum of products form. It follows from the last expression that the binary form can be replaced by the equivalent decimal form, namely:

f(A, B, C) =

(0,2,3,7)......(2)

Product of Sums Representation
From the truth table given above the function has the value 0 for the combinations shown, therefore ......(3) Writing the inverse of this function:

Applying De Morgan's Theorem we obtain:

Applying the second De Morgan's Theorem we obtain: ......(4) The function is expressed in standard product of sums form.

Thus there are two forms of a function, one is a sum of products form (either standard or normal) as given by expression (1), the other a product of sums form (either standard or normal) as given by expression (4). The gate implementation of the two forms is not the same!
Examples
Consider the function: In binary form: f(A, B, C, D) = In decimal form: f(A, B, C, D) = (0101, 1011, 1100, 0000, 1010, 0111) (5, 11, 12, 0, 10, 7)

4

scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->