0% found this document useful (0 votes)
56 views27 pages

Binary Subtractor and Multiplier

The document summarizes binary addition, subtraction, and number representations in hardware description languages. It covers topics like half and full adders, ripple carry adders, binary subtraction algorithms, signed and unsigned binary numbers, 1's and 2's complements, and adder-subtractor circuits. The key approaches discussed are using 1's or 2's complements of a number to perform subtraction by addition, and designing adder-subtractor circuits that can selectively perform addition or subtraction depending on an input bit.

Uploaded by

Muhammad Muavia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views27 pages

Binary Subtractor and Multiplier

The document summarizes binary addition, subtraction, and number representations in hardware description languages. It covers topics like half and full adders, ripple carry adders, binary subtraction algorithms, signed and unsigned binary numbers, 1's and 2's complements, and adder-subtractor circuits. The key approaches discussed are using 1's or 2's complements of a number to perform subtraction by addition, and designing adder-subtractor circuits that can selectively perform addition or subtraction depending on an input bit.

Uploaded by

Muhammad Muavia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Logic and Computer Design Fundamentals

Chapter 4 - Arithmetic
Functions and HDLs

Chapter 4 1
Overview
▪ Binary adders
• Half and full adders
• Ripple carry adders
▪ Binary subtraction
▪ Binary adder-subtractors
• Signed binary numbers
• Signed binary addition and subtraction
▪ Binary multiplication

Chapter 4 2
Unsigned Subtraction

▪ Algorithm:
• Subtract the subtrahend N from the minuend M
• If no end borrow occurs, then M  N, and the result
is a non-negative number and correct.
• If an end borrow occurs, the N > M and the
difference M - N + 2n is subtracted from 2n, and a
minus sign is appended to the result.
0 1
▪ Examples:
1001 0100
- 0111 - 0111
0010 1101
10000
- 1101
(-) 0011 Chapter 4 3
Unsigned Subtraction (continued)

▪ The subtraction, 2n - N, is taking the 2’s


complement of N
▪ To do both unsigned addition
A
and unsigned B
subtraction requires:
▪ Quite complex!
Borrow
▪ Goal: Shared simpler Binary adder Binary subtractor

logic for both addition


and subtraction Complement 2's
Selective
complementer

▪ Introduce complements
as an approach Subtract/Add
S
0
Quadruple
1
2-to-1
multiplexer

Result
Chapter 4 4
Complements

▪ Two complements:
• Diminished Radix Complement of N
▪ (r - 1)’s complement for radix r
▪ 1’s complement for radix 2
▪ Defined as (rn - 1) - N
• Radix Complement
▪ r’s complement for radix r
▪ 2’s complement in binary
▪ Defined as rn - N
▪ Subtraction is done by adding the complement of
the subtrahend
▪ If the result is negative, takes its 2’s complement
Chapter 4 5
Binary 1's Complement

▪ For r = 2, N = 011100112, n = 8 (8 digits):


(rn – 1) = 256 -1 = 25510 or 111111112
▪ The 1's complement of 011100112 is then:
11111111
– 01110011
10001100
▪ Since the 2n – 1 factor consists of all 1's and
since 1 – 0 = 1 and 1 – 1 = 0, the one's
complement is obtained by complementing
each individual bit (bitwise NOT).

Chapter 4 6
Binary 2's Complement

▪ For r = 2, N = 011100112, n = 8 (8 digits),


we have:
(rn ) = 25610 or 1000000002
▪ The 2's complement of 01110011 is then:
100000000
– 01110011
10001101
▪ Note the result is the 1's complement plus
1, a fact that can be used in designing
hardware
Chapter 4 7
Alternate 2’s Complement Method

▪ Given: an n-bit binary number, beginning at the


least significant bit and proceeding upward:
• Copy all least significant 0’s
• Copy the first 1
• Complement all bits thereafter.
▪ 2’s Complement Example:
10010100
• Copy underlined bits:
100
• and complement bits to the left:
01101100

Chapter 4 8
Subtraction with 2’s Complement
▪ For n-digit, unsigned numbers M and N, find M
- N in base 2:
• Add the 2's complement of the subtrahend N to
the minuend M:
M + (2n - N) = M - N + 2n
• If M  N, the sum produces end carry rn which is
discarded; from above, M - N remains.
• If M < N, the sum does not produce an end carry
and, from above, is equal to 2n - ( N - M ), the 2's
complement of ( N - M ).
• To obtain the result - (N – M) , take the 2's
complement of the sum and place a - to its left.

Chapter 4 9
Unsigned 2’s Complement Subtraction Example 1

▪ Find 010101002 – 010000112

01010100 1 01010100
– 01000011 2’s comp + 10111101
00010001
▪ The carry of 1 indicates that no
correction of the result is required.

Chapter 4 10
Unsigned 2’s Complement Subtraction Example 2

▪ Find 010000112 – 010101002


0
01000011 01000011
– 01010100 2’s comp + 10101100
11101111 2’s comp
00010001
▪ The carry of 0 indicates that a correction
of the result is required.
▪ Result = – (00010001)

Chapter 4 11
Subtraction with Diminished Radix Complement

▪ For n-digit, unsigned numbers M and N, find M - N in


base 2:
• Add the 1's complement of the subtrahend N to the minuend
M:
M + (2n - 1 - N) = M - N + 2n - 1
• If M  N, the result is excess by 2n - 1. The end carry 2n when
discarded removes 2n, leaving a result short by 1. To fix this
shortage, whenever and end carry occurs, add 1 in the LSB
position. This is called the end-around carry.
• If M < N, the sum does not produce an end carry and, from
above, is equal to 2n - 1 - ( N - M ), the 1's complement of
( N - M ).
• To obtain the result - (N – M) , take the 1's complement of the
sum and place a - to its left.

