Unit 1.image - Marked
Unit 1.image - Marked
Many scientific, industrial and commercial advances have been made possible by the advent of computers.
Digital Logic Circuits form the basis of any digital (computer) system. In this topic, we will study the essential
features of digital logic circuits, which are at the heart of digital computers. Digital Logic circuits may be sub-
divided into Combinational Logic Circuits and Sequential Logic Circuits. In EG1108, our focus will be on
Combinational Logic Circuits. These circuits can be easily analyzed/designed using Boolean Algebra, which is
the mathematics associated with binary systems. We will see how Combinational Logic Circuits can be designed
and used for interesting practical problems. Circuit minization techniques such as Karnaugh maps for
simplification of combinatorial logic circuits will also be covered.
The main learning objectives for this topic are listed below.
Learning Objectives:
• Understand basic terminology, types of logic gates (AND, OR, NOT, NAND, NOR, XOR)
• Understand the basic operations used in computers and other digital systems
• Basic rules of Boolean algebra, De Morgan’s laws
• Universality of NAND and NOR gates
• Karnaugh maps for circuit minimization
(i) Allan R. Hambley, Electrical Engineering Principles and Applications, Chapter 7 (7.1, 7.3, 7.4, 7.5)
(ii) Giorgio Rizzoni, Principles and Applications of Electrical Engineering, Chapter 12 (12.1, 12.3, 12.4).
2 Digital Logic Circuits
The circuits we have considered so far process analog signals, in which the signal vs(t) varies continuously with
respect to time, as shown below. Notice that the amplitude can take on any value. With the advent of digital
computers, another type of signal, 'digital' signal, is popular. In using digital signals, we sample the analog signals at
various instants and convert the continuous analog signal into a set of discrete numbers. This is done by a so called
'Analog to Digital Converter (ADC)' Circuit. The digital signals can only take on values within a finite set of
numbers. For example an analog voltage signal may vary continuously within 0 and 50 V. However, a digital meter
may display only voltage values in steps of 1V.
Most commonly used digital signals are 'binary' in nature. That is, they can take on one of two values (0 and 1). The
numbers 0 and 1 are represented typically by two voltages in a circuit. For example, 0 can be represented by 0 volt
and 1 by 5 volts. An example of a binary signal is shown in the figure on the right.
Digital systems are extensively used for most practical applications in our modern world. They have the advantages
of greater flexibility in computation, ease of designing using simple, reusable building blocks, greater precision and
miniaturization.
The physical world, however, is analog, and hence almost all digital systems need analog-to-digital conversion
before being processed by a digital system, the output of which undergoes digital-to-analog conversion to convert it
back to analog form (which is what we use and understand).
Data acquisition Data processing
Fig. 1
We will now look at some important building blocks that form the basis of all digital systems.
3 Digital Logic Circuits
Logical expressions are constructed using logical-variables and -operators. The value of any logical expression boils
down to any one of the two logical constants listed below:
- True
- False
In Boolean algebra, a variable x may take any one of the two possible values 1 and 0.
x = 1 and x = 0
which may represent respectively
- Truth or Falsehood of a statement
- On or Off states of a switch
- High (5V) or low (0V) of a voltage level
Fig. 2
Electrical circuits designed to represent logical expressions are popularly known as logic circuits. Such circuits are
extensively used in industrial processes, household appliances, computers, communication devices, traffic signals
and microprocessors to make important logical decisions. Logic circuits are usually represented by logic operations
involving boolean variables.
We will illustrate these basic logical operations in the following sections using boolean variables A and B. A logic
gate is an electronic circuit/device which makes the logical decisions based on these operations. Logic gates have
one or more inputs and only one output. The output is active only for certain input combinations. Logic gates are the
building blocks of any digital circuit. Logic gates are also called switches. With the advent of integrated circuits,
switches have been replaced by TTL (Transistor Transistor Logic) circuits and CMOS circuits.
4 Digital Logic Circuits
AND Operation:
AND operation is represented by C = A • B
Its associated TRUTH TABLE is shown below. A truth table gives the value of output variable (here C) for all
combinations of input variable values (here A and B). Thus in an AND operation, the output will be 1 (True) only if
all of the inputs are 1 (True).
Fig. 3
A.A = A
1.A = A
0.A = 0
A.Ā = 0
A.B = B.A
A.(B.C) = (A.B).C = A.B.C
Note: The • sign can be omitted when indicating an AND operation. Thus, C=A•B and C=AB mean the same
operation.
OR Operation:
OR operation is represented by C = A + B
Here A, B & C are logical (Boolean) variables and the + sign represents the logical addition, called an 'OR'
operation. The symbol for the operation (called an OR gate) is shown in Fig. 4. Its associated TRUTH TABLE is
shown below. Thus in an OR operation, the output will be 1 (True) if either of the inputs is 1 (True). If both inputs
are 0 (False), only then the output will be 0 (False). Notice that though the symbol + is used, the logical addition
described above does not follow the rules of normal arithmetic addition.
Fig. 4
A+Ā = 1
A+A = A
0+A = A
1+A = 1
(A+B)+C=A+(B+C)=A+B+C
5 Digital Logic Circuits
The following figure shows how an OR gate can be implemented using diodes and a resistor. In general, however,
OR and other gates are implemented using electronic circuits based on active transistor (MOSFET or BJT) devices.
The focus in our EG1108 module will not be on such circuit implementation of logic gates.
NOT Operation:
NOT operation is represented by
CA
The NOT gate has only one input which is then inverted by the gate. Here, A is the 'complement' of A. The symbol
and truth table for the operation are shown below:
Fig. 5
Many logic gates can be implemented with more than two inputs, and for reasons of space in circuits, usually
multiple input, complex gates are made. You will encounter such gates in real world. The truth tables of 3-input
AND and OR gates are shown below.
In general, AND function on n variables is “1” if and only if ALL its arguments are “1”. OR function on n variables
is “1” if and only if at least one of its arguments is “1”.
Input Output
A B C A.B.C
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
6 Digital Logic Circuits
Input Output
A B C A+B+C
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
NAND Gate:
We could combine AND and NOT operations together to form a NAND gate. Thus the logical expression for a
NAND gate is C A B
The symbol and truth table are given in the following figure. The NAND gate symbol is given by an AND gate
symbol with a circle at the output to indicate the inverting operation.
Fig. 6
NOR Gate:
Similarly, OR and NOT gates could be combined to form a NOR gate.
Fig. 7
7 Digital Logic Circuits
A A BC
B
Fig. 8
As can be seen, the number of simple gates needed to implement an expression is equal to the number of operations
in the Boolean expression. We could use the rules of Boolean Algebra or Karnaugh Maps to simplify a given
Boolean expression. This would allow the given expression to be implemented using less number of gates.
Example 1:
Show by perfect induction that A A B A B . [See rule 18 above].
Solution: Let us create the following table and show the LHS = RHS for all the values of A and B.
De Morgan's Laws:
These laws are very useful in simplifying Boolean expressions. According to De Morgan's theorem:
Notice that the De Morgan's Laws give the link between the OR operation and the AND operation. Application of
De Morgan's theorem makes it easy to design logic circuits using NAND and NOR logic gates which we will soon
see.
Because of the above relationships, any logical function can be implemented by using only 1)AND and NOT gates
or 2)OR and NOT gates.
Thus an OR gate can be implemented with AND and NOT gates as shown below.
A+B
B
Fig. 9
De Morgan's Laws are valid for more than two variables also. For example,
A B C A B C and A B C A B C
9 Digital Logic Circuits
Fig. 10
Thus, any given logic function can be implemented by using NAND gates alone. For this reason, NAND gate is said
to be logically complete.
Solution:
Z A B C D
A B C D
A B C D
Fig. 11
10 Digital Logic Circuits
Fig. 12
A NOR gate is functionally complete because AND, OR, and NOT gates can be implemented using NOR gates
alone.
Solution:
Circuit implementation using NOR gates:
Fig. 13
11 Digital Logic Circuits
Fig. 14
Example 4: Figure below shows a logical circuit that may be used to achieve exclusive OR operation. Determine
the output C.
Fig. 15
Example 5: Simplify the expression for C and draw an equivalent logical circuit for exclusive OR operation.
Solution:
Fig. 16
12 Digital Logic Circuits
Based on the description of the problem, natural language is first translated into a truth table and Boolean
expressions are found methodically using one of these two methods. The Boolean expression is then simplified
using rules of Boolean algebra or Karnaugh Maps (which we will study later), so that it can be implemented using
minimum number of logic gates for practical implementation.
Sum-of-Products Implementation
As you might suspect, a Sum-Of-Products Boolean expression is literally a set of Boolean terms added (summed)
together, each term being a multiplicative (product) combination of Boolean variables.
Product terms that include all of the input variables (or their inverses) are called minterms. In a sum-of-products
expression, we form a product of all the input variables (or their inverses) for each row of the truth table for which
the result is logic 1. The output is the logical “sum” of these minterms
Sum-Of-Products expressions are easy to generate from truth tables as shown in the example below, by determining
which rows of the table have an output of 1, writing one product term for each row, and finally summing all the
product terms. This creates a Boolean expression representing the truth table as a whole.
Sum-Of-Products expressions lend themselves well to implementation as a set of AND gates (products) feeding into
a single OR gate (sum).
Example 6: Obtain W from the truth table in the Sum Of Products (SOP) form. Draw the logical circuit to
implement it.
Using this method, the resulting Boolean expression and its circuit implementation are shown below.
W A B C A B C A B C A B C A B C
Note that each product term in the Boolean expression includes all of the input variables (or their inverses).
13 Digital Logic Circuits
Fig. 17
Example 7: Simplify the logical expression W obtained in example 5 and show its implementation.
Fig. 18
14 Digital Logic Circuits
Product-of-Sums Implementation
An alternative to generating a Sum-Of-Products expression to account for all the "high" (1) output conditions in the
truth table is to generate a Product-Of-Sums, or POS, expression, to account for all the "low" (0) output conditions
instead. POS Boolean expressions can be generated from truth tables quite easily, by determining which rows of the
table have an output of 0, writing one sum term for each row, and finally multiplying all the sum terms. This creates
a Boolean expression representing the truth table as a whole.
These “sum” terms that include all of the input variables (or their inverses) are called maxterms. For POS
implementation, the output variable is the logical product of maxterms.
Product-Of-Sums expressions lend themselves well to implementation as a set of OR gates (sums) feeding into a
single AND gate (product).
Example 8: Find Z in terms of A, B and C in product-of-sum (POS) form from the following truth table.
To begin, we identify which rows in the last truth table column have "low" (0) outputs, and write a Boolean sum
term that would equal 0 for that row's input conditions. For instance, in the fifth row of the truth table, where A=1,
B=0, and C=0, the sum term would be (Ā + B + C), since that term would have a value of 0 if and only if Ā =0,
B=0, and C=0. Similarly, maxterms for the 6th and 7th row can be found. The completed Product-Of-Sums
expression, of course, is the multiplicative combination of these three sum terms.
Z ( A B C) ( A B C) ( A B C)
Whereas a Sum-Of-Products expression could be implemented in the form of a set of AND gates with their outputs
connecting to a single OR gate, a Product-Of-Sums expression can be implemented as a set of OR gates feeding into
a single AND gate.
15 Digital Logic Circuits
Karnaugh Maps
From the previous examples we can see that rules of Boolean algebra can be applied in order to simplify
expressions. Apart from being laborious (and requiring us to remember all the laws) this method can lead to
solutions which, though they appear minimal, are not. The Karnaugh map provides a simple and straight-forward
method of minimising boolean expressions. With the Karnaugh map Boolean expressions having up to four and
even six variables can be simplified easily. The simplified logical expression is then used so that minimum hardware
is employed in the implementation of logical circuits.
A Karnaugh map provides a pictorial method of grouping together expressions with common factors and therefore
eliminating unwanted variables. The values inside the squares are copied from the output column of the truth table,
therefore there is one square in the map for every row in the truth table. Around the edge of the Karnaugh map are
the values of the two input variable. A is along the top and B is down the left hand side. The diagram below explains
this.
In other words, we may say that Karnaugh map is a graphical representation of the truth table.
Referring to the map above, the two adjacent 1's are grouped together. Through inspection it can be seen that
variable A has its true and false form within the group. This eliminates variable A leaving only variable B which
only has its true form. The minimised answer therefore is Y = B.
It simply means that we are combining the two terms of the above expression Y as shown below:
16 Digital Logic Circuits
Y B ( A A) B
Therefore, as the variable A changes from its normal form to its inverse form (Ā) when we move from one square to
the adjacent one, the simplified expression of Y will be independent of A.
First, combining the two adjacent squares in row 1, we get B. Next, combining the two adjacent squares in column 1,
we get A. Hence, we get Z as shown below:
Z=B+A
Therefore we can easily conclude that, combining two adjacent squares in Karnaugh map eliminates one variable
from the resulting Boolean expression of the corresponding squares.
X A B C A B C A B C A B C
Figure below shows the Karnaugh map of the above truth table. The expression X may be simplified by combining
two adjacent squares as shown.
Y A B C A B C A B C A B C
The Karnaugh map of Y is shown below. In this case, we are able to combine four adjacent squares. Note that
Y A C ( B B) A C ( B B)
Y can also be obtained as:
AC AC C
Z A B C A B C A B C A B C
The corresponding Karnaugh map is shown below:
In this case also, we are able to combine 4 adjacent squares. Note that
- Combining the two adjacent squares in columns 2 and 3 of row 1, the variable A gets eliminated, and we
are left with Z1 B C
- Combining the two adjacent squares in columns 2 and 3 of row 2, the variable A gets eliminated and we are
left with Z 2 B C
W A B C A B C A B C A B C
The Karnaugh map of W is shown below. Note that the resulting expression should be independent of A and C. So,
W is simplified as: W = B
Therefore, we can conclude that combining four adjacent squares in Karnaugh map eliminates two variables
from the resulting Boolean expression of the corresponding squares.
18 Digital Logic Circuits
Karnaugh map of four variables A, B, C and D is shown in the following figure. As we have shown in the previous
examples, we may easily prove that:
Combining eight adjacent squares in Karnaugh map eliminates three variables from the resulting Boolean
expression of the corresponding squares.
X A B C D A B C D A B C D A B C D
Karnaugh map of X is shown in Figure 12.24. As we could combine 4 adjacent squares as shown below, the
simplified expression should be independent of two variables. Adjacent squares in a row suggest that the resultant
expression should be independent of B. Similarly, adjacent squares in a column suggest that it should also be
independent of C. Hence, the simplified expression of X is given by: X A D
Example 10: Simplify the following Boolean expression using Karnaugh map.
Y A B C D A B C D A B C D A B C D A B C D
A B C D A B C D A B C D A B C D
Solution: Karnaugh map of Y is shown below. There are four loops enclosing 4-adjacent squares. First, consider the
loop 1. The resulting expression for these squares should be independent of C and D. Next, consider loop 2. The
resulting expression of these squares should be independent of B and D. Thirdly, consider loop 3. The resulting
expression of these squares should be independent of B and C. Finally, consider loop 4.
19 Digital Logic Circuits
The resulting expression of these squares should be independent of A and B. Hence, we get
Y A B AC A D C D
Reductions could be done with Boolean algebra. However, the Karnaugh map is faster and easier, especially if there
are many logic reductions to do.
Compared to the algebraic method, the K-map process is a more orderly process requiring fewer steps and always
producing a minimum expression. It must be noted that the minimum expression is generally NOT unique.