IS 151 Lecture 9

Preview:

DESCRIPTION

IS 151 Lecture 9 - UDSM 2013

Citation preview

IS 151 Digital Circuitry 1

Functions of Combinational Logic

• Basic Adders– Important in computers and many types of

digital systems to process numerical data– Basic adder operations are fundamental to

the study of digital systems

IS 151 Digital Circuitry 2

The Half Adder

• Basic rules of binary addition– 0 + 0 = 0– 0 + 1 = 1– 1 + 0 = 1– 1 + 1 = 10

• A half-adder accepts 2 binary digits on its inputs and produces two binary digits on its outputs – a sum bit and a carry bit

IS 151 Digital Circuitry 3

The Half Adder

• Logic symbol for the half-adder

A B Cout Sum

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

• Truth table for the half adder

IS 151 Digital Circuitry 4

• Derive expressions for the Sum and Cout as functions of inputs A and B

• From the truth table:– Cout is a 1 only when both A and B are 1s: Cout

= AB– Sum is a 1 only if A and B are not equal:

Sum = A B

The Half Adder

IS 151 Digital Circuitry 5

The Half Adder

• Half-adder logic diagram

IS 151 Digital Circuitry 6

The Full Adder

• Accepts 3 inputs including an input carry and generates a sum output and an output carry

• Difference between half and full-adder– the full adder has three inputs (including an

input carry) while a half adder has only two inputs (without the input carry)

IS 151 Digital Circuitry 7

The Full Adder

Logic symbol for a full adder

IS 151 Digital Circuitry 8

The Full Adder

• Full adder truth tableA B Cin Cout Sum

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

IS 151 Digital Circuitry 9

The Full Adder

• Derive expressions for the Sum and Cout as functions of inputs A, B and Cin from the truth table

• Alternatively, using knowledge from the half adder:– Sum = inputs exclusively-ORed

• Sum = (A B) Cin

– Cout = inputs ANDed• AB + (A B)Cin

The Full Adder• From the truth table:

– Sum = A’B’C + A’BC’+ AB’C’ + ABC– = A’B’C + ABC + A’BC’ + AB’C’– = C(A’B’ + AB) + C’(A’B + AB’)– = C(AexB)’ + C’(AexB)– = CexAexB– = AexBexC

IS 151 Digital Circuitry 10

The Full Adder

• Also from the truth table:– Carry out = A’BC + AB’C ABC’ + ABC– = C(A’B + AB’) + AB(C’ + C)– = C(AexB) + AB– = AB + (AexB)C

IS 151 Digital Circuitry 11

IS 151 Digital Circuitry 12

The Full Adder

• Logic circuit for full-adder

IS 151 Digital Circuitry 13

The Full Adder - Exercise

• Determine an alternative method for implementing the full-adder– Write SoP expressions from the truth table for

Sum and Cout

– Map the expressions on K-maps and write simplified expressions if any

– Implement/draw the circuit diagram for the full-adder

IS 151 Digital Circuitry 14

Parallel Binary Adders

• A single full adder is capable of adding two 1- bit numbers and an input carry

• To add binary numbers with more than one bit, additional full-adders must be used.

• Example, for a 2-bit number, 2 full adders are used, 4-bit numbers, 4 full-adders are used, etc.

• The carry output of each adder is connected to the carry input of the next higher-order adder

IS 151 Digital Circuitry 15

Parallel Binary Adders

• Block diagram of a basic 2-bit parallel adder

A B Cin

Cout Σ

A1 B1

Σ1 (LSB)

A B Cin

Cout Σ

A2 B2

Σ2(MSB) Σ3

General format, addition of two 2-bit numbers

A2A1

+ B2B1

Σ3Σ2Σ1

IS 151 Digital Circuitry 16

Parallel Binary Adders

• Block diagram of a basic 4-bit parallel adder

A B Cin

Cout Σ

A1 B1

Σ1

A B Cin

Cout Σ

A2 B2

Σ2

A B Cin

Cout Σ

A3 B3

Σ3

A B Cin

Cout Σ

A4 B4

Σ4

C4

(MSB) (LSB)

IS 151 Digital Circuitry 17

Comparators

• Basic function – to compare the magnitudes of two binary quantities to determine the relationship of those quantities

• Comparators determine whether two numbers are equal or not

IS 151 Digital Circuitry 18

Comparators

• Basic comparator operations

The input bits are equal

The input bits are not equal

The input bits are equal

IS 151 Digital Circuitry 19

Comparators

• To compare binary numbers containing 2 bits each, an additional Ex-OR gate is required

IS 151 Digital Circuitry 20

Comparators

• The two LSBs of the two numbers are compared by gate G1, and the MSBs are compared by gate G2– Binary number A = A1A0