Chapter 4 12
Unsigned 1’s Complement Subtraction - Example 1

▪ Find 010101002 – 010000112


1
01010100 01010100
– 01000011 1’s comp + 10111100

00010000
+1
00010001
▪ The end-around carry occurs.

Chapter 4 13
Unsigned 1’s Complement Subtraction Example 2

▪ Find 010000112 – 010101002

01000011 0 01000011
– 01010100 1’s comp + 10101011
11101110 1’s comp
00010001
▪ The carry of 0 indicates that a correction
of the result is required.
▪ Result = – (00010001)

Chapter 4 14
Signed Integers
▪ Positive numbers and zero can be represented by
unsigned n-digit, radix r numbers. We need a
representation for negative numbers.
▪ To represent a sign (+ or –) we need exactly one more
bit of information (1 binary digit gives 21 = 2 elements
which is exactly what is needed).
▪ Since computers use binary numbers, by convention,
the most significant bit is interpreted as a sign bit:
s an–2  a2a1a0
where:
s = 0 for Positive numbers
s = 1 for Negative numbers
and ai = 0 or 1 represent the magnitude in some form.
Chapter 4 15
Signed Integer Representations

▪Signed-Magnitude – here the n – 1 digits are


interpreted as a positive magnitude.
▪Signed-Complement – here the digits are
interpreted as the rest of the complement of the
number. There are two possibilities here:
• Signed 1's Complement
▪ Uses 1's Complement Arithmetic
• Signed 2's Complement
▪ Uses 2's Complement Arithmetic

Chapter 4 16
Signed Integer Representation Example

▪ r =2, n=4

Chapter 4 17
Signed Integer Representation Example

▪ +9= 00001001
▪ Representation of -9
▪ In signed-magnitude representation: 10001001
▪ In signed 2s complement representation: 11110111

▪ In signed magnitude, -9 is obtained from +9 by changing


the sign bit in the leftmost position from 0 to 1.
▪ The signed 2s complement representation of -9 is obtained
by taking the 2s complement of the positive number,
including the 0-sign bit.

Chapter 4 18
Signed Binary Addition and Subtraction

▪ Signed Binary Addition Using 2s Complement

Any carry out of the sign bit position is discarded, and


negative results are automatically in 2s complement form.

Chapter 4 19
Signed Binary Addition and Subtraction

▪ Signed Binary Subtraction Using 2s Complement

The end carry is discarded.

Chapter 4 20
2’s Complement Adder/Subtractor
▪ Subtraction can be done by addition of the 2's Complement.
1. Complement each bit (1's Complement.)
2. Add 1 to the result.
▪ The circuit shown computes A + B and A – B:
▪ For S = 1, subtract,
the 2’s complement
B
3 A3 B A2 B A2 B A1 1 0 0

of B is formed by using S

XORs to form the 1’s


comp and adding the 1
applied to C0.
▪ For S = 0, add, B is
C 3 C C 2 C 1 0
FA FA FA FA

passed through
unchanged 4C S
3 S 2S S 1 0

Chapter 4 21
Binary Multiplication

▪ The binary digit multiplication table is


trivial:
(a × b) b=0 b=1
a=0 0 0
a=1 0 1

▪ This is simply the Boolean AND


function.
▪ Form larger products the same way we
form larger products in base 10.
Chapter 4 22
Review - Decimal Example: (237 × 149)10

▪ Partial products are: 237 × 9, 237 × 4,


and 237 × 1 2 3 7
▪ Note that the partial product × 1 4 9
summation for n digit, base 10 2 1 3 3
numbers requires adding up 9 4 8 -
to n digits (with carries). + 2 3 7 - -
▪ Note also n × m digit 3 5 3 1 3
multiply generates up
to an m + n digit result.

Chapter 4 23
Binary Multiplication Algorithm

▪ We execute radix 2 multiplication by:


• Computing partial products, and
• Justifying and summing the partial products. (same as
decimal)
▪ To compute partial products:
• Multiply the row of multiplicand digits by each
multiplier digit, one at a time.
• With binary numbers, partial products are very
simple! They are either:
▪ all zero (if the multiplier digit is zero), or
▪ the same as the multiplicand (if the multiplier digit is one).
▪ Note: No carries are added in partial product
formation!
Chapter 4 24
Example: (101 x 011) Base 2

▪ Partial products are: 101 × 1, 101 × 1,


and 101 × 0
1 0 1
▪ Note that the partial product
× 0 1 1
summation for n digit, base 2
1 0 1
numbers requires adding up
to n digits (with carries) in 1 0 1
a column. 0 0 0
▪ Note also n × m digit 0 0 1 1 1 1
multiply generates up to an m + n digit
result (same as decimal).

Chapter 4 25
Multiplier Boolean Equations

▪ We can also make an n × m “block” multiplier


and use that to form partial products.
▪ Example: 2 × 2 – The logic equations for each
partial-product binary digit are shown below:
▪ We need to "add" the columns to get
the product bits P0, P1, P2, and P3. b1 b0
▪ Note that some  a1 a0
(a . b1) (a0 . b0)
columns may 0
+ (a1 . b1) (a1 . b0)
generate carries.
P3 P2 P1 P0

Chapter 4 26
Multiplier Arrays Using Adders

▪ An implementation of the 2 × 2
A 0
multiplier array is B1 B0

shown:
A1
B1 B0

HA HA

C3 C2 C1 C0
Chapter 4 27

You might also like