DPSD unit 1

65
DIGITAL PRINCIPLES AND SYSTEM DESIGN

Transcript of DPSD unit 1

Page 1: DPSD unit 1

DIGITAL PRINCIPLES AND SYSTEM

DESIGN

Page 2: DPSD unit 1

Unit I : BOOLEAN ALGEBRA AND LOGIC GATES

Basic Digital Concepts

By converting continuous analog signals into a _nite number of discrete states, a process

called digitization, then to the extent that the states are su_ciently well separated so that

noise does create errors, the resulting digital signals allow the following (slightly idealized):

storage over arbitrary periods of time

flawless retrieval and reproduction of the stored information

flawless transmission of the information

Some information is intrinsically digital, so it is natural to process and manipulate it using purely

digital techniques. Examples are numbers and words.

The drawback to digitization is that a single analog signal (e.g. a voltage which is a function of

time, like a stereo signal) needs many discrete states, or bits, in order to give a satisfactory

reproduction. For example, it requires a minimum of 10 bits to determine a voltage at any given

time to an accuracy of _ 0:1%. For transmission, one now requires 10 lines instead of the one

original analog line.

NUMBER SYSTEMS

Decimal, Binary, Octal, and Hexadecimal Systems

The familiar decimal number system has base or radix . It referred to as base because it uses ten

digits . These digits are referred to as the coefficients of the

decimal 10 system. Thus, in the decimal system the coefficients are multiplied by the appropriate

powers of 10 to form a number. For example, the decimal number 58392.46 is interpreted as:

Table shows the first 16 numbers of the decimal, binary, octal, and hexadecimal systems.

Page 3: DPSD unit 1

Binary, Octal, and Hexadecimal to Decimal Conversions

A number in base other than base 10, can be converted to its decimal equivalent using the

following

steps:

1. Express the given number in the form of (1.1).

2. Add the terms following the rules of decimal addition.

Example 1

Convert the binary number to its decimal equivalent.

Solution:

Example 2

Convert the octal number to its decimal equivalent.

Solution:

Page 4: DPSD unit 1

Decimal to Binary, Octal, and Hexadecimal Conversions

An integer decimal number can be converted to any other base, say , by repeatedly

dividing the given decimal number by until the quotient becomes zero. The first

remainder obtainedbecomes the least significant digit, and the last remainder becomes the

most significant digit of the base number.

A fractional decimal number can be converted to any other base, say , by repeatedly

multiplying the given decimal number by until a number with zero fractional part is

obtained.

A mixed (integer and fractional) decimal number can be converted to any other base

number, say , by first converting the integer part, then converting the fractional part, and

finally combining these two parts.

Example 1

Convert the decimal number to its binary equivalent.

Solution:

In the last step above, the quotient is0 ; therefore, the conversion is completed and thus we have.

Page 5: DPSD unit 1

Example 2

Convert the decimal number to its binary equivalent.

Solution:

We observe that, for this example, the conversion is endless; this is because the given fractional

Decimal to Binary, Octal, and Hexadecimal Conversions

Decimal number is not an exact sum of negative powers of 2.

Example

Convert the decimal number to its binary equivalent.

Solution:

Since the fractional part of the last step above is 0, the conversion is complete and thus

Conversion from decimal-to -octal is accomplished by repeated division by 8 for the integer

part, and by repeated multiplication by 8 for the fractional part.

Example

Convert the decimal number to its octal equivalent.

Solution:

We first convert the integer part, next the fractional part, and then we combine these.

Page 6: DPSD unit 1

Binary- Octal-Hexadecimal Conversions

Example

Operations in Binary, Octal, and Hexadecimal Systems

Binary System Operations

The binary number system employs the numbers 0and 1only; therefore, the possible

combinations of binary addition are:

Page 7: DPSD unit 1

Example 1

Example 2

Page 8: DPSD unit 1

Octal System Operations

The addition of octal numbers is also very similar to decimal numbers addition except

that when the sum of two or more octal numbers exceeds seven, a carry occurs just as a carry

occurs when the sum of two or more decimal numbers exceeds nine. Table summarizes the octal

addition. This table can also be used for octal subtraction as it will be illustrated by Example

TABLE : Table for Addition and subtraction of octal numbers

Example

Page 9: DPSD unit 1

Hexadecimal System Operations

Hexadecimal addition and subtraction is accomplished similarly to that of addition and

subtraction with octal numbers except that we use Table. When Table . below is used for

addition, we first locate the least significant digit of the first number (augend) in the upper row of

the table,and then we locate the least significant digit of the second number (addend) in the left

most column of the table. The intersection of the augend with the addend gives the sum of these

two numbers. We follow the same procedure for all other digits from right to left.

Example 1

Example 2

Page 10: DPSD unit 1

Complements of Numbers

