Chapter 1
Chapter 1
Chapter 1
Logic Simplification and Combinational Logic Design
NUMBER SYSTEMS
The study of number systems is important from the viewpoint of understanding how data are
represented before they can be processed by any digital system including a digital computer.
Different characteristics that define a number system include the number of independent
digits used in the number system, the place values of the different digits constituting the
number and the maximum numbers that can be written with the given number of digits. The
base or radix of a number system is defined as the maximum number of digits or symbols that
can be used in any position. The radix of the decimal number system is 10 as it has 10
independent digits, i.e. 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. Similarly, the binary number system with
only two independent digits, 0 and 1, is a radix-2 number system. The octal and hexadecimal
number systems have a radix (or base) of 8 and 16 respectively.
The decimal number system is mainly suitable for human beings. As it uses 10 digits in any
position of a given number, the base or radix is 10.
It obeys positional notation rule. The value or magnitude of a given decimal number can be
expressed as the sum of the various digits multiplied by their place values or weights.
Most of the electronic components will have two state or binary operation ON and OFF. The
decimal number system is not suitable to digital systems which contain two state operation.
The number system used for digital systems is binary number system. The binary number
system is a radix-2 number system with „0‟ and „1‟ as the two independent digits. All larger
binary numbers are represented in terms of „0‟ and „1‟. These symbols are known as binary
digits or simply bits. It also obeys positional notation rule.
KLEF, Guntur
Digital System Design
The octal number system has a radix of 8 and therefore has eight distinct digits. The
independent digits are 0, 1, 2, 3, 4, 5, 6 and 7. It also obeys positional notation rule.
To represent large numbers in digital systems like computers, hexadecimal number system is
used. Here the base is 16 and hence 16 digits or symbols (0-9) and (A-F) can be placed in any
given number. This number system obeys positional notation rule.
Example: 1𝐴𝐶. 𝐵𝐷 16 , 2𝐵𝐶 𝐻
Conversion of numbers:
A decimal number can be converted into a binary number by using Divide-by-2 or double
dabble method. For the integer part, the binary equivalent can be found by successively
dividing the integer part of the number by 2 and recording the remainders until the quotient
becomes „0‟. The remainders written in reverse order constitute the binary equivalent. For the
fractional part, it is found by successively multiplying the fractional part of the decimal
number by 2 and recording the carry until the result of multiplication is „0‟. The carry
KLEF, Guntur
Digital System Design
sequence written in forward order constitutes the binary equivalent of the fractional part of
the decimal number.
76 ÷ 2 = 38 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 0
38 ÷ 2 = 19 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 0
19 ÷ 2 = 9 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 1
9 ÷ 2 = 4 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 1
4 ÷ 2 = 2 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 0
2 ÷ 2 = 1 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 0
1 ÷ 2 = 0 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 1
∴ 152.49 10 = (10011000.011)2
19 ÷ 8 = 2 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 3
KLEF, Guntur
Digital System Design
2 ÷ 8 = 0 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 2
∴ 152.49 10 = (230.372)8
Decimal-to-Hexadecimal Conversion:
96 ÷ 16 = 6 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 0
6 ÷ 16 = 0 𝑤𝑖𝑡ℎ 𝑟𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟 6
A binary number is converted to a decimal number by expressing the number using positional
notation rule.
KLEF, Guntur
Digital System Design
∴ 𝑋 = 3.625
The octal number system contains 8 digits which can be expressed as a third power of the
base of binary system i.e., 2. Hence a binary number can be converted into an equivalent
octal number by splitting the integer and fractional parts into groups of three bits, starting
from the binary point on both sides. The 0s can be added to complete the outside groups if
needed.
The hexadecimal number system contains 16 digits which can be expressed as a fourth power
of the base of binary system i.e., 2. Hence a binary number can be converted into an
equivalent octal number by splitting the integer and fractional parts into groups of four bits,
starting from the binary point on both sides. The 0s can be added to complete the outside
groups if needed.
An octal number is converted to a decimal number by expressing the number using positional
notation rule.
∴ 𝑋 = 492.828
An octal number can be converted into its binary equivalent by replacing each octal digit with
its three-bit binary equivalent.
KLEF, Guntur
Digital System Design
557.63 = 101101111.110011
For octal to hexadecimal conversion, the octal number may first be converted into an
equivalent binary number and then the binary number transformed into its hex equivalent.
A hexadecimal number can be converted into its binary equivalent by replacing each digit
with its four-bit binary equivalent.
3𝐶𝐷. 4𝐸 16 = 001111001101.01001110
For hexadecimal–octal conversion, the given hex number is firstly converted into its binary
equivalent which is further converted into its octal equivalent.
KLEF, Guntur
Digital System Design
In this representation, a sign bit is used to represent the sign of the number; if sign bit is 0, the
number is positive and if the sign bit is 1, the number is negative. So in this form, the MSB
represents the sign bit and the remaining bits represent the magnitude. For example, -7 and
+5 is represented as 1111 and 0101 respectively. But it is not suitable for arithmetic
operations as it requires frequent conversion from signed magnitude to normal form.
Complements:
The method of complements is the efficient method for representing negative numbers which
eliminates the drawbacks of signed magnitude representation. There are two types of
complements namely r‟s and (r-1)‟s complement where r is the radix of the number system.
In binary number system, we have 1‟s and 2‟s complements. The 1‟s complement of an
unsigned binary number can be achieved by inverting each bit from 0 to 1 or 1 to 0.
KLEF, Guntur
Digital System Design
BINARY CODES
Digital circuits use binary signals but are required to handle data which may be alphabetic,
numeric, or special characters. Hence the signals available in some other form other than
binary have to be converted into suitable binary form before they can be processed further by
digital circuits. This means, in whatever format the information may be available it must be
converted into binary format. To achieve this, a process of coding is required where each
letter, special character, or numeral is coded in a unique combination of 0s and 1s using a
coding scheme known as code. In digital systems a variety of codes are used to serve
different purposes, such as data entry, arithmetic operation, error detection and correction,
etc. Selection of a particular code depends on the requirement. Even in a single digital system
a number of different codes may be used for different operations and it may even be
necessary to convert data from one type of code to another.
(i) Weighted Binary Codes (ii) Non-weighted Codes (iii) Error-detection Codes
Weighted Codes:
If each position of a number represents a specific weight then the coding scheme is called
weighted binary code. In such coding the bits are multiplied by their corresponding individual
weight, and then the sum of these weighted bits gives the equivalent decimal digit.
BCD Code:
It is difficult or time taking process to represent large numbers using straight binary code. A
BCD code is one in which the digits of a decimal number are encoded one at a time into
groups of four binary digits or bits. Hence decimal digits (0-9) are represented using 4 bits
each from 0000 to 1001. But using 4 bits 16 combinations are possible from 0000-1111.
Hence in BCD code, the combinations (1010-1111) are invalid. It is also known as 8421
code.
KLEF, Guntur
Digital System Design
The disadvantage of BCD code is it is not suitable to perform subtraction using 9‟s
complement. This drawback can be avoided in Excess-3 code.
Non-weighted Codes:
Excess-3 Code:
The excess-3 code is another important BCD code which is used to overcome the problem of
8421 BCD code. The Excess-3 code can be formed by adding decimal 3 to the BCD code.
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
In Excess-3 code, the combinations 0000, 0001, 0010, 1101, 1110 and 1111 are invalid or
unused states. The complement of the excess-3 code of a given decimal number yields the
excess-3 code for 9‟s complement of the decimal number and hence the excess-3 code can be
used effectively for both addition and subtraction of decimal numbers, thus avoiding the
drawback of 8421 code. It is a self-complementing code. A code is said to be self-
complementing, if the code word of the 9‟s complement of 𝑁, can be obtained from the code
word of 𝑁 by interchanging all the 0s and 1s. In self-complementing codes, the sum of the
weights is equal to 9. The 2421, 5211, 642-3, 84-2-1 and Excess-3 codes are self-
complementing codes.
KLEF, Guntur
Digital System Design
Gray Code:
Gray Code is a unit distance code in which two successive values differ only by 1 bit. It is a
non-weighted code. The Gray code is used in applications where the normal sequence or
binary numbers may produce an error or ambiguity during the transition from one number to
the next. A typical application of the Gray code occurs when analog data are represented by
continuous change of a shaft position. The shaft is portioned into segments, and each segment
is assigned a number. If adjacent segments are made to correspond with the Gray code
sequence, ambiguity is eliminated when detection is sensed in the line that separates any two
segments. It is also known as reflective code or unit distance code or cyclic code. These
codes find great applications in Boolean function minimization using Karnaugh map.
0 0000 8 1100
1 0001 9 1101
2 0011 10 1111
3 0010 11 1110
4 0110 12 1010
5 0111 13 1011
6 0101 14 1001
7 0100 15 1000
Binary information may be transmitted through some form of communication medium such
as wires or radio waves or fiber optic cables, etc. Any external noise introduced into a
physical communication medium changes bit values from 0 to 1 or vice versa. An error
detection code can be used to detect errors during transmission.
Parity: A parity bit is an extra bit included with a message to make the total number of 1s
either odd or even. In an odd parity, P is chosen so that the sum of all 1s is odd (including the
parity bit). In an even parity, P is chosen so that the sum of all 1s is even (including the parity
bit). In the sending end, the message (in this case the first four bits) is applied to a “parity
generation” circuit where the required P bit is generated. The message, including the parity
bit, is transferred to its destination. In the receiving end, all the incoming bits (in this case
KLEF, Guntur
Digital System Design
five) are applied to a “parity check” circuit to check the proper parity adopted. An error is
detected if the checked parity does not correspond to the adopted one. The parity method
detects the presence of one, three, five, or any odd combination of errors. An even
combination of errors is undetectable since an even number of errors will not change the
parity of the bits. This is an error detecting code and it cannot correct the errors.
0000 1 0
0001 0 1
0010 0 1
0011 1 0
0100 0 1
0101 1 0
0110 1 0
0111 0 1
1000 0 1
1001 1 0
1010 1 0
1011 0 1
1100 1 0
1101 0 1
1110 0 1
1111 1 0
KLEF, Guntur
Digital System Design
Logic gates are electronic circuits that can be used to implement the most elementary logic
expressions, also known as Boolean expressions. The logic gate is the most basic building
block of combinational logic. There are three basic logic gates, namely the OR gate, the AND
gate and the NOT gate. Other logic gates that are derived from these basic gates are the
NAND gate, the NOR gate, the EXCLUSIVEOR gate and the EXCLUSIVE-NOR gate. This
chapter deals with logic gates and implementations using NAND and NOR gates followed by
simplification of Boolean functions using Boolean Laws and theorems and using K-maps.
The binary variables can have either of the two states, i.e. the logic „0‟ state or the logic „1‟
state. These logic states in digital systems such as computers, for instance, are represented by
two different voltage levels or two different current levels. If the more positive of the two
voltage or current levels represents a logic „1‟ and the less positive of the two levels
represents a logic „0‟, then the logic system is referred to as a positive logic system. If the
more positive of the two voltage or current levels represents a logic „0‟ and the less positive
of the two levels represents a logic „1‟, then the logic system is referred to as a negative logic
system.
If the two voltage levels are 0 V and +5 V, then in the positive logic system the 0 V
represents logic „0‟ and the +5 V represents logic „1‟. In the negative logic system, 0 V
represents logic „1‟ and 5 V represents logic „0‟.If the two voltage levels are 0 V and −5 V,
then in the positive logic system the 0 V represents a logic „1‟ and the −5 V represents a logic
„0‟. In the negative logic system, 0 V represents logic „0‟and −5 V represents logic „1‟.
Logic Gates
The logic gate is the most basic building block of any digital system, including computers.
Each one of the basic logic gates is a piece of hardware or an electronic circuit that can be
used to implement some basic logic expression. While laws of Boolean algebra could be used
to do manipulation with binary variables and simplify logic expressions, these are actually
implemented in a digital system with the help of electronic circuits called logic gates. The
three basic logic gates are the OR gate, the AND gate and the NOT gate.
KLEF, Guntur
Digital System Design
OR Gate
A logic gate used to perform the operation of logical addition is called an OR gate. An OR
gate performs an ORing operation on two or more than two logic variables. The OR operation
on two independent logic variables A and B is written as Y = A+B and reads as Y equals A
OR B. An OR gate is a logic circuit with two or more inputs and one output. The output of an
OR gate is LOW only when all of its inputs are LOW. For all other possible input
combinations, the output is HIGH.A truth table lists all possible combinations of input binary
variables and the corresponding outputs ofa logic system. Figure shows the circuit symbol
and the truth table of a two-input OR gate. The operation of a two-input OR gate is explained
by the logic expression
Y = A+B
AND Gate
A logic gate used to perform logical multiplication is known as AND gate. An AND gate is a
logic circuit having two or more inputs and one output. The output of an AND gate is HIGH
only when all of its inputs are in the HIGH state. In all other cases, the output is LOW. The
logic symbol and truth table of a two-input AND gate is shown in figure. The AND operation
on two independent logic variables A and B is written as Y = A.B and reads as Y equals A
AND B. The operation of a two-input AND gate is explained by the logic expression
Y = A.B
KLEF, Guntur
Digital System Design
NOT Gate
A logic gate used to perform logical inversion is known as a NOT gate. A NOT gate is a one
-input, one-output logic circuit whose output is always the complement of the input. That is, a
LOW input produces a HIGH output, and vice versa. If 𝑋 is the input to a NOT circuit, then
its output Y is given by Y = 𝑋 or 𝑋′and reads as Y equals NOT𝑋.The logic symbol and truth
table of a NOT gate is shown in figure. The operation of a NOT gate is explained by the logic
expression
Y=𝑋
NOT Gate
NAND Gate
NAND stands for NOT AND. An AND gate followed by a NOT circuit makes it a NAND
gate. The output of a NAND gate is logic „0‟ when all its inputs are logic „1‟. For all other
input combinations, the output is logic „1‟. The symbol and truth table of a NAND gate is as
shown. NAND gate operation is logically expressed as
𝑌 = 𝐴𝐵
NAND Gate is known as Universal gate as it can be used alone to implement any gate
operation. Hence it is said to be functionally complete.
NOR Gate
NOR stands for NOT OR. An OR gate followed by a NOT circuit makes it a NOR gate. The
output of a NOR gate is logic „1‟ when all its inputs are logic „0‟. For all other input
combinations, the output is logic „0‟. The symbol and truth table of a NOR gate is as shown.
The output of a two-input NOR gate is logically expressed as
KLEF, Guntur
Digital System Design
𝑌 = (𝐴 + 𝐵)
NOR gate is also known as Universal gate as it is used alone to implement any gate operation
and hence it is also functionally complete.
EXCLUSIVE-OR Gate
𝑌 = 𝐴 ⊕ 𝐵 = 𝐴′ 𝐵 + 𝐴𝐵′
EXCLUSIVE-NOR Gate
EXCLUSIVE-NOR (commonly written as EX-NOR) means NOT of EX-OR, i.e. the logic
gate thatwe get by complementing the output of an EX-OR gate. The truth table of an EX-
NOR gate is obtained from the truth table of an EX-OR gate by complementing the output
entries as shown in figure. Logically,
𝑌 = 𝐴 ⊕ 𝐵 = 𝐴′ 𝐵 ′ + 𝐴𝐵
KLEF, Guntur
Digital System Design
The output of a two-input EX-NOR gate is logic „1‟ when the inputs are like and logic
„0‟when they are unlike. In general, the output of a multiple-input EX-NOR logic function is
logic„0‟ when the number of 1s in the input sequence is odd and a logic „1‟ when the number
of 1s in the input sequence is even including zero.
Boolean algebra:
Boolean algebra is an algebraic structure defined on a set of elements B together with two
binary operators + and · provided the following postulates are satisfied:
4. a) · is distributive over +: 𝑥 ∙ 𝑦 + 𝑧 = 𝑥 ∙ 𝑦 + 𝑥 ∙ 𝑧 .
b) + is distributive over ·: 𝑥 + 𝑦 ∙ 𝑧 = 𝑥 + 𝑦 ∙ 𝑥 + 𝑧 .
Duality Principle:
It states that every algebraic expression deducible from the postulates of Boolean algebra
remains valid if the operators and identity elements are interchanged. If the dual of an
algebraic expression is desired, OR and AND operators are interchanged and 1‟s are replaced
by 0‟s and 0‟s by 1‟s.
1. 𝑎) 𝑥 + 0 = 𝑥 𝑏) 𝑥 ∙ 1 = 𝑥
KLEF, Guntur
Digital System Design
2. 𝑎) 𝑥 + 𝑥 ′ = 1 𝑏) 𝑥 ∙ 𝑥 ′ = 0
3. 𝑎) 𝑥 + 𝑥 = 𝑥 𝑏) 𝑥 ∙ 𝑥 = 𝑥
4. 𝑎) 𝑥 + 1 = 1 𝑏) 𝑥 ∙ 0 = 0
′
5. DeMorgan‟s Theorem: 𝑎) 𝑥 + 𝑦 = 𝑥′ 𝑦′ 𝑏) 𝑥𝑦 ′
= 𝑥 ′ + 𝑦′
6. Absorption Theorem: 𝑎) 𝑥 + 𝑥𝑦 = 𝑥 𝑏) 𝑥 𝑥 + 𝑦 = 𝑥
The Boolean functions can be simplified by using appropriate Boolean laws and theorems.
Examples:
= 𝐴𝐵 𝐶 + 𝐶 ′ + 𝐴𝐵𝐷𝐸 + 𝐴𝐵𝐶 ′ 𝐷′ 𝐸 ′ = 𝐴𝐵 1 + 𝐷𝐸 + 𝐶 ′ 𝐷′ 𝐸 ′ = 𝐴𝐵
2. 𝐹 = 𝑥𝑦 + 𝑥 ′ 𝑧 + 𝑦𝑧
Sol: 𝐹 = 𝑥𝑦 + 𝑥 ′ 𝑧 + 𝑦𝑧
= 𝑥𝑦 + 𝑥 ′ 𝑧 + 𝑦𝑧 𝑥 + 𝑥 ′ = 𝑥𝑦 1 + 𝑧 + 𝑥 ′ 𝑧 1 + 𝑦 = 𝑥𝑦 + 𝑥′𝑧
= 𝐵𝐶 + 𝐴′ 𝐵 ′ + 𝐴𝐵𝐶 ′ = 𝐵 𝐶 + 𝐴𝐶 ′ + 𝐴′ 𝐵 ′ = 𝐴𝐵 + 𝐵𝐶 + 𝐴′𝐵′
Universal Gates
OR, AND and NOT gates are the three basic logic gates as they together can be used to
construct the logic circuit for any given Boolean expression. NOR and NAND gates have the
property that they individually can be used to hardware-implement a logic circuit
corresponding to any given Boolean expression. That is, it is possible to use either only
NAND gates or only NOR gates to implement any Boolean expression. This is so because a
combination of NAND gates or a combination of NOR gates can be used to perform
KLEF, Guntur
Digital System Design
functions of any of the basic logic gates. It is for this reason that NAND and NOR gates are
universal gates.
a) NOT gate:
b) AND gate:
c) OR gate:
d) NOR gate:
e) Ex-OR gate:
f) Ex-NOR gate:
KLEF, Guntur
Digital System Design
a) NOT gate:
b) AND gate:
c) OR gate:
d) NAND gate:
e) Ex-OR gate:
f) Ex-NOR gate:
KLEF, Guntur
Digital System Design
Boolean Expressions:
a) Canonical form
b) Standard form
Canonical Form:
An expanded form of Boolean expression, where each term contains all Boolean variables in
their true or complemented form, is known as the canonical form of the expression.
𝑌 = 𝐴′ + 𝐵 ′ + 𝐶 𝐴 + 𝐵 + 𝐶 ′ 𝐴 + 𝐵 + 𝐶
= 𝑀 (0,1,6)
Standard Form:
A simplified form of a Boolean expression which may consist of one or more number of
variables in each term in either complemented or un-complemented form, is known as
Standard form of the expression.
KLEF, Guntur
Digital System Design
𝑌 = 𝐴′ 𝐵 + 𝐵𝐶 ′ + 𝐴𝐶
is a SOP expression with three variables.
b) Product of Sums (POS): It is a Boolean expression containing OR terms called Sum
terms and the product denotes the ANDing of these terms.
𝑌 = 𝐴 𝐴 + 𝐵′ 𝐵 + 𝐶 ′
is a POS expression with three variables.
** Canonical form is obtained when a function is taken from a truth table. When
The primary objective of all simplification procedures is to obtain an expression that has the
minimum number of terms. Obtaining an expression with the minimum number of literals is
usually the secondary objective. The Boolean functions can be simplified by using
A Karnaugh map is a graphical representation of the logic system. It can be drawn directly
from either minterm (sum-of-products) or maxterm (product-of-sums) Boolean expressions.
Drawing a Karnaugh map from the truth table involves an additional step of writing the
minterm or maxterm expression depending upon whether it is desired to have a minimized
sum-of-products or a minimized product of sums expression.
An n-variable Karnaugh map has 2nsquares, and each possible input is allotted a square. In
the case of a minterm Karnaugh map, „1‟ is placed in all those squares for which the output is
„1‟, and „0‟ is placed in all those squares for which the output is „0‟. 0s are omitted for
simplicity. An „X‟ is placed in squares corresponding to „don‟t care‟ conditions.
KLEF, Guntur
Digital System Design
i)
Sum of minterms representation ii) Product of maxterms representation
KLEF, Guntur
Digital System Design
Simplification Algorithm:
1. Identify the ones which cannot be combined with any other ones and encircle them.
These are called essential prime implicants.
2. Identify the ones that can be combined in groups of two in only one way. Encircle
them.
3. Identify the ones that can be combined with three other ones, to make a group of four
adjacent ones, in only one way. Encircle such group of ones.
4. Identify the ones that can be combined with seven other ones, to make a group of
eight adjacent ones, in only one way. Encircle them.
5. After identifying the essential groups of 2, 4, and 8 ones, if there still remain some
ones which have not been encircled, then these are to be combined with each other or
with other already encircled ones.
Examples:
Sol: 𝐹 = 𝐴′ 𝐶 + 𝐴′ 𝐵 + 𝐴𝐵 ′ 𝐶 + 𝐵𝐶 = 𝐴′ 𝐵 ′ 𝐶 + 𝐴′ 𝐵𝐶 ′ + 𝐴′ 𝐵𝐶 + 𝐴𝐵 ′ 𝐶 + 𝐴𝐵′𝐶
KLEF, Guntur
Digital System Design
𝐹 = 𝐶 + 𝐴′𝐵
𝐹 = 𝐴′ 𝐵 ′ + 𝐴′ 𝐷 + 𝐴𝐵𝐶𝐷′ + 𝐵 ′ 𝐶 ′ + 𝐵′𝐷
3. 𝐹 𝐴, 𝐵, 𝐶, 𝐷 = 𝑚 (1, 2, 3, 5, 7, 8, 9, 10, 13)
𝐹 = 𝐴′ 𝐶𝐷 + 𝐴𝐶 ′ 𝐷 + 𝐴𝐵 ′ 𝐷′ + 𝐴′ 𝐵 ′ 𝐷 + 𝐴′𝐵′𝐶
KLEF, Guntur
Digital System Design
𝐹 = 𝐴 + 𝐵 𝐴 + 𝐶 + 𝐷 (𝐵 + 𝐶 ′ )
𝐹 = 𝐷 + 𝐴′𝐶
𝐹 = 𝐴′ 𝐵 ′ 𝐷′ + 𝐵𝐶𝐷 + 𝐵𝐶 ′ 𝐷′ + 𝐵′𝐶′𝐷
KLEF, Guntur
Digital System Design
Any logic circuit can be implemented in two levels by representing the Boolean function
either in SOP or POS form. Two level NAND and NOR circuits can be obtained by
representing the expression in SOP and POS form respectively. Minimum propagation delay
will be obtained by using two level implementation. But as the number of terms increases, the
number of inputs increases for the second level gate.
NAND Implementation:
By expressing the given function in SOP form, the logic circuit can be implemented using
two level NAND gates.
Example:
Sol: 𝑌 = 𝐴 𝐴′ + 𝐵′ + 𝐵𝐶 ′ + 𝐴𝐶
𝑌 = 𝑌′ ′
= 𝐴𝐵′ + 𝐵𝐶 ′ + 𝐴𝐶 ′ ′
= 𝐴𝐵′ ′
𝐵𝐶 ′ ′ (𝐴𝐶)′
NOR Implementation:
By expressing the given function in POS form, the logic circuit can be implemented using
two level NOR gates.
Example:
Sol: 𝑌 = 𝐴′ 𝐵 + 𝐵𝐶 ′
KLEF, Guntur
Digital System Design
𝑌 = 𝑌′ ′
= 𝐵 𝐴′ + 𝐵 𝐴′ + 𝐶 ′ 𝐵 + 𝐶 ′ ′ ′
= [ 𝐵 ′ + 𝐴′ + 𝐵 ′ + 𝐴′ + 𝐶 ′ ′
+
(𝐵 + 𝐶 ′ )′]′
Multilevel Implementation:
Multi level NAND or NOR implementation of a Boolean circuit can be achieved by replacing
each gate in the circuit with the NAND or NOR equivalent circuits respectively. With this
type of implementation, very large propagation delay is achieved and only two input gates are
required.
NAND Implementation:
By replacing each gate in the circuit with the NAND equivalent, multi level NAND circuit is
achieved. When two single input NAND gates (inverters) are in series, they can be removed.
Example: 𝑌 = 𝐴 𝐵 + 𝐶𝐷 + 𝐵𝐶′
KLEF, Guntur
Digital System Design
NOR Implementation:
By replacing each gate in the circuit with the NOR equivalent, multi level NOR circuit is
achieved. When two single input NOR gates (inverters) are in series, they can be removed.
Example: 𝑌 = 𝐴 𝐵 + 𝐶𝐷 + 𝐵𝐶′
KLEF, Guntur