Beruflich Dokumente
Kultur Dokumente
Number System
Reibhu Sant Abhilasha Gokhale Neelam Sharma
Maharaja Agrasen Maharaja Agrasen Maharaja Agrasen
Institute of Technology Institute of Technology Institute of Technology
Rohini, New Delhi Rohini, New Delhi Rohini, New Delhi
reibhusant1@gmail.com abhilashagokhale6@gmail.com neelam_sr@yahoo.com
ABSTRACT- Hybrid Signed Digit (HSD) is A parallel adder despite taking all the bits
concurrently doesn’t give out the output in a single
the combination of conventional binary digit as
clock cycle. Carry propagation results in a varied
well as Redundant Binary Signed Digit (RBSD) amount of propagation delay depending upon the
representation. Hybrid Signed Digits has range of bits that are being computed. As most of
revolutionized the design of adders. It has made the operations that take place in an ALU happen
adders faster than traditional adders and has due to addition, be it multiplication by successive
addition or subtraction by addition using 2s
reduced propagation delay time. RBSD adders complement method, the time lost due to carry
are fast processors but have complex circuitry propagation delay becomes crucial factor in
with a high cost factor while conventional determining the speed of an ALU. Redundant
binary adders like Ripple Carry Adder (RCA) Binary Signed Digit number system reduces this
and Carry Look Ahead Adders (CLA) have propagation delay by having the property of carry
free addition.[1] RBSD is unlike traditional binary
huge propagation delay times. HSD can be representation which uses more bits than needed to
implemented in different combinations of RBSD represent a single binary digit, this results in more
and conventional binary and thus has than one way to represent a number and hence is
advantages of both. In HSD, some bits are called redundant. The basic ripple carry adder
provides a fast operation for data having small size
signed while the rest remain unsigned. With
but as the number of bits increase the time required
such a design the carry propagation delay can to yield the result also increases.
be limited to any desired value required. This
The time delay of Ripple carry Adder which is
makes the circuitry less complex than RBSD
directly proportional to the number of data bits i.e.
adder but the speed of operation is higher than
the time delay of the Ripple Carry Adder rises
RCA or CLA adder. This paper aims to
exponentially as the number of data bits increase.
compare the conventional adders (CLA and
RCA) as well as RBSD Adder. The adders are On the other hand, Redundant Binary Signed Digit
compared in areas such as simplicity of design Adder maintains a constant time delay irrespective
and delay time. The design of the RBSD Adder of the number of data bits. It can be inferred that
is implemented using verilog hardware for 4-bit operations ripple carry adder proves to be
description language on Xilinx FPGA platform. faster than RBSD Adder. However, as the number
of bits increase which is the requirement of today’s
KEYWORDS—HSD, Signed Adders, fast processors, RBSD Adder is the one which will
RBSD, fast adder, carry propagation, signed carry out fast computing.
digits, ripple carry adder, FPGA, verilogHDL.
In comparison RBSD adder cell takes a static
I. INTRODUCTION amount of time in order to yield the result thus
making it beneficial for computation of data of
As an adder is the basic building block of a large number of bits. Carry look ahead adder faces
multiplier, subtractor and divider, it is an integral irregular layout, and with increasing data bits its
component of a digital system. Computer circuit becomes more complex and expensive.[2]
arithmetic processes play a major role in many Neelam Sharma put forward the adder cell design
applications such as signal processing, using universal logic gates for fast addition.[6][3]
cryptography, data analysis etc. Thus improving
performance of the adder would improve the A novel hybrid number representation proposed by
overall performance of the system. Dhananjay S. Phatak[9] provides the algorithm to
formulate a variable carry propagation chain for TABLE 1: EXAMPLE 1: BINARY TO
addition purpose. This provides the designer with
the option of suiting the representation as per their
RBSD CONVERSION
design constraints. To find a middle way between
RBSD Adder and Ripple carry Adder, a hybrid Digit
signed digit adder can be formulated. Here, instead position 4 3 2 1 0
of all digits being signed, only some are signed
while the rest remain unsigned. With such a design
the carry propagation delay can be limited to any ai 0 1 0 0 1
desired value required. The maximum carry
propagation chain equals to (m+1) where m is the di 0 -1 0 0 -1
longest distance between neighbouring signed
digits. li 1 0 01 0
This paper discusses about RBSD number
system and conversion of binary numbers to RBSD Zi= di+ li 1 -1 0 1 -1
numbers and simulation results of RBSD adder in
section 2. Section 3 discusses HSD addition, B. RBSD to Binary Conversion
specifying the algorithm with examples. Section 4
shows the comparison between ripple carry adder, In order to convert RBSD number back to
carry look ahead adder, RBSD adder and HSD binary number, the following equation is used
adder over varying number of data bits. Finally in (5)
Zi = Z+ - Z-
section 5 the conclusion along with the
development of ALU using HSD number system
Here Z+ represents the RBSD number with all
employing the fast adder cell is briefly discussed.
the -1 replaced by 0 and Z- represents the RBSD
number with all 1 replaced by 0.
II. RBSD NUMBER SYSTEM
Avizienis(1961)[4] and Robertson(1959) are Subtraction of Z+ and Z- results in the
formation of the original binary number. An
credited with the formation of signed digit number example is shown in Table II.
system. The proposed method of addition put
forward by Avizienis led to a carry free addition TABLE 2: EXAMPLE 2: RBSD TO
process. In the traditional number system, each BINARY CONVERSION
digit can assume only r values where r being the Digit position 4 3 2 1 0
radix of the number system, r=10 for decimal Zi 1 0 - 1 -1
system, r=2 for binary. In RBSD number system, 1
Z+ 1 0 0 1 0
each digit can take more than r values. A signed
Z 0 0 - 0 -1
digit can take (2θ +1) values. 1
Binary 0 1 1 0 1
∑r= (-θ.. -1, 0, 1,..θ) (1)
III. HYBRID SIGNED DIGITS
A. Conversion To find a middle way between RBSD Adder and
Conversion from binary to RBSD takes place Ripple carry Adder, a hybrid signed digit adder can
with the help of following equations [5].
be formulated. Here, instead of all digits being
Step 1: For every conventional digit ai, we generate signed, only some are signed while the rest remain
an interim difference digit di. unsigned. With such a design the carry propagation
di = ai–r*li+1 (2) delay can be limited to any desired value required.
The maximum carry propagation chain equals to
Where r is the radix and li is (m+1) where m is the longest distance between
li+1 ={0 if ai< θ neighbouring signed digits.
{1 if ai>= θ
A. Addition of hybrid signed numbers
Step 2: Each digit of di and li are added together to
yield the binary number in RBSD form Addition of hybrid signed numbers is carried out in
two parts, the addition of the unsigned digits and
Zi = di + li (3)
the addition of signed digits. Let ai-1 and bi-1 be the
Here Zi is the RBSD representation for the binary unsigned digits to be added at the (i-1)th position
number. An example is shown in Table I with, and ci-1 be the carry out of the unsigned digits while
ci-2 be the carry into the unsigned digits. If it is
a = (9)10 = (1001)2 (4)
assumed that the carry into the (i-1)th can be (-1,0,1) position. The fifth and sixth columns show the
as a signed digit can be next to an unsigned. The values of Si and Ci for all possible combinations.
output oi-1 at the (i-1)th position is restricted to
(1,0). The following condition is followed to The carry generated out of the signed digit position
achieve this. ripples through the unsigned all the way up to the
next higher order signed digit position. The
If (ai-1 = bi-1 = 0 & ci-2 = -1) then important thing to note is that the most significant
digit in any HSD representation must be a signed
ci-1= -1 and oi-1 =1 digit in order to incorporate enough negative
numbers. It is upto the designer to incorporate as
else
many signed digits into the representation. The
(ai-1+ bi-1 + ci-2 = 2ci-1 + oi-1) addition time for any representation is determined
by the longest possible carry-propagation chain
end between consecutive signed digit positions.
TABLE 3: TRANSLATION TABLE Step 4: The intermediate sum and carry for all
signed digit is saved.
FOR HSD
Step 5: The addition operation of unsigned digits is
Xi + Xi ai-1, bi-1 Ci-1 si Ci performed with reference to the addition constraint
of unsigned digits and the intermediate carry which
Yi Yi was saved earlier.
-2 -1 - X x 0 -1
Step 6: The values of intermediate sum of both
1 signed and unsigned are arranged in the right order.
-1 -1 0 ai-1 = bi-1 {-1,0} +1 -1
=0
-1 0 -1 At least {+1,0} -1 0
one of ai-
1, bi-1 is 1
0 -1 1 X x 0 0
0 1 -1 X x 0 0
0 00 X x 0 0
+1 0 1 ai-1 = bi-1 {-1,0} +1 0
=0
+1 1 0 At least {+1,0} -1 +1
one of ai-
1, bi-1 is 1
+2 11 X x 0 +1
+ Yi [ 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1]HSD (62451)
+
S7 S5 S3 S1 U6 U4 U2 U0
1 1 1 -1 1 0 1 0 -1 -1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 1 1 1
SUM 0 1 0 0 0 1 1 0
CARRY 0 0 1 -1 0 0 0 0 SUM 0 0 0 0 0 0 0 0
CARRY 0 0 0 0 0 0 0 0
Z = [1000000] = (128)10
U11 U10 U9 U8 U3 U2 U1 U0
Addition of 16-bit HSD numbers
1 1 0 0 1 1 0 0
For the second example, it is assumed that
positions of signed and unsigned are random with 0 0 1 1 0 0 1 1
the most significant position being signed.
SUM 1 1 1 1 1 1 1 1
Example I: Two unsigned digits are together
CARRY 0 0 0 0 0 0 0 0
S15 S14 U13 U12 S11 S10 U9 U8 S7 S6 U5 U4 S3 S2 U1 U0
CARRY 0 0 0 0 0 0 0 0
U13 U12 U9 U8 U5 U4 U1 U0
0 0 0 0 1 1 1 1
1 1 1 1 0 0 0 0
A. Ripple Carry Adder The time delay of Ripple carry Adder is directly
A full adder circuit can be cascaded in parallel proportional to the number of data bits i.e. the time
to add an N-bit number. This results in a structure delay of the Ripple Carry Adder rises exponentially
where carry out of each full adder becomes the as the number of data bits increase. On the other
carry in of the next full adder. Hence each carry bit
ripples across. hand, Redundant Binary Signed Digit Adder
maintains a constant time delay irrespective of the
number of data bits as shown by the straight line. It
can be inferred that for 4-bit operations ripple carry
adder proves to be faster than RBSD Adder.
However, as the number of bits increase which is
the requirement of today’s fast processors, RBSD
Adder is the one which will carry out fast
computing.