The subtraction operation is simplified by the use of the complements of numbers. For

each base-b system there are two useful types of complements, the b’s- complement, and the

(b1)’s- complement. Accordingly, for the base10 system we have the tens- complements and

the nines- complements, for the base- 2 we have the twos- complements and ones- complements,

for the base- 8 we have the eights- complements and sevens- complements, and for the base- 16

we have the sixteens- complements and the fifteens- complements.

Tens- Complement

The tens- complement of a number can be found by subtracting the first non-zero least

significant digit and all zeros to the right of it from 10; then, we subtract all other digits from 9.

Example

Nines- Complement

The nines−complement of a number can be found by subtracting every digit of that

number From 9.

Example 1

Find the nines - complement of 23567

Solution:

We subtract every digit of the given number from 9 and we find that the nines−complement of

23567 is 76432.

Example 2

Find the nines- complement of 37.562

Solution:

Page 11: DPSD unit 1

We subtract every digit of the given number from 9 and we find that the nines−complement of

23567 is 76432 . Therefore, the nines−complement of 37.562 is 62.437.

Twos -Complement

The twos -complement of a number can be found by leaving all the least significant zeros

and the least significant one unchanged and then replacing all zeros with ones and all ones with

zeros in all the other digits.

Example

Find the twos -complement of 1101100

Solution:

Starting from the right side of the given number we leave 100 unchanged and then for the

remaining digits, i.e, 1101 we replace the ones with zeros and the zero with one. Therefore, the

twos -complement of 1101100 is 0010100.

Example

Find the twos -complement of 0.1011

Solution:

We leave the lsd (last 1) unchanged and we replace the ones with zeros and the zero with one.

Ones- Complement

The ones -complement of a number can be found by replacing all zeros with ones and all ones

with zeros.

Page 12: DPSD unit 1

Example 1

Example 2

Subtraction with Tens and Twos- Complements

Example

Page 13: DPSD unit 1

Example

Subtraction with Nines and Ones- Complements

Page 14: DPSD unit 1

Example

Example

Page 15: DPSD unit 1

Binary Codes

Binary Coded Decimal (BCD)

Example

Weighted Binary 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.

Page 16: DPSD unit 1

BCD Code or 8421 Code

The full form of BCD is ‘Binary-Coded Decimal.’ Since this is a coding scheme relating

decimal and binary numbers, four bits are required to code each decimal number. For

example, (35)10 is represented as 0011 0101 using BCD code, rather than (100011)2. From

the example it is clear that it requires more number of bits to code a decimal number using

BCD code than using the straight binary code. However, in spite of this disadvantage it is

convenient to use BCD code for input and output operations in digital systems.

The code is also known as 8-4-2-1 code. This is because 8, 4, 2, and 1 are the weights

of the four bits of the BCD code. The weight of the LSB is 20 or 1, that of the next higher

order bit is 21 or 2, that of the next higher order bit is 22 or 4, and that of the MSB is 23

or 8. Therefore, this is a weighted code and arithmetic operations can be performed using

this code, which will be discussed later on. The bit assignment 0101, for example, can be

interpreted by the weights to represent the decimal digit 5 because 0 × 8 + 1 × 4 + 0 × 2

+ 1 × 1 = 5. Since four binary bits are used the maximum decimal equivalent that may be

coded is 1510 (i.e., 11112). But the maximum decimal digit available is 910. Hence the binary

codes 1010, 1011, 1100, 1101, 1110, 1111, representing 10, 11, 12, 13, 14, and 15 in decimal

are never being used in BCD code. So these six codes are called forbidden codes and the

group of these codes is called the forbidden group in BCD code. BCD code for decimal digits

0 to 9 is shown in Table

Example 1

Give the BCD equivalent for the decimal number 589

Solution : The decimal number is 5 8 9

BCD code is 0101 1000 1001

Hence, (589)10 = (010110001001)BCD

Example 2. Give the BCD equivalent for the decimal number 69.27.

Solution. The decimal number 6 9 2 7

BCD code is 0110 1001 0010 0111

Hence, (69.27)10 = (01101001.00100111)BCD

Page 17: DPSD unit 1

84-2-1 Code

It is also possible to assign negative weights to decimal code, as shown by the 84-

2-1 code. In this case the bit combination 0101 is interpreted as the decimal digit 3, as

obtained from 0 × 8 + 1 × 4 + 0 × (–2) + 1 × (–1) = 3. This is a self-complementary code,

that is, the 9’s complement of the decimal number is obtained just by changing the 1s to

0s and 0s to 1s, or in effect by getting the 1’s complement of the corresponding number.

For example, if we change the 1s to 0s and 0s to 1s in the previous example we have 1010,

which is interpreted as decimal 6, as obtained from 1 × 8 + 0 × 4 + 1 × (–2) + 0 × (–1)

