Professional Documents
Culture Documents
B-tech Student in BSACET mathura, M-Tech student in IET Alwar, Associate professor in HITM Agra U.P. INDIA
Abstract In the binary number system, the computation speed is limited by formation and propagation of carry especially
as the number of bits increases. Using a quaternary Signed Digit number system one may perform carry free addition, borrow
free subtraction and multiplication. However the QSD number system requires a different set of prime modulo based logic
elements for each arithmetic operation. A carry free arithmetic operation can be achieved using a higher radix number system
such as Quaternary Signed Digit (QSD). In QSD, each digit can be represented by a number from -3 to 3. Carry free addition
and other operations on a large number of digits such as 64, 128, or more can be implemented with constant delay and less
complexity. Design is simulated & synthesized using Modelsim6.0, Microwind and Leonardo Spectrum
N log 4 N number of QSD digits and where xi can be any value from the set { 3,2,1,0,1,2,3}for
producing an appropriate decimal representation. For
3 log 4 N binary bits are required while for the digital implementation, QSD numbers are
same log 2 N BSD digits and 2 log2N binary represented using 3-bit 2s complement notation. A
QSD negative number is the QSD complement of the
bits are required in BSD representation. Ratio of QSD positive number [3]. For example, using primes
number of bits in QSD to BSD representation for an
arbitrary number N is, to denote complementation, we have 3 ' = 3, 3' = 3 ,
2 ' = 2, 2 = 2 , 1 ' = 1, 1' = 1 .
3
3 log 4 N which roughly equals to . Therefore,
2 log 2 N 4 IV. DESIGN ALGORITHM OF QSD ADDER
1 In QSD number system carry propagation chain are
QSD saves of the storage used by BSD.
4 eliminated which reduce the computation time
Proceedings of IRF International Conference, 5th & 6th February 2014, Pune India. ISBN: 978-93-82702-56-6
124
Implementation Of QSD Adder Using VLSI
substantially, thus enhancing the speed of the machine According to these two rules the intermediate sum and
[1]. As range of QSD number is from -3 to 3, the intermediate carry from the first step QSD adder can
addition result of two QSD numbers varies from -6 to have the range of -6 to +6. But by exploiting the
+6 [3]. Table I depicts the output for all possible redundancy feature of QSD numbers we choose such
combinations of two numbers. QSD represented number which satisfies the above
The decimal numbers in the range of -3 to +3 are mentioned two rules. When the second step QSD
represented by one digit QSD number. As the decimal adder adds the intermediate sum of current digit,
number exceeds from this range, more than one digit which is in the range of -2 to +2, with the intermediate
of QSD number is required. For the addition result, carry of lower significant digit, which is in the range
which is in the range of -6 to +6, two QSD digits are of -1 to +1, the addition result cannot be greater than 3
needed. In the two digits QSD result the LSB digit i.e., it will be in the range of -3 to +3. We can see in the
represents the sum bit and the MSB digit represents first column of TableI that some numbers have
the carry bit. To prevent this carry bit to propagate multiple representations, but only those that meet the
from lower digit position to higher digit position QSD above defined two rules are chosen. The chosen
number representation is used [7]. QSD numbers intermediate carry and intermediate sum are listed in
allow redundancy in the number representations. The the last column of Table I as the QSD coded number.
same decimal number can be represented in more than This addition process can be well understood by
one QSD representations. So we choose such QSD following examples:
represented number which prevents further rippling of Example: To perform QSD addition of two numbers A
carry. To perform carry free addition, the addition of = 107 and B = -233 (One number is positive and one
two QSD numbers can be done in two steps [4]: number is negative).
Step 1: First step generates an intermediate carry and First convert the decimal number to their equivalent
intermediate sum from the input QSD digits i.e., QSD representation:
addend and augend. (107)10 = 2 43 + 2 42 + 3 41 + 1 40
Step 2: Second step combines intermediate sum of
current digit with the intermediate carry of the lower = (2 2 3 1)QSD
significant digit. (233)10 = 3 43 + 3 42 + 2 41 + 1 40
So the addition of two QSD numbers is done in two
= (33 2 1)QSD
stages. First stage of adder generates intermediate
carry and intermediate sum from the input digits. Hence, (-233)10 = ( 3 3 2 1)QSD
Second stage of adder adds the intermediate sum of Now the addition of two QSD numbers can be done as
current digit with the intermediate carry of lower follows:
significant digit. To remove the further rippling of
carry there are two rules to perform QSD addition in
two steps:
Rule 1: First rule states that the magnitude of the
intermediate sum must be less than or equal to 2 i.e., it
should be in the range of -2 to +2.
Rule 2: Second rule states that the magnitude of the
intermediate carry must be less than or equal to 1 i.e.,
it should be in the range of -1 to +1.
Proceedings of IRF International Conference, 5th & 6th February 2014, Pune India. ISBN: 978-93-82702-56-6
125
Implementation Of QSD Adder Using VLSI
Proceedings of IRF International Conference, 5th & 6th February 2014, Pune India. ISBN: 978-93-82702-56-6
126
Implementation Of QSD Adder Using VLSI
CONCLUSION
REFERENCES
Proceedings of IRF International Conference, 5th & 6th February 2014, Pune India. ISBN: 978-93-82702-56-6
127