22ESC143 - Module 3 - Notes
22ESC143 - Module 3 - Notes
SEMESTER-I
Module-3
Boolean Algebra,
Logic Circuits
and
Combinational logic
Binary 2 0,1
Octal 8 0,1,2,3,4,5,6,7
Decimal 10 0,1,2,3,4,5,6,7,8,9
Hexadecimal 16 0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F
The conversion from decimal integers to any base-r system is similar to the
example, except that division is done by r instead of 2.
153
19 1
2 3
0 2 = (231) 8
The conversion from decimal fraction to any base-r system is similar to the example.
Multiplication is by r instead of 2, and the coefficients found from the integers may range
in value from 0 to r-1 instead of 0 and 1.
(0.513) 10 = (0.406517…) 8
The conversion of decimal numbers with both integers and fraction parts is done by
converting the integer and fraction separately and then combining the two answers.
The conversion from and to binary, octal and hexadecimal plays an important part indigital
computers. Since 23 = 8 and 24 = 16, each octal digit corresponds to three binary digits
and each hexadecimal digit corresponds to four binary digits.
Conversion from binary to Octal:
(10 110 001 101 011. 111 100 000 110) 2 = (26153.7406) 8
3.4 Complements
Are used to simplify the subtraction operation and for logical manipulation.
The 1’s complement of a binary number is formed by changing 1’s to 0’s and 0’s to1’s.
The r’s complement of n-digit number N in base r is defined as rn – N for N ≠ 0 and 0for N
= 0. Comparing with the (r – 1)’s complement, the r’s complement is obtained by adding
1 to the (r – 1)’s complement since rn – N = [(rn – 1) –N] + 1.
Summary
The radix complement and diminished radix complement are defined as:
(N) r = an n-digit number N in base r
[N] r = the r’s complement of (N)r
[N] r-1 = the (r-1)’s complement of (N)r
[N] r = rn - (N)r (Eq.1)
[N] r-1 = [N]r – 1 (Eq.2)
From Eq.1 and Eq.2, we can also derive the following equations:
[N] r = [N]r-1 + 1 (Eq.3)
[N] r-1 = (rn - 1) - (N)r (Eq.4)
In the decimal system, r=10, we have 10’s complement and 9’s complement. In the octal
system, r=8, we have 8’s complement and 7’s complement. In the binary system, r=2, we have
2’s complement and 1’s complement.
To find the radix complement representation of a number, it is more convenient to firstderive the
diminished radix complement. The radix complement is then obtained by adding 1 to the
diminished radix complement.
The 9's complement of a decimal number is obtained by subtracting each digit from 9. The 7's
complement of an octal number is obtained by subtracting each digit from 7. The 1's
complement of a binary integer is obtained by subtracting each digit from 1.
Examples:
Example (1):
M = 72532
10’s complement of N = + 96750 (99999 – 03250) + 1
Sum = 169282
Discard end carry 105 =- 100000
Answer = 69282
Example (2):
M = 03250
10’s complement of N = + 27468 (99999 – 72532) + 1
Sum = 30718
No end carry.
Answer - (10’s complement of 30718) = - 69282
Example (3):
X = 1010100
2’s complement of Y = + 0111101
Sum = 10010001
Discard end carry 27 = - 10000000
Answer: X - Y = 0010001
X–X
Y = 1000011
2’s complement of X = + 0101100
Sum = 1101111
No end carry.
Answer: Y – X - (2’s complement of 1101111) = -0010001
• Mathematical methods that simplify binary logics or circuits rely primarily on Boolean
algebra.
• Boolean algebra: a set of elements, a set of operators, and a number of unproved axioms
or postulates.
• A set of elements is any collection of objects, usually having a common property. 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, a unique element from S.
The most common postulates used to formulate various algebraic structures areas 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.
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
+ x = x for any x I
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
x * (y • z) = (x * y) • (x * z)
Field:
• A field is an example of an algebraic structure.
• The field of real numbers is the basis for arithmetic and ordinary algebra.
• For a ≠ 0, the multiplicative inverse of a = 1/a defines division (i.e., a •1/a = 1).
In 1854, George Boole developed an algebraic system now called Boolean algebra. In 1904, E. V.
Huntington formulated a set of postulates that formally define the Boolean algebra. In 1938, C. E.
Shannon introduced a two-valued Boolean algebra called switching algebra that represented the
properties of bistable electrical switching circuits.
that is, x + 0 = 0 + x = x.
(b) The element 1 is an identity element with respect to •;
that is, x • 1 = 1 • x = x.
5. Ordinary algebra deals with the real numbers, which constitute an infinite
set of elements. Boolean algebra deals with the as yet undefined set of
elements, B, but in the two-valued Boolean algebra defined next (and of
interest in our subsequent use of that algebra), B is defined as a set with only
two elements, 0 and 1.
• B = {0,1}
• The commutative laws are obvious from the symmetry of the binary operator tables.
• Distributive laws:
x‧(y + z) = (x‧y) + (x‧z)
x+ (y‧z) = (x+y)‧(x+z)
y‧z x+(y‧z)
0 0
0 0
0 0
1 1
0 1
0 1
0 1
1 1
• Complement
• Duality
• the binary operators are interchanged; AND OR
= x+xx' 4(b)
= x+0 5(b)
=x 2(a)
Theorem 1(b): x • x = x
= xx + xx' 5(b)
= x (x + x') 4(a)
=x•1 5(a)
=x 2(b)
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 3: (x')' = x
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)
The operator precedence for evaluating Boolean expressions is (1) parentheses, (2) NOT, (3)
AND, and (4) OR. In other words, the expression inside the parentheses must be evaluated
before all other operations. The next operation that holds precedence is the complement, then
follows the AND, and finally the OR. As an example, consider the truth table for De Morgan’s
theorem. The left side of the expression is (x y). Therefore, the expression inside the
parentheses is evaluated first and the result then complemented. The right side of the expression
is x y. There- fore, the complement of x and the complement of y are both evaluated first and
the result is then ANDed. Note that in ordinary arithmetic the same precedence holds (except for
the complement) when multiplication and addition are replaced by AND and OR, respectively.
A helpful illustration that may be used to visualize the relationships among the variables of a
Boolean expression is the Venn diagram. This diagram consists of a rectangle such as shown
x y
xy xy xy
xy
x y
in Fig. 3.1, inside of which are drawn overlapping circles, one for each variable. Each circle is
labeled by a variable. We designate all points inside a circle as belonging to the named variable
and all points outside a circle as not belonging to the variable. Take, for example, the circle la-
beled x. If we are inside the circle, we say that x 1; when outside, we say x 0. Now, with
two overlapping circles, there are four distinct areas inside the rectangle: the area not belonging
to either x or y (x y), the area inside circle y but outside x (x y), the area inside circle x but
outside y (xy), and the area inside both circles (xy).
Venn diagrams may be used to illustrate the postulates of Boolean algebra or to show the
validity of theorems. Figure 3.2, for example, illustrates that the area belonging to xy is inside
the circle x and therefore x xy x. Figure 3.3 illustrates the distributive law x(y z) xy xz.
In this diagram we have three overlapping circles, one for each of the variables x, y, and z. It is
possible to distinguish eight distinct areas in a three-variable Venn diagram. For this particular
example, the distributive law is demonstrated by noting that the area intersecting the circle x
with the area enclosing y or z is the same area belonging to xy or xz.
F1 xyz
x x y
y
z z
X(Y + Z) XY+XZ
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
F2 x y z
F3 x y z x y z xy
This is shown in Table 3.2 with four l’s and four 0’s. F4 is the same as F3 and is considered
below.
Any Boolean function can be represented in a truth table. The number of rows in the table is 2n,
where n is the number of binary variables in the function. The 1’s and 0’s combinations for each
row is easily obtained from the binary numbers by counting from 0 to 2n 1. For each row of
the table, there is a value for the function equal to either 1 or 0. The question now arises, Is an
algebraic expression of a given Boolean function unique? In other words, Is it possible to find
two algebraic expressions that specify the same function? The answer to this question is yes.
As a matter of fact, the manipulation of Boolean algebra is applied mostly to the problem of
finding simpler expressions for the same function. Consider, for example, the function:
F4 xy x z
From Table 3.2, we find that F4 is the same as F3 since both have identical 1’s and 0’s for each
combination of values of the three binary variables. In general, two functions of n binary
variables are said to be equal if they have the same value for all possible 2 n combinations of
the n variables.
A Boolean function may be transformed from an algebraic expression into a logic diagram
composed of AND, OR, and NOT gates. The implementation of the four functions introduced
the previous discussion is shown in Fig. 2-4. The logic diagram includes an inverter circuit for
every variable present in its complement form. (The inverter is unnecessary if the complement
of the variable is available.) There is an AND gate for each term in the expression, and an OR
A literal is a primed or unprimed variable. When a Boolean function is implemented with logic
gates, each literal in the function designates an input to a gate, and each term is implemented
with a gate. The minimization of the number of literals and the number of terms results in a
circuit with less equipment. It is not always possible to minimize both simultaneously; usually,
further criteria must be available. At the moment, we shall narrow the minimization criterion to
literal minimization. The number of literals in a Boo- lean function can be minimized by algebraic
manipulations. Unfortunately, there are no specific rules to follow that will guarantee the final
answer. The only method available is a cut-and-try procedure employing the postulates, the
basic theorems, and any other manipulation method which becomes familiar with use. The
following examples illustrate this procedure.
1. x x y – (x x)(x y) 1 • (x y) x y
2. x (x y) xx xy 0 xy xy
3. x y z x yz xy x z(y y) xy x z xy
4. xy x z yz xy x z yz(x x)
xy x z xyz x yz
xy (1 z) x z (1 y)
xy x z
5. (x y) (x z) (y z) (x y) (x z) by duality from function 4.
Functions 1 and 2 are the duals of each other and use dual expressions in corresponding steps.
Function 3 shows the equality of the functions F3 and F4 discussed previously. The fourth
The complement of a function F is F and is obtained from an interchange of 0’s for 1’s and l’s
for 0’s in the value of F. The complement of a function may be derived algebraically through
De Morgan’s theorem. This pair of theorems is listed in Table 3.1 for two variables. De Mor-
gan’s theorems can be extended to three or more variables. The three-variable form of the
first De Morgan’s theorem is derived below. The postulates and theorems are those listed in
Table 3.1.
De Morgan’s theorems for any number of variables resemble in form the two-variable case and
can be derived by successive substitutions similar to the method used in the above derivation.
These theorems can be generalized as follows:
The generalized form of De Morgan’s theorem states that the complement of a function is
obtained by interchanging AND and OR operators and complementing 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.
A binary variable may appear either in its normal form (x) or in its complement form (x). Now
consider two binary variables x and y combined with an AND operation. Since each variable
may appear in either form, there are four possible combinations: xy, xy, xy, and xy. Each of
these four AND terms represents one of the distinct areas in the Venn diagram of Fig. 3.1 and
is called a minterm or a standard product. In a similar manner, n variables can he combined to
form 2n minterms. The 2n different minterms may be determined by a method similar to the
one shown in Table 3.3 for three variables. The binary numbers from 0 to 2 n 1 are listed
under the n variables. Each minterm is obtained from an AND term of the n variables, with
each variable being primed if the corresponding bit of the binary number is a 0 and imprinted if
a 1. A symbol for each mineterns is also shown in the table and is of the form mj, where j
denotes the decimal equivalent of the binary number of the minterm designated.
In a similar fashion, n variables forming an OR term, with each variable being primed or
unprimed, provide 1, 2n possible combinations, called maxterms or standard sums. The eight
maxterms for three variables, together with their symbolic designation, are listed in Table 3.3.
n
Any 2 maxterms for n variables may be determined similarly. Each maxterm is obtained from
an OR term of the n variables, with each variable being unprimed if the corresponding bit is a 0
and primed if a 1. * Note that each maxterm is the complement of its corresponding minterm, and
vice versa.
A Boolean function may be expressed algebraically from a given truth table by forming a
minterm for each combination of the variables which produces a 1 in the function, and then tak-
ing the OR of all those terms. For example, the function f1 in Table 3.4 is determined by express-
ing the combinations 001, 100, and 111 as xyz, xyz, and xyz, respectively. Since each one of
these minterms results in f1 1, we should have:
These examples demonstrate an important property of Boolean algebra: Any Boolean function
can be expressed as a sum of mjnterms (by “sum” is meant the ORing of terms).
Now consider the complement of a Boolean function. It may be read from the truth table by
x y z Function f1 Function f2
0 0 0 0 0
0 0 1 1 0
0 1 0 0 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 I 0 0 1
1 1 1 1 1
These examples demonstrate a second important property of Boolean algebra: Any Boolean
function can be expressed as a product of maxterms (by “product” is meant the ANDing of
terms). The procedure for obtaining the product of maxterms directly from the truth table is as
follows. Form a maxterm for each combination of the variables which produces a 0 in the func-
tion, and then form the AND of all those maxterms. Boolean functions expressed as a sum of
minterms or product of maxterms are said to be in canonical form.
It was previously stated that for n binary variables, one can obtain 2n distinct minterms. and
that any Boolean function can be expressed as a sum of minterms. The minterms whose sum
defines the Boolean function are those that give the l’s of the function in a truth table. Since the
function can be either 1 or 0 for each minterm. and since there are 2n minterms, one can
calculate the possible functions that can be formed with n variables to be 2n. It is sometimes
F A BC
ABC ABC ABC ABC ABC ABC
It is sometimes convenient to express the Boolean function, when in its sum of minterms, in the
following short notation:
The summation symbol ∑ stands for the ORing of terms; the numbers following it are the
minterms of the function. The letters in parentheses following F form a list of the variables in the
order taken when the minterm is converted to an AND term
Each of the 22n functions of n binary variables can be also expressed as a product of maxterms. To
express the Boolean function as a product of maxterms, it must first be brought into a form of OR
terms. This may be done by using the distributive law x yz (x y)(x z). Then any missing
variable x in each OR term is ORed with xx. This procedure is clarified by the following example.
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 zy z xx (x y z)(x y z)
Combining all the terms and removing those that appear more than once, we
finally obtain:
F (x y z)(x y z)(x y z)(x y z)
M0M2M4M5
The product symbol, ∏, denotes the ANDing of maxterms; the numbers, are the maxterms of
the function.
The complement of a function expressed as the sum of minterms equals the sum of minterms
missing from the original function. This is because the original function is expressed by those
minterms that make the function equal to I, while its complement is a 1 for those minterms that
the function is a 0. As an example, consider the function:
F(A,B, C) ∑(1,4,5,6,7)
The last conversion follows from the definition of minterms and maxterms as shown in Table
3.3. From the table, it is clear that the following relation holds true:
Mj Mj
That is, the maxterm with subscript j is a complement of the minterm with the same subscript j,
and vice versa.
The last example demonstrates the conversion between a function expressed in sum of min-
terms and its equivalent in product of maxterms. A similar argument will show that the conver-
sion between the product of maxterms and the sum of minterms is similar. We now state a
general conversion procedure. To convert from one canonical form to another, interchange the
symbols
∑ and ∏ and list those numbers missing from the original form. As another example, the function:
F(x, y, z) ∏ (0, 2, 4, 5)
is expressed in the product of maxterm form. Its conversion to sum of minterms is:
F(x, y, z) ∑ (1,3,6,7)
Note that, in order to find the missing terms, one must realize that the total number of
minterms or maxterms is 2n, where n is the number of binary variables in the function.
The two canonical forms of Boolean algebra are basic forms that one obtains from reading a
function from the truth table. These forms are very seldom the ones with the least number of
literals, because each minterm or maxterm must contain, by definition, all the variables either
complemented or uncomplemented.
Another way to express Boolean functions is in standard form. In this configuration, the terms
that form the function may contain one, two or any number of literals. There are two types of
standard forms: the sum of products and product of sums.
F1 y xy xyz
The expression has three product terms of one, two, and three literals each, respectively. Their
sum is in effect an OR operation.
A product of sums is a Boolean expression containing OR terms, called sum terms. Each term
may have any number of literals. The product denotes the AN Ding of these terms. An ex-
ample of a function expressed in product of sums is:
F2 x(y z)(x y z w)
This expression has three sum terms of one, two, and four literals each. The product is an AND
operation. The use of the words product and sum stems from the similarity of the AND
operation to the arithmetic product (multiplication) and the similarity of the OR operation to the
arithmetic sum (addition).
A Boolean function may be expressed in a nonstandard form. For example, the function:
is neither in sum of products nor in product of sums. It can be changed to a standard form by
using the distributive law to remove the parentheses:
F3 ABCD ABCD
Table 3.5 Truth tables for the 16 functions of two binary variables
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15
x y
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Operator
Symbol / / +
The truth tables for the 16 functions formed with two binary variables x and y are listed in
Table 3.5. In this table, each of the 16 columns F0 to F15 represents a truth table of one possible
function for the two given variables x and y. Note that the functions are determined from the
16 binary combinations that can be assigned to F. Some of the functions are shown with an
operator symbol. For example, F1 represents the truth table for AND and F7 represents the truth
table for OR. The operator symbols for these functions are () and ( ), respectively.
The 16 functions listed in truth table form can be expressed algebraically by means of Boolean
expressions. This is shown in the first column of Table 3.6. The Boolean expressions listed are
simplified to their minimum number of literals.
Although each function can be expressed in terms of the Boolean operators AND, OR, and
NOT, there is no reason one cannot assign special operator symbols for expressing the other
functions. Such operator symbols are listed in the second column of Table 3.6. However, all the
new symbols shown, except for the exclusive-OR symbol , are not in common use by digital
designers. Each of the functions in Table 3.6 is listed with an accompanying name and a
comment that explains the function in some way. The 16 functions listed can be subdivided into
three categories:
computer logic. The AND and OR operators have been mentioned in conjunction with Boolean
algebra. The other four functions are extensively used in the design of digital systems.
The NOR function is the complement of the OR function and its name is an abbreviation of not-
OR. Similarly, NAND is the complement of AND and is an abbreviation of not-AND. The
exclusive-OR, abbreviated XOR or EOR, is similar to OR but excludes the combination of both x
and y being equal to 1. The equivalence is a function that is 1 when the two binary variables are
equal, i.e., when both are 0 or both are 1. The exclusive-OR and equivalence functions are the
complements of each other. This can be easily verified by inspecting Table 3.5. The truth table
for the exclusive-OR is F6 and for the equivalence is F9, and these two functions are the
Boolean algebra, as defined in Sections 3.2, has two binary operators, which we have called AND
and OR, and a unary operator, NOT (complement). From the definitions, we have deduced a
number of properties of these operators and now have defined other binary operators in terms of
them. There is nothing unique about this procedure. We could have just as well started with the
operator NOR (), for example, and later defined AND, OR, and NOT in terms of it. There are,
nevertheless, good reasons for introducing Boolean algebra in the way it has been introduced.
The concepts of “and,” “or,” and “not” are familiar and are used by people to express everyday
logical ideas. Moreover, the Huntington postulates reflect the dual nature of the algebra,
emphasizing the symmetry of and · with respect to each other.
Of the 16 functions defined in Table 3.6, two are equal to a constant and four others are re- peated
twice. There are only ten functions left to be considered as candidates for logic gates. Two,
inhibition and implication, are not commutative or associative and thus are impractical to use as
standard logic gates. The other eight: complement, transfer, AND, OR, NAND, NOR, exclusive-
OR, and equivalence, are used as standard gates in digital design.
The graphic symbols and truth tables of the eight gates are shown in Fig. 3.5. Each gate has one or
two binary input variables designated by x and y and one binary output variable designated by F.
The AND, OR, and inverter circuits were defined in Fig. 3.6. The inverter circuit inverts the logic
sense of a binary variable. It produces the NOT, or complement, function. The small circle in the
The NAND function is the complement of the AND function, as indicated by a graphic symbol
which consists of an AND graphic symbol followed by a small circle. The NOR function is the
complement of the OR function and uses an OR graphic symbol followed by a small circle. The
NAND and NOR gates are extensively used as standard logic gates and are in fact far more
popular than the AND and OR gates. This is because NAND and NOR gates are easily
constructed with transistor circuits and because Boolean functions can be easily implemented
with them. The exclusive-OR gate has a graphic symbol similar to that of the OR gate, except for
the ad- ditional curved line on the input side. The equivalence, or exclusive-NOR, gate is the
complement of the exclusive-OR, as indicated by the small circle on the output side of the graphic
symbol.
The gates shown in Fig. 3.5, except for the inverter and buffer, can be extended to have more than
two inputs. A gate can be extended to have multiple inputs if the binary operation it represents is
commutative and associative. The AND and OR operations, defined in Boolean algebra, possess
these two properties. For the OR function we have:
X+Y=Y+X commutative
and
(X+Y)+Z=X+(Y+Z)=X+Y+Z Associative
which indicates that the gate inputs can be interchanged and that the OR function can be
extended to three or more variables.
To overcome this difficulty, we define the multiple NOR (or NAND) gate as a complemented OR (or
AND) gate. Thus, by definition, we have:
x y z (x y z)x y z (xyz)
The graphic symbols for the three-input gates are shown in Fig. 3.7. In writing cascaded NOR
and NAND operations, one must use the correct parentheses to signify the proper sequence of
the gates. To demonstrate this, consider the circuit of Fig. 3.7(c). The Boolean function for the
circuit must be written as:
F [(ABC)(DE)] ABC DE
The second expression is obtained from De Morgan’s theorem. It also shows that an expression in
sum of products can be implemented with NAND gates.
The exclusive-OR and equivalence gates are both commutative and associative and can be
extended to more than two inputs. However, multiple-input exclusive-OR gates are uncommon
from the hardware standpoint. In fact, even a two-input function is usually constructed with other
types of gates. Moreover, the definition of these functions must be modified when extended to
more than two variables. The exclusive-OR is an odd function, i.e., it is equal to 1 if the input
variables have an odd number of 1’s. The equivalence function is an even function, i.e., it is equal
to 1 if the input variables have an even number of 0’s. The construction of a three-input exclusive-
OR function is shown in Fig. 3.8. It is normally implemented by cascading two-input gates as
shown in (a). Graphically, it can be represented with a single three-input gate as shown in (b). The
truth table in (c) clearly indicates that the output F is equal to 1 if only one input is equal to 1 or
if all three inputs are equal to 1, i.e., when the total number of 1’s in the input variables is odd.
B'
B
3.12 Introduction
For n input variables, there are 2n possible combinations of binary input variables. For each
possible input Combination, there is one and only one possible output combination. A
combinational circuit can be described by m Boolean functions one for each output variables.
Usually the input s comes from flip-flops and outputs go to flip-flops.
The design of combinational circuits starts from the verbal outline of the problem and ends in a
logic circuit diagram, or a set of Boolean functions from which the logic diagram can be easily
obtained. The procedure involves the following steps:
The output Boolean functions from the truth table are simplified by any available method, such
as algebraic manipulation, the map method, or the tabulation procedure. Usually there will be a
variety of simplified expressions from which to choose. However, in any particular applica tion,
certain restrictions, limitations, and criteria will serve as a guide in the process of choosing a
particular algebraic expression. A practical design method would have to consider such con-
straints as (1) minimum number of gates, (2) minimum number of inputs to a gate, (3) minimum
propagation time of the signal through the circuit, (4) minimum number of interconnections, and
(5) limitations of the driving capabilities of each gate.
3.14 Adders
Digital computers perform variety of information processing tasks, the one is arithmetic
operations. The most basic arithmetic operation is the addition of two binary digits. i.e, 4 basic
possible operations are: 0+0=0,0+1=1,1+0=1,1+1=10 The first three operations produce a sum
whose length is one digit, but when augends and addend bits are equal to 1,the binary sum
consists of two digits. The higher significant bit of this result is called a carry. A combinational
circuit that performs the addition of two bits is called a half adder. One that performs the addition
of 3 bits (two significant bits & previous carry) is called a full adder. 2 half adder can employ as
a full-adder.
A Half Adder is a combinational circuit with two binary inputs (augends and addend bits and two
binary outputs (sum and carry bits.) It adds the two inputs (X and Y) and produces the sum (S)
and the carry (C) bits. It is an arithmetic operation of addition of two single bit words.
x y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
The Sum(S) bit and the carry (C) bit, according to the rules of binary addition, the sum (S) is the
X-OR of X and Y ( It represents the LSB of the sum). Therefore,
S= xy + xy
The carry (C) is the AND of X and Y (it is 0 unless both the inputs are 1).Therefore,
C = xy
A half-adder can be realized by using one X-OR gate and one AND gate. The logic diagram for
this implementation is shown in Fig. 3.10 (a), as are four other implementa tions for a half-adder.
A full-adder is a combinational circuit that forms the arithmetic sum of three input bits. It
consists of three inputs and two outputs. Two of the input variables, denoted by x and y represent
the two significant bits to be added. The third input, z represents the carry from the previous
lower significant position. Two outputs are necessary because the arithmetic sum of three binary
digits ranges in value from 0 to 3, and binary 2 or 3 needs two digits. The two outputs are
designated by the symbols S for sum and C for carry. The binary variable S gives the value of
the least significant bit of the sum. The binary variable C gives the output carry. The truth table
of the full-adder is as follows:
x y z C S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
when only one input is equal to 1 or when all three inputs are equal to 1. The C output has a
carryof 1 if two or three inputs are equal to 1.
The input and output bits of the combinational circuit have different interpretations at various
stages of the problem. Physically, the binary signals of the input wires are considered binary
digits added arithmetically to form a two-digit sum at the output wires. On the other hand, the
same binary values are considered variables of Boolean functions when expressed in the truth
table or when the circuit is implemented with logic gates. It is important to realize that two
different interpretations are given to the values of the bits encountered in this circuit.
The input-output logical relationship of the full-adder circuit may be expressed in two Boolean
functions, one for each output variable. Each output Boolean function requires a unique map for
its simplification. Each map must have eight squares, since each output is a function of three
input variables. The maps of Fig. 3.11 are used for simplifying the two output functions. The
1’s in the squares for the maps of S and C are determined directly from the truth table. The
squares with 1’s for the S output do not combine in adjacent squares to give a simplified
expression in sum of products. The C output can be simplified to a six-literal expression. The
logic diagram for the full-adder implemented in sum of products is shown in Fig. 3.12. This
implementation uses the following Boolean expressions:
S= z (x y)
= z(x y + xy) + z(x y + xy)
= z(x y + xy) + z(x y + xy)
= x yz + xyz + x yz + xyz