= 6. And 6 is the 9’s complement of 3. This property is useful when arithmetic operations

are done internally with decimal numbers (in a binary code) and subtraction is calculated

by means of 9’s complement.

2421 Code

Another weighted code is 2421 code. The weights assigned to the four digits are 2, 4,

2, and 1. The 2421 code is the same as that in BCD from 0 to 4; however, it varies from

5 to 9. For example, in this case the bit combination 0100 represents decimal 4; whereas

the bit combination 1101 is interpreted as the decimal 7, as obtained from 2 × 1 + 1 × 4

+ 0 × 2 + 1 × 1 = 7. This is also a self-complementary code, that is, the 9’s complement of

the decimal number is obtained by changing the 1s to 0s and 0s to 1s. The 2421 codes for

decimal numbers 0 through 9 are shown in Table

Non-weighted Codes

These codes are not positionally weighted. It basically means that each position of

the binary number is not assigned a fixed value. Excess-3 codes and Gray codes are such

non-weighted codes.

Excess-3 Code

A decimal code that has been used in some old computers is Excess-3 code. This is a

Non-weighted code. This code assignment is obtained from the corresponding value of 4-bit

binary code after adding 3 to the given decimal digit. Here the maximum value may be

11002. Since the maximum decimal digit is 9 we have to add 3 to 9 and then get the BCD

equivalent. Like 84-2-1 and 2421 codes Excess-3 is also a self-complementary code, that is,

the 9’s complement of the decimal number is obtained by changing the 1s to 0s and 0s to 1s.

Page 18: DPSD unit 1

This self-complementary property of the code helps considerably in performing

subtraction operation in digital systems.

Example 1

Convert (367)10 into its Excess-3 code.

Solution. The decimal number is 3 6 7

Add 3 to each bit +3 +3 +3

Sum 6 9 10

Converting the above sum into 4-bit binary equivalent, we have a

4-bit binary equivalent of 0110 1001 1010

Hence, the Excess-3 code for (367)10 = 0110 1001 1010

Example 2

Convert (58.43)10 into its Excess-3 code.

Soluton. The decimal number is 5 8 4 3

Add 3 to each bit +3 +3 +3 +3

Sum 8 11 7 6

Converting the above sum into 4-bit binary equivalent, we have a

4-bit binary equivalent of 1000 1011 0111 0110

Hence, the Excess-3 code for (367)10 = 10001011.01110110

Binary codes for decimal digits

Page 19: DPSD unit 1

Gray Code

Gray code belongs to a class of code known as minimum change code, in which a

number changes by only one bit as it proceeds from one number to the next. Hence this code is

not useful for arithmetic operations. This code finds extensive use for shaft encoders, in some

types of analog-to-digital converters, etc. Gray code is reflected code and is shown in Table. The

Gray code may contain any number of bits. Here we take the example of 4-bit Gray code. The

code shown in Table is only one of many such possible codes.

To obtain a different reflected code, one can start with any bit combination and proceed

to obtain the next bit combination by changing only one bit from 0 to 1 or 1 to 0 in any desired

random fashion, as long as two numbers do not have identical code assignments. The Gray code

is not a weighted code.

Four-bit reflected code

Now we try to analyze the name “Reflected Code.” If we look at the Table 2.3 we can

consider seven virtual mirrors m1, m2, m3, m4, m5, m6, and m7 placed.

Now, for mirrorm1, if we consider the MSB as the refractive index of the input and output

medium then leaving out the MSB we can see that all of the eight combinations of three bits each

have their corresponding reflected counterparts. Similarly, for mirrors m2 and m5, if we now

leave the actual MSB we can consider the combination of three bits where now we consider the

third bit as the new MSB. And similar arguments follow for mirror m1. Similarly, we may

analyze the cases for mirrors m3, m4, m6, and m7.

Page 20: DPSD unit 1

Binary and Gray codes

Conversion of a Binary Number into Gray Code

Any binary number can be converted into equivalent Gray code by the following

steps:

(i) The MSB of the Gray code is the same as the MSB of the binary number;

(ii) The second bit next to the MSB of the Gray code equals the Ex-OR of the MSB and

Second bit of the binary number; it will be 0 if there are same binary bits or it will be 1 for

different binary bits;

(iii) The third bit for Gray code equals the exclusive-OR of the second and third bits

of the binary number, and similarly all the next lower order bits follow the same mechanism.

Example. Convert (101011)2 into Gray code.

Page 21: DPSD unit 1

Solution.

Conversion of Gray Code into a Binary Number

Page 22: DPSD unit 1

Any Gray code can be converted into an equivalent binary number by the following

steps:

(i) the MSB of the binary number is the same as the MSB of the Gray code;

(ii) the second bit next to the MSB of the binary number equals the Ex-OR of the MSB

of the binary number and second bit of the Gray code; it will be 0 if there are same binary bits or