– Binary number B = B1B0

• If the two numbers are equal, their corresponding bits are the same, and the output of each Ex-OR gate is a 0

• The 0s are inverted using the inverter, producing 1s

• The 1s are ANDed, producing a 1, which indicates equality

IS 151 Digital Circuitry 21

Comparators

• If the corresponding sets of bits are not equal, i.e. A0≠B0, or A1≠B1, a 1 occurs on that Ex-OR gate output (G1 or G2)

• In order to produce a single output indicating an equality or inequality of two numbers, two inverters and an AND gate are used

• When the two inputs are not equal, a 1,0 or 0,1 appears on the inputs of the AND gate, producing a 0, indicating inequality

IS 151 Digital Circuitry 22

Comparators - Examples

• Determine whether A and B are equal (or not) by following the logic levels through the circuit– a) A0 = 1, B0 = 0 and A1 = 1, B1 = 0

– b) A0 = 1, B0 = 1 and A1 = 1, B1 = 0

IS 151 Digital Circuitry 23

4-bit Comparators

• To determine if two numbers are equal• If not, determine which one is greater or

less than the other• Numbers

– A = A3A2A1A0

– B = B3B2B1B0

IS 151 Digital Circuitry 24

4-bit Comparators

• Determine the inequality by examining highest-order bit in each other– If A3 = 1 and B3 = 0; A > B

– If A3 = 0 and B3 = 1; A < B

– If A3 = B3, examine the next lower bit position for an inequality (i.e. A2 with B2)

IS 151 Digital Circuitry 25

4-bit Comparators

• The three observations are valid for each bit position in the numbers

• Check for an inequality in a bit position, starting with the highest order bits

• When such an inequality is found, the relationship of the two numbers is established, and any other inequalities in lower-order bit positions are ignored

IS 151 Digital Circuitry 26

Comparators - Example

• Implement a circuit to compare the relationship between A and B A B A > B A = B A < B

0 0 0 1 0

0 1 0 0 1

1 0 1 0 0

1 1 0 1 0

For A > B (G): G = AB’For A = B (E): E = A’B’ + AB

For A < B (L): L = A’B

IS 151 Digital Circuitry 27

Decoders

• Function – to detect the presence of a specified combination of bits (code) on inputs and to indicate the presence of that code by a specified output level

• n-input lines (to handle n bits)• 1 to 2n output lines to indicate the

presence of 1 or more n-bit combinations

IS 151 Digital Circuitry 28

Decoders• Example: determine when a binary 1001 occurs on the

inputs of a digital circuit• Use AND gate; make sure that all of the inputs to the AND

gate are HIGH when the binary number 1001 occurs

IS 151 Digital Circuitry 29

Decoders

• Exercise: develop the logic required to detect the binary code 10010 and produce an active-LOW output (0)

IS 151 Digital Circuitry 30

Decoders - Application• BCD-to-Decimal decoder

– Converts each BCD code into one of 10 possible decimal digits

Decimal Digit

BCD CodeA3 A2 A1 A0

BCD Decoding Function

0 0 0 0 0 A3’ A2’ A1’ A0’

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

IS 151 Digital Circuitry 31

Encoders

• A combinational logic circuit that performs a reverse decoder function

• Accepts an active level on one of its inputs (e.g. a decimal or octal digit) and converts it to a coded output, e.g. BCD or binary

IS 151 Digital Circuitry 32

Encoders

• The Decimal-to-BCD Encoder (10-line-to-4-line encoder)– Ten inputs (one for each decimal digit)– Four outputs corresponding to the BCD code

• Logic symbol for a decimal-to-BCD encoder

DEC/BCD0123 14 25 46 8789

Decimal Input

BCD Output

IS 151 Digital Circuitry 33

Encoders

• From the BCD/Decimal table, determine the relationship between each BCD bit and the decimal digits in order to analyse the logic.– Example

– A3 = 8 + 9

– A2 = 4 + 5 + 6 + 7

– A1 = 2 + 3 + 6 + 7

– A0 = 1 + 3 + 5 + 7 + 9

IS 151 Digital Circuitry 34

Encoders

• Example: if input line 9 is HIGH (assume all others are LOW), it will produce a HIGH on A3 and A0, and a LOW on A1and A2 – which is 1001, meaning decimal 9.

IS 151 Digital Circuitry 35

Encoders - Exercise

• Implement the logic circuit for the 10-line-to-4-line encoder using the logic expressions for the BCD codes A3 to A0 and inputs 0 to 9

IS 151 Digital Circuitry 36

Logic Functions Exercise (Lab 3)

• Design and test a circuit to implement the function of the full adder (refer to lecture)

• End of Lecture

IS 151 Digital Circuitry 37

Recommended