it will be 1 for different binary bits;

(iii) the third bit for the binary number equals the exclusive-OR of the second bit of the

binary number and third bit of the Gray code, and similarly all the next lower order bits follow

the same mechanism.

Example.

Convert the Gray code 101101 into a binary number.

Solution.

Step 1. The MSB of the binary number is the same as the MSB of the Gray code

Step 2. Perform the ex-OR between the MSB of the binary number and the second bit of the

Gray code. The result is 1, which is the second bit of the binary number.

Step 3. Perform the ex-OR between the second bit of the binary number and the third bit of

the Gray code. The result is 0, which is the third bit of the binary number.

Step 4. Perform the ex-OR between the third bit of the binary number and the fourth bit

of the Gray code. The result is 1, which is the fourth bit of the binary number.

Page 23: DPSD unit 1

Step 5. Perform the ex-OR between the fourth bit of the binary number and the fi fth bit

of the Gray code. The result is 1, which is the fi fth bit of the binary number.

Step 6. Perform the ex-OR between the fi fth bit of the binary number and the sixth bit of

the Gray code. The result is 0, which is the last bit of the binary number.

After completing the conversion, the binary number of the Gray code 101101 is

110110.

Error-detection Codes

Parity Bit Coding Technique

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. The detected error cannot be corrected, but

its presence is indicated.

A parity bit is an extra bit included with a message to make the total number of 1s either

odd or even. A message of four bits and a parity bit, P, are shown in Table. In (a), P is chosen so

that the sum of all 1s is odd (including the parity bit). In (b), 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 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.

Page 24: DPSD unit 1

Check Sums

As we have discussed above the parity bit technique fails for double errors, hence we

use the Check Sums method in such case. Initially any word A 10010011 is transmitted; next

another word B 01110110 is transmitted. The binary digits in the two words are added and the

sum obtained is retained in the transmitter. Then any other word C is transmitted and added

to the previous sum retained in the transmitter and the new sum is now retained. In a similar

manner, each word is added to the previous sum already retained; after transmitting all the

words, the final sum, which is called the Check Sum, is also transmitted. The same operation

is done at the receiving end and the final sum, which has been obtained here, is being checked

against the transmitted Check Sum. There is no error if the two sums are equal.

Error-correcting Codes

We have already discussed two coding techniques that may be used in transmission

to detect errors. But, unfortunately, those discussed above are not capable of correcting the

errors. For correction of errors we will now discuss a code called the Hamming code.

Hamming Code

This coding had been developed by R. W. Hamming where one or more parity bits are

added to a data character methodically in order to detect and correct errors. The number

of bits changed from one code word to another is known as Hamming distance.

Let us consider Ai and Aj to be any two code words in any particular block code. Now

Page 25: DPSD unit 1

the Hamming distance dij between the two vectors Ai and Aj is defined by the number of

components in which they differ. Assuming that dij is determined for each pair of code words,

the minimum value of dij is called the minimum Hamming distance, dmin.

For example,

Alphanumeric Codes

Many applications of the computer require not only handling of numbers, but also of

letters. To represent letters it is necessary to have a binary code for the alphabet. In addition,

the same binary code must represent the decimal numbers and some other special characters.

An alphanumeric code is a binary code of a group of elements consisting of ten decimal digits,

the 26 letters of the alphabet (both in uppercase and lowercase), and a certain number of

special symbols such as #, /, &, %, etc. The total number of elements in an alphanumeric code

is greater than 36. Therefore it must be coded with a minimum number of 6 bits (26 = 64,

but 25 = 32 is insufficient). One possible 6-bit alphanumeric code is given in Table. It

is used in many computers to represent alphanumeric characters and symbols internally and

therefore can be called “internal code.” Frequently there is a need to represent more than

64 characters, including the lowercase letters and special control characters. For this reason

the following two codes are normally used

ASCII

The full form of ASCII (pronounced “as-kee”) is “American Standard Code for

Information Interchange,” used in most microcomputers. It is actually a 7-bit code, where a

character is represented with seven bits. The character is stored as one byte with one bit

remaining unused. But often the extra bit is used to extend the ASCII to represent an additional

128 characters. Some of the codes are shown in Table.

EBCDIC

The full form of EBCDIC is “Extended Binary Coded Decimal Interchange Code.” It is

also an alphanumeric code generally used in IBM equipment and in large computers for

communicating alphanumeric data. For the different alphanumeric characters the code grouping

Page 26: DPSD unit 1

in this code is different from the ASCII code. It is actually an 8-bit code and a ninth bit is added

as the parity bit.

Hollerith Code

Generally this code is used in punched cards. A punched card consists of 12 rows and

80 columns. An alphanumeric character is represented by each column of 12 bits each by

punching holes in the appropriate rows. The presence of a hole represents a 1 and its absence

indicates 0. The 12 rows are marked starting from the top, as 12, 11, 0, 1, 2, 3, 4, 5, 6, 7, 8,

and 9. The first three rows are called the zone punch and the last nine are called the numeric

punch. The code used here is called the Hollerith code. The letters are represented as two

holes in a column, one in zone punch and the other in numeric punch; decimal digits are

represented as a single hole in a numeric punch. Special characters are represented as one,

two, or three holes in a column; while the zone is always used, the other two holes, if used,

are in a numeric punch with the eighth punch being commonly used. The Hollerith code is

BCD and hence the transition from EBCDIC is simple. The Hollerith code is used in the card

readers and punches of large computers, while EBCDIC may be used within the computer.

Partial list of alphanumeric codes

Page 27: DPSD unit 1
Page 28: DPSD unit 1

Boolean algebra

Boolean algebra is an algebraic structure defined by a set of elements ,B, together with

two binary operators,+ and., provider that the following postulates are satisfied.

T7: Null Law

(a) 0 + A = A

(b) 1 A = A

(c) 1 + A = 1

(d) 0 A = 0

T8 :Double Negation Law

T9 :Absorption Law

T10 : De Morgan's Theorem

Page 29: DPSD unit 1

Example 1:

Using theorems,

BOOLEAN FUNCTIONS

Binary variables have two values, either 0 or 1. A Boolean function is an expression

formed with binary variables, the two binary operators AND and OR, one unary operator NOT,

parentheses and equal sign. The value of a function may be 0 or 1, depending on the values

of variables present in the Boolean function or expression. For example, if a Boolean function

is expressed algebraically as

F = AB′C

then the value of F will be 1, when A = 1, B = 0, and C = 1. For other values of A, B, C

the value of F is 0.Boolean functions can also be represented by truth tables. A truth table is the

tabular form of the values of a Boolean function according to the all possible values of its

variables. Foran n number of variables, 2n combinations of 1s and 0s are listed and one column

represents function values according to the different combinations. For example, for three

variables the Boolean function F = AB + C truth table can be written as below in Figure

Page 30: DPSD unit 1

A Boolean function from an algebraic expression can be realized to a logic diagram

composed of logic gates. Figure 3.11 is an example of a logic diagram realized by the basic

gates like AND, OR, and NOT gates. In subsequent chapters, more logic diagrams with

various gates will be shown

SIMPLIFICATION OF BOOLEAN EXPRESSIONS

Example 1:

Simplify the Boolean function F=AB+ BC + B′C.

Solution.

F = AB + BC + B′C

= AB + C(B + B′)

= AB + C

Example 2:

Simplify the Boolean function F = AB + (AC)′ + AB′C(AB + C).

Solution.

F = AB + (AC)′ + AB′C(AB + C)

= AB + A′ + C′+ AB′C.AB + AB′C.C

Page 31: DPSD unit 1

= AB + A′ + C′ + 0 + AB′C (B.B′ = 0 and C.C = C)

= ABC + ABC′ + A′ + C′ + AB′C (AB = AB(C + C′) = ABC + ABC′)

= AC(B + B′) + C′(AB + 1) + A′

= AC + C′+A′ (B + B′ = 1 and AB + 1 = 1)

= AC + (AC)′

= 1

CANONICAL AND STANDARD FORMS

Logical functions are generally expressed in terms of different combinations of logical

variables with their true forms as well as the complement forms. Binary logic values obtained by

the logical functions and logic variables are in binary form. An arbitrary logic function can be

expressed in the following forms.

(i) Sum of the Products (SOP)

(ii) Product of the Sums (POS)

Sum of Products (SOP). The logical sum of two or more logical product terms is

Referred to as a sum of products expression. It is basically an OR operation on AND operated

variables. For example, Y = AB + BC + AC or Y = A′B + BC + AC′ are sum of products

expressions.

Product of Sums (POS). Similarly, the logical product of two or more logical sum terms

is called a product of sums expression. It is an AND operation on OR operated variables.

For example, Y = (A + B + C)(A + B′ + C)(A + B + C′) or Y = (A + B + C)(A′ + B′ + C′)

are product of sums expressions

However, Boolean functions are also sometimes expressed in nonstandard forms like

F = (AB + CD)(A′B′ + C′D′), which is neither a sum of products form nor a product of sums

form. However, the same expression can be converted to a standard form with help of

various Boolean properties, as

F = (AB + CD)(A′B′ + C′D′) = A′B′CD + ABC′D′

Page 32: DPSD unit 1

KARNAUCH MAPS

Boolean algebra is the basis for any simplification of logic circuits. One of the easiest

ways to simplify logic circuits is to use the karnaugh map method. This graphic method is bascd

on Boolean theorems. It is only one of several methods used by logic designers to simplify logic

circuits. Karnaugh maps are sometimes referred to as K maps.

The first step in the Karnaugh mapping procedure is to develop a minterm Boolean

expression from a truth table. Consider the familiar truth table in Fig. 1.a. Each 1 in the Y

column of the truth table produces two variables ANDed together. These ANDed groups are then

ORed to form a sum-of-products (minterm) type of Boolean expression .This expression will be

referred to as the unsimpified Boolean expression. The second step in the mapping procedure is

to plot 1s in the Karnaugh map in Fig. 1.c. Each ANDed set of variables from the minterm

expression is placed in the appropriate square of the map. The map is just a very special output

column of the truth table.

The third step is to loop adjacent groups of two, four, or eight Is together. The fourth

step is to eliminate variables.

Page 33: DPSD unit 1

USING THREE VARIABLE:.

Page 34: DPSD unit 1

In summary, the steps in simplifying a logic expression using a Karnaugh map are as

follows:

1. Write a minterm Boolean expression from the truth table.

2. Plot a 1 on the map for each ANDed group of variables. (The number of 1s in the Y column

of the truth table will equal the number of Is on the map.)

3. Draw loops around adjacent groups of two, four, or eight 1s on the map. (The loops may

overlap.)

4. Eliminate the variable(s) that appear(s) with its (their) complement(s) within a loop, and save

the variable(s) that is (are) left.

5. Logically OR the groups that remain to form the simplified minterm expression.

SOLVED PROBLEMS:

1) Write the unsimplified minterm Boolean expression for the truth table

Solution:

2) Draw a 3-variable Karnaugh map. Plot four 1s on the map from the Boolean

expression

Page 35: DPSD unit 1

developed in Prob.1. Draw the appropriate loops around groups of Is on the map.

Solution:

3) Write the simplified Boolean expression based on the Karnaugh map from

Prob.2.

Solution:

KARNAUGH MAPS WITH FOUR VARIABLES:

Consider the truth table with four variables in Fig.3.a. The first step in simplification by

using a Karnaugh map is to write the minterm Boolean expression. The lengthy unsimplified

minterm expression appears in Fig.3.b. An ANDed group for four variables is written for each 1

in the Y column of the truth table. The second step is to plot 1s on the Karnaugh map. Nine 1s

are plotted onthe map in Fig ,Each 1 on the map represents an ANDed group of terms from the

unsimplified expression.

The third step is to loop adjacent groups of 1s. Adjacent groups of eight, four, or two

1sare looped. Larger loops provide more simplification. Two loops have been drawn in Fig. 3.c.

The larger loop contains eight 1s. The fourth step is to eliminate variables. The large loop in

eliminates the A , B , and C variables. This leaves the D term. The small loop contains two 1s

and eliminates the D variable. That leaves the term. The fifth step is to logically OR

the remaining terms. Figure 3.d shows the remaining groups ORed to form the simplified

Page 36: DPSD unit 1

minterm expression .The amount of simplification in this example is

obvious when the two Boolean expressions in Fig.3 are compared.

Fig.3: Using a four-variable map

Consider the 3-variable Karnaugh map in Fig. 4.a. The letters have been omitted from the

edges of the map to simplify the illustration. How many loops can be drawn on this map? There

are no adjacent groups of 1s, and therefore no loops are drawn in Fig. 4.a. No simplification is

possible in the example shown in Fig. 4 a.

Fig :4 Some unusual looping variations

Page 37: DPSD unit 1

The 3-variable Karnaugh map in Fig. 4.b contains two Is. Think of the top and bottom

edges of the map as being connected as if rolled into a tube. The 1s can then be looped into a

group of two, as shown in Fig. 4.b. One variable can thus be eliminated.

Consider the 4-variable Karnaugh maps in Fig. 4.c and d. The top and bottom edges of

the map are considered connected for looping purposes in Fig. 4.c. The 1s can then be looped

into a group of four Is, and two terms can be eliminated. In Fig. 4.d the right edge of the map is

considered connected to the left edge. The four 1s are looped into a single loop. Two variables

are thus eliminated.

Another looping variation is illustrated in Fig. 4.e. The corners of the map are considered

connected as if the map were wrapped around a ball. The four 1s in {he corners of the map are

then looped into a single loop. The single loop of four 1s thereby eliminates two variables.

SOLVED PROBLEMS:

1) Write the unsimplified minterm Boolean expression for the truth table.

2) Draw a 4-variable Karnaugh map. Plot five 1s on the map for the Boolean expression

Draw the appropriate loops around groups of Is on the map.

Page 38: DPSD unit 1

Solution:

USING MAPS WITH MAXTERM EXPRESSIONS:

A different form of the Karnaugh map is used with maxterm Boolean expressions. The

steps for simplifying maxterm expressions are as follows:

1. Write a maxterm Boolean expression from the truth table. (Note the inverted form in

Fig.5 a.)

2. Plot a 1 on the map for each ORed group of variables. The number of OS in the Y

column of the truth table will equal the number of 1s on the map.

3. Draw loops around adjacent groups of two, four, or eight 1s on the map.

4. Eliminate the variable(s) that appear(s) with its (their) complement(s) within a loop,

and save the variable(s) that is (are) left.

5. Logically AND the groups that remain to form the simplified maxterm expression.

The first step in simplifying a maxterm expression by using a Karnaugh map is to write

the expression in unsimplified form. Figure 5 a illustrates how a maxterm is written for each 0 in

the Y column of the truth table. The terms of the ORed group are inuerted from the way they

appear in the truth table. The ORed groups are then ANDed to form the unsimplified maxterm

Boolean expression in Fig. 5 b.

Page 39: DPSD unit 1

The second step is to plot Is on the map for each ORed group. The three maxterms in the

unsimplified expression are placed as three 1s on the reuised Karnaugh map (Fig. 5 c).

The third step is to loop adjacent groups of eight, four, or two 1s on the map. Two loops

have been drawn on the map in Fig. 5 c. Each loop contains two 1s.

The fourth step is to eliminate variables. The shaded loop in Fig. 5 c is shown to

eliminate the A variable. This leaves the maxterm ( B + C). The partially unshaded loop is shown

to eliminate the B variable.

The maxterm mapping procedure and Karnaugh map are different from those used for

minterm expressions. Both techniques should be tried on a truth table to find the less costly logic

circuit.

A 4-variable Karnaugh map for maxterm expressions is illustrated in Fig.. Note the

special pattern of letters on the left and top edges of the map. Care must always be used to

position all the terms correctly when drawing maps.

Page 40: DPSD unit 1

SOLVED PROBLEMS:

1) Write the unsimplified rnaxterm Boolean expression for the truth table.

Solution:

Page 41: DPSD unit 1

DON’T CARES ON KARNAUGH MAPS:

There are six combinations (1010, 1011, 1100, 1101, 1110, and 1111) are not used by the

BCD code. These combinations are called don’t cares when plotted on a Karnaugh map. The

don’t cares may have some effect on simplifying any logic diagram that might be constructed.

Suppose a problem specifying that a warning light would come ON when the BCD count

reached 1001 (decimal 9); see the truth table in Fig. 6. See 1 is placed in the output column ( Y )

of the truth table after the input 1001.

The six don’t cares (X’s from the truth table) are plotted as X’s on the map. An X on the

map means that square can be either a 1 or a 0. A loop is drawn around adjacent 1s. The X’s on

the map can be considered Is, so the single loop is drawn around the 1 and three X’s. Remember

that only groups of two, four, or eight adjacent 1s and X’s are looped together. The loop contains

four squares, which will eliminate two variables. The B and C variables are eliminated, leaving

the simplified Boolean expression D - A = Y in Fig. 6 c.

Page 42: DPSD unit 1

SOLVED PROBLEMS:

1) Draw a 4-variable minterm Karnaugh map. Plot two 1s and six X’s (for the don’t cares) on

the map based on the truth table.

Page 43: DPSD unit 1

solution:

THE TABULATION METHOD

The Karnaugh map method is a very useful and convenient tool for simplification of

Boolean functions as long as the number of variables does not exceed four (at the most six). But

if the number of variables increases, the visualization and selection of patterns of adjacent

Cells in the Karnaugh map become complicated and difficult. The tabular method, also

Known as the Quine-McCluskey method, overcomes this difficulty. It is a specific step-by-step

Procedure to achieve guaranteed simplified standard form of expression for a function.

The following steps are followed for simplified ation by the tabular or Quine-McCluskey

Method.

1. An exhaustive search is done to find the terms that may be included in the simplified

Functions. These terms are called prime implicants.

2. Form the set of prime implicants, essential prime implicants are determined by

Page 44: DPSD unit 1

preparing a prime implicants chart.

3. The minterms that are not covered by the essential prime implicants, are taken into

consideration by selecting some more prime implications to obtain an optimized Boolean

expression.

Determination of Prime Implicants

The Prime implicants are obtained by the following procedure:

1. Each minterm of the function is expressed by its binary representation.

2. The minters are arranged according to increasing index (index is defined as the

Number of 1s in a minter). Each set of minterms possessing the same index are separated by

lines.

3. Now each of the minterms is compared with the minterms of a higher index. For each

pair of terms that can combine, the new terms are formed. If two minterms are differed by only

one variable, that variable is replaced by a ‘-’ (dash) to form the new term with one less number

of literals. A line is drawn in when all the minterms of one set is compared with all the minterms

of a higher index.

4. The same process is repeated for all the groups of minterms. A new list of terms is

Obtained after the first stage of elimination is completed.

5. At the next stage of elimination two terms from the new list with the ‘-’ of the same

Position differing by only one variable is compared and again another new term is Formed with a

less number of literals.

6. The process is to be continued until no new match is possible.

7. All the terms that remain unchecked i.e., where no match is found during the process,

Are considered to be the prime implicates.

Prime Implicit Chart

1. After obtaining the prime implicates, a chart or table is prepared where rows are

Represented by the prime implicates and the columns are represented by the minters of the

function.

2. Crosses are placed in each row to show the composition of the minterms that makes

the prime implicants.

3. A completed prime implicant table is to be inspected for the columns containing only

a single cross. Prime implicants that cover the minterms with a single cross are called the

essential prime implicants.

Page 45: DPSD unit 1

The above process to find the prime implicants and preparation of the chart can

beillustrated by the following examples.

Example:

Obtain the minimal sum of the products for the function

F (A, B, C, D) = Σ (1, 4, 6, 7, 8, 9, 10, 11, 15).

Solution :

The table in Figure 4.28 shows the step-by-step procedure the Quine- McCluskey method

uses to obtain the simplified expression of the above function. Column I consists of the decimal

equivalent of the function or the minterms and column II is the corresponding binary

representation. They are grouped according to their index i.e., Number of 1s in the binary

equivalents. In column III, two minterms are grouped if they are differed by only a single

variable and equivalent terms are written with a ‘-’ in the place where the variable changes its

logic value. As an example, minterms 1 (0001) and 9 (1001) are grouped and written as 1,9 (–

001) and so on for the others. Also, the terms of column II, which are considered to form the

group in column III, are marked with ‘√’.

Page 46: DPSD unit 1

Example 1:

Obtain the minimal sum of the products for the function F (A,B,C,D) = Σ

(1, 2, 3, 7, 8, 9, 10, 11, 14, 15) by the Quine-McClusky method.

Page 47: DPSD unit 1

Example 2: Using the Quine-McClusky method, obtain the minimal sum of the

Products expression for the function F(A, B, C, D) = Σ (1, 3, 4, 5, 9, 10, 11) + Φ (6, 8).

Example 3: Using the Karnaugh map method obtain the minimal sum of the

Products and product of sums expressions for the function

LOGIC GATES

Digital systems are said to be constructed by using logic gates. These gates are the AND,

OR, NOT, NAND, NOR, EXOR and EXNOR gates. The basic operations are described below

with the aid of truth tables.

AND gate :

The AND gate is an electronic circuit that gives a high output (1) only if all its inputs are

high. A dot (.) is used to show the AND operation i.e. A.B. Bear in mind that this dot is

sometimes omitted i.e. AB TRUTH TABLE

The AND gate is an electronic circuit that gives a high output (1) only if all its inputs are

high. A dot (.) is used to show the AND operation i.e. A.B. Bear in mind that this dot is

sometimes omitted i.e. AB

OR gate: TRUTH TABLE

The OR gate is an electronic circuit that gives a high output (1) if one or more of its

inputs are high. A plus (+) is used to show the OR operation.

Page 48: DPSD unit 1

NOT gate: TRUTH TABLE

The NOT gate is an electronic circuit that produces an inverted version of the input at its

output. It is also known as an inverter. If the input variable is A, the inverted output is known as

NOT A. This is also shown as A', or A with a bar over the top, as shown at the outputs. The

diagrams below show two ways that the NAND logic gate can be configured to produce a NOT

gate. It can also be done using NOR logic gates in the same way.

NAND gate: TRUTH TABLE

This is a NOT-AND gate which is equal to an AND gate followed by a NOT gate. The

outputs of all NAND gates are high if any of the inputs are low. The symbol is an AND gate

with a small circle on the output. The small circle represents inversion.

NOR gate: TRUTH TABLE

Page 49: DPSD unit 1

This is a NOT-OR gate which is equal to an OR gate followed by a NOT gate. The

outputs of all NOR gates are low if any of the inputs are high. The symbol is an OR gate with a

small circle on the output. The small circle represents inversion.

EXOR gate: TRUTH TABLE

The 'Exclusive-OR' gate is a circuit which will give a high output if either, but not

both, of its two inputs are high. An encircled plus sign () is used to show the EOR operation.

EXNOR gate: TRUTH TABLE

The 'Exclusive-NOR' gate circuit does the opposite to the EOR gate. It will give a low

output if either, but not both, of its two inputs are high. The symbol is an EXOR gate with a

small circle on the output. The small circle represents inversion. The NAND and NOR gates are

called universal functions since with either one the AND and OR functions and NOT can be

generated. Note: A function in sum of products form can be implemented using NAND gates by

replacing all AND and OR gates by NAND gates. A function in product of sums form can be

implemented using NOR gates by replacing all AND and OR gates by NOR gates.