ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
НАУКА. ИННОВАЦИИ ТЕХНОЛОГИИ, №3, 2016
Chervyakov N.I. [Червяков Н.И.], Algalda S.C. [Альгальда С.Ч.]
THE HARDWARE IMPLEMENTATION OF BINARY TRANSLATION ALGORITHMS IN RESIDUAL CLASSES
Аппаратная реализация алгоритмов преобразования из двоичной системы счисления в систему остаточных классов
Residue number systems (RNS's) and arithmetic are useful for several-reasons,it has a wideapplication in digital signal processing and provides enhanced fault tolerance capabilities. In this work we discuss the basic concept of forward conversion with respect to the two types of moduli-set, special and arbitrary. Special will be {2" - 1,2",2" +1} and {2", 22" - 1,2",2" +1} and their techniques. Arbitrary moduli sets are depends on use of look up tables.
Keyword: Residue number system (RNS), special moduli sets, arbitrary moduli sets, forward conversion.
Система остаточных классов (СОК) и модулярная арифметика используются по нескольким причинам: они имеют широкое применение в цифровой обработке сигналов и обеспечивают расширенные возможности отказоустойчивости. В настоящей работе рассмотрены основные концепции прямого преобразования для двух типов наборов модулей: специальных и произвольных. Рассмотрены техники работы со специальными наборами модулей {2лп-1,2лп,2лп+1} и {2лп,2л2п-1,2л2п+1}. Показано, что работа с модулями в общем случае зависит от использования просмотровых таблиц.
Ключевые слова: система остаточных классов (СОК), специальный набор модулей, произвольный набор модулей, прямое преобразование.
Introduction
Forward conversion is the process of translating from conventional notation (binary or decimal) into residue notation. The simplest technique of obtaining residues of a given number Xis to divide X by each of the moduli and take the remainder. As is well known division is a quite complex operation and time consuming. Hence it is important to conclude faster techniques of binary to RNS conversion. The main concept in this discussion is moduli-set and we shall divide it according to two classes of moduli-sets: arbitrary (general) moduli-sets and the special moduli-sets (those of the form {2" - 1,2",2" +1} and extension thereof).
Special moduli-sets are usually referred to as low-cost moduli, since conversionto and from their residues can be realized relatively easily and do notrequire complex operations, such as evaluation of multiplicative
inverses,multiplication, and so forth. Another special moduli-set we'll discuss in this paper which is a 5n-bit with high dynamic range i 2".22" - 1,22" +1} this moduli-set proposed by A. Hariri et al.
Modulus 2"-1:
Conversion and arithmetic modulo m = 2" 1 are quite easy to implement. The residue of any number 2\ where / ^ n. can be determined by the following equation:
|2'| 2»-l ^ I2Bi+ 'l 2"-\ — || 2Bil x II 3? I 2»_l| 2"-\ —
= 1 X I 2'' 1i Since |2-g| - |irw|2-| 2»-i 12„_1 = 1 (1) Where q = [m n\. and r is the remainder from the division. Example: Take X= 27 and / = 23 - 1 (i.e. n 3 and m = 7). Then
W7 = |27|7 = II22' 3|7 x |2|7|7
In tliis example, q = 2 and r = 1. Therefore, by Equation (1)
|X|7 = |1x2|7 = 2
Modulus 2"+l:
The residue of 2" with respect to other low-cost modulus 2"+l is: |2"| 2»+l = |2"+ 1 - 1| 2»+l = - 1
We then extend this to an arbitrary power of two, 2\ where / ^ n fnd I
nq + r:
\2ly+x = |2'12»+i x |2'|2»+I
i2" lWSeVen [2"+ 1-2' otherwise
Where = \>" n\. When q is odd, |2'^| 2»+1 is -1, and so 2" + 1 must be added back to make the residue positive.
Example: Take X= 21 and = 2i+ I, i.e. a = 3 and m = 9, then q is even
and so,
|27L= |23 2| x |2L = 2
Now, take X= 27 and = 22+ 1, i.e. n = 2 and m = 5 , then q is odd, |27|5 = 122' 3|5 x |2|5 = 22 + 1 - 2 = 3
We notice that computation of residues of X with respect to modulus 2"+l is depends on q, because it will lead into two different residues if q even or odd. And with respect to 2"-l it's much easier.
Forward Conversion Technique
Let us define m = 2" + 1, m, = 2", mi = 2" - 1, then any integer in X within the dynamic rang M= [0, 23" -2"- 1 is uniquely defined by a residue-set {rx, t\. r3}, where r. = \X\m and X is a 3n-bit.
i.е. X xinA x3n_2... х2пЛ x2n_2... x3 хпЛ... x0
To determine the residues r1? r2 and r3, the residue r2 is the easiest to compute: The n least significant bits constitute the remainder when X is divided by 2".
Hence, r2 is the number represented by the least significant »-bits of X. These bits are obtained by nominally shifting to the right by n bits.
Now, to determine the residues ri and r3, we first partition X into three »-bits blocks BpB and B3
b{ 41x2i~2n
J /-2. J
b2 4 i'jc.2^
j— j B3 A YjX.2j
3 J-o J
Then X = B122" + B^" + B3
According to this partition the residue r2 equal to
r2 = |53U
And the residue rl is then obtained as:
rx = $\ 2» + 1
= | Bx22n + B22" + B3\2„ + j = II B 22"\ +\B2"\ +\B \ I
II 12" + 1 I 2 12» + 1 312" + 112" + 1
B3 is an n-bit number and therefor is always less than 2"+1, so its residue is simply the binary equivalent of this term.
The residue of the other two sums are computed as
\B12^\2l7 + l = \\B1\2„ + l\2^
2" + 1 12" + 1
And \B^2"\2„ + l || B2\2„ + l |2"|2„ + 1|2„ + 1
Each B. and B , is represented in n bits there must be less than 2n + 1. And the residue of 22n with respect to 2" + 1 is
12 |2„ + j - 12 2 |2„ + j = 12" + 1 - 112„ + j x 12" — 1 + 112„_ j = -1 x-1 = 1
Similarly, to compute r3, we first observe that
|2aV1=|2".2»|,)I_1 = 12" — 1 + 1|2JI1 x 12" - 1 + l|2H_j = 1x1 = 1
Also ¡2" |J<M is 1, so Example:
Consider the moduli-set {7,8,9}, and letX= 167. The binary representation of X is 10100111. Since n = 3 in the given moduli-set, we partition X into 3-bit blocks.
We get Bx A 010, B2 ¿= 110, B3 A 111. From the above we get,
|167|23+1 = |167|9 = |010 - 100 + 111|9= |2 - 4 + 7|9 = 5
|167|23_j = |167|? = |010 + 100+ 111|7 = |2+ 4 + 7|? = 6
|167|23 = |111|8 = 7
Hence, the residue representation ofX is (6,7,5).
From the above, we may guess three modular adders will suffice for the computation of the residues. If the magnitudes of the numbers involved are small, as will be the case for small moduli, the complexity of the overall conversion will not be high.
Moduli-set {2B,22n - 1,22" + 1}
This moduli set provides dynamic range of (25" - 2"), the upper end of the dynamic range is mx • w2 • if 3 = (2") • (22" - 1) • (22" + 1) = 25" - 2".
Then, DR 4 [0,25" - 2" - 1] and r, = \X\mi and X is 5«-bit.
Now, we have to prove that they are relatively prime numbers by using
gcd(a,6) = gcd(ci, b mod d)
We get,
gcd(22" + 1,2") = gcd(22", 122" + 112„) |22"+1U=||22"U + |1
2n *2n
\2n
|2"U + |iU=i.
Then, gcd(22" + 1,2") = gcd( 22",| 22" - 1| J.
Also, gcd| 22" - 112„ = 1122"|2„ - 1112„ |2„ = 12" |2„ x 1212„ - 1112„ = - 1.
Then, gcd(22" + 1,2") = gcd{ 22",| 22" - 1 p.
Similarly, gcd(22" + 1,2" - 1) = gcd(22" - 1,| 22" + 1 |o2,M)
. 2..... + ! UB-I = II 2~"|22,m +.11 2-n-\ 12-"-l =
= 122"-l + 1|22,L1 + 1 = 1 + 1 = 2.
Then, gcd(22" - 1,|22" + 1|22,M) = gcd(T-" - 1,2) = 1.
Hence, the moduli are relatively prime numbers.
Given any integer number Xwithin the dynamic range M= [0,25" - 2" - 1].
i.e. X — X5„_i Xs;7_2 • • • x_4;7 X4„_i ... x3„ x3„_x ... Xjj, X2),_i ... x„ x„_\... Xq.
To calculate the residues rv r2 and r3of X with respect to moduli-set {2",22" - 1,22" +1}. The residue r is the easiest to compute: The n least significant bits constitute the remainder when Xis divided by 2".
Hence, r{ is the number represented by the least significant n-bits of X. These bits are obtained by nominally shifting to the right by n bits. For modulo 22" - 1:
22"|22„_j = 122" - 1 + 1|22»_J = 1.
Nnw lk" -i l>ifkiseven
Now, 12 U i 2n ] if k is odd
Where k = 2,3,4,...
To determine the residues f r2 and r3 we first partition X into five n-bit blocks BrBrBpB4 and Bs
bx 4Ijc.2-H"
J-4» J
В 2 = llx.2h3n
z i- 3» J
b3 a sjc.2г2"
7=2« J
2и-1
B4±Yx.2J-n
b5ai!x. v
3 /-2» у
Then, X = /i^4" + jB223" + /i,22" + ,842" + 55
According to this partition the residue /•. is equal to, r. = | B52" \ 2« Now, to compute the residue r2 with respect to modulo 22" - 1, we have
r% = |X|22,m = I Bl24n + B223" + B}22" + B42" + B5|22,M
|5i24"|22,m = Hfi, |22,li x \22%2x |22"|22,m|22,m =1x1.
= 1 [ k is even ]
Each of B^.B-Ji-Ji^ and B5 represented in »-bits and there must be less than 22" - 1 then
\B124"\22„_1 = Bl
|£223,,|22,m = Pal^M x |22b|22b_1 x |22'i22„_1|22,I_1. Here k is odd, 123" |22«_1 = ||2(2-3|,,|22,M |22,M = = 2".
Hence, |5223"|22n^ = B2 x 22"
Again, | В32Ъ< |22,ч = \\В3 |22,ч х |22и|22,ч|22,ч = В3. And | В422" |22,ч = р4 |22,ч х |22"|22я_1 |22,ч = В42".
From above we get,
= |Х|22,ч = \Щ + В222я + В3 + В 4 2" + В5 |22яч = = \(В1+В3 + В5) + (В2 + АО 22и |22яч .
For modulo 22и+ 1
12" |22я+1 = 2" since 2" < 22и + 1.
I 22"|22я+1 = | 22" + 1 - 1|22Я+1 = - 1.
123и|22я+1 = 122и х 2и|22^,= [J22и|22я+1 х |2"|22я+1 = -2 124я |22я+1 = 122" х 22" |22я+1 = - I х - I = I.
Then we get,
12'
кп I
2п;к= 1,5,9,13,... -2"; £=3,7,11,15,...
{-Xf2; ifk is even To compute the residue r3 with respect to the modulo 22"+ 1, we have
r3 = |X|22,m = | Bx2a" + B223" + B322" + B4 2" + B5\22„+l
We already know that each of Bl,B2,B3,B4 and B5 represented in »-bits and there must be less than 22"+ 1 then,
2 +1
| B{24n |22,i+1 = B} since k is even
!3223"|22,i+1 = p2|22,I+1 x |22"|22b+1 x \T\22„+x\^
Since q is odd, we get
\B223"\22„+1=-B22"
\В32-"\22гщ= || S3 122-41 X |2~"|22я+1|22Я+1.
\В32%ъЧ1=-В3
\B42"\22n+l = p4|22,1+1 X |22"|22Я+1|22Я+1. | 542и|22Я+1 = B4 2"
Hence from above we get,
r3 = | В\ -B22" - B3 + B42" + В5\2ъЧ1 = \ (B\ - B3 + Bs) + (B4 - B2) 2" |22я+1 .
Example:
consider moduli-set {8,63,65}, where n = 3 for special moduli-set {2",22" - 1,22" +1}. Consider an integer number X= 3564 which is belong to the dynamic range [0, 25" - 2" - 1] = [0, 215 - 23 - 1], and the binary representation of A'is 110111101100, we partition X into 5 (3-bit) blocks as follow:
000 110 111 101 100
B1 B2 B3 B4 B5
f| is the number represented by the least significant 3-bits of X. These bits are obtained by nominally shifting to the right by 3 bits.
|rJ8 = |B5|8 = |100|8 = |4|8 = 4
Now,
r2 = |X|iM = |35€4|63
By using equation
r2 = Щ +B3 + B5) + (B2 + B4) 2"! 22m , we get
г. (0(Ю • 111 + 100)+ (110 + 101) 23|63 =
= 1(0 + 7 + 4) + (6 + 5) 23|63 = |11 + 88|63 = |11+ 25|63 = 36
Again, r3 = |X|22„+1 = 13564165
By equation r3 = 1(5, -B3 + B}) + (7i, - BJ 2"\ :2|I|, we get r3 = 1(000 - 111 + 100) + (101 - 110) X 8|6S =
= |(0 - 7 + 4) + (5 - 6) x 8|65 = I- 3 - 8|65 = |-11|65 = 54
Hence, the residues of the number X= 3564 with respect to the moduli-set {8,63,65} is 4.36.54 .
Extended special moduli-set:
Here we consider two examples moduli-sets in this category,
those of the form
1. {2" - 1,2",2" + 1,2',+1 -1} for even n.
2. {2" - 1,2",2" + 1,2',+1 +1} for odd n.
Which are frequently encountered in applications where a large dynamic range is required. We will adopt essentially the same procedure described above, but in the computation of the residue corresponding to 2'+l, the binary representation ofXwill now be partitioned into blocks of n+1 -bits each.
Example: Consider the moduli-set {3,4,5,7}. The moduli in this set are relatively prime, and the fourth modulus of the form 2" 1 - 1, with n = 2.
LetX= 319. In order to obtain the residues with the respect to 3,4 and 5. We partition the binary representation of 319, which is 0100111111, into 2-bit blocks, since n = 2.
|319|3 = |01 + 00 + 11 + 11 + 11 |02-i = |l + 0 + 3 + 3 +3|3 = 1
Similarly, the residue with respect to 5 is obtained as,
13191, : 01 00 • 1111 I 111,2-i = |l-0 + 3- 3 + 31, = 4
The residue with respect to 4 is obtained by simply right-shifting the binary equivalent by two bits position, with 3 as the value of the bits shifted out.
The residue with respect to 7, we partitions the binary representation of 319 into 3-bits blocks.
319 = : 100 111 + 1111^ = 14 + 7 + 71, = 4
Now, we consider similar case but with n odd.
Let k = 3, in this case the moduli-set is of the form {2" -
1,2",2" + 1,2"+1 +1}, that is it will be {7,8,9,17}, and
|319|? = 1100 - 111 + 111|7 = |4 + 7 + 7|? = 4
|319|8 =7
|319|9 = |100-lll + lll|9=|4-7 + 7|9 = 4
|319|n = |0001 - 0011 + 1111 = |1 - 3 + 15|n = 13
Hence, the residues ofXwith respectto moduli-set {7,8,9,17}
is <4,7,4,13).
Forward conversion in any extended moduli-set consisting of more than four moduli can be accomplished equally easily by partitioning X appropriately for each modulus in the set. But since number of moduli in the set increases, the circuit-complexity will increase linearly. The complexity can be reduced if conversion is done sequentially.
Arbitrary (general) Moduli-Sets: Lookup Tables (LUT):
The basic idea in the use of LUT's is that finding the residue of a number with respect to a given modulus essentially boils down to computing the modulus sum of certain power of two.
Suppose we have an «-bits number X, and that we wish to compute its residue with respect to a modulus m:
X — X!7_\ X„_2Xn~3X0 ~ ^-kj=0 Xp-3
And
\X\m = 11*7=0 Xp-3\m = |£'7=0 Xj%\m\m (2)
There are many ways in which the partial sums and the total sum may be computed: 1. Serially, 2. Sequentially, 3. In parallel or some other combination of these.
1. Serial/sequential conversion: A simple and direct way to implement eq.2is to have a sequential structure that consists of a LUT that stores all the values |2']m (note that x. is either 0 or 1), a modular adder that computes partial sums, a counter, and an accumulator register fig. 1
Fig. 1. Sequential LUT converter.
Procedure:
the accumulator is initialized to zero. Thereafter, on each cycle, a value is read from look-up table and added to the value in the accumulator.
The process will take »-cycles, but the hardware requirements are low, memory of size about nlog2m bits and an m-bits modular adder.
Design in fig. 1 is obviously low performance depending on the relative costs and speed of memory and adders.
In fig. 2 the structure shows the operand Xis processed two bits at a time, that is in each cycle, two values \x2'\m and \x. ,2''1 \m are add and the result then added to that in the accumulator.
1 x |m
Fig. 2. Modified sequential LUT converter.
With this design some performance enhancing pipelining is possible.
Note: Instead of one bit (fig. 1) or two bit (fig. 2) we may take any number of bits and have completely parallel structure or sequential parallel one. Essentially, if we view the basic approach outlined above as being a radix-2 computation, then we now seek compute in a higher radix-2'v for /¿-bits at a time.
Sequential/Parallel Conversion: Arbitrary Partitioning
Suppose that instead of taking the bits of X serially {i.e. one bit at a time) we instead take p bits at a time. Now, in this case, X is partitioned into:
K = |%|
blocks of p bits each. (Without loss of generality, we assume
that n/p is integral).
Let the blocks BkI>: -... , />'„. then
.V I^V, 2:B.
Whence \X\m = ^B}\m = 2^fi,-|m|m
Example: Consider the computation ofthe residue ofthe 16bit number 32015 with respect to the modulus 17. The binary representation of 32015 is 0111110100001111. We partition this into four 4-bits blocks: 0111, 1101, 0000, 1111 and then compute the residue as:
¡32015|1? = ||l-7 x 212|n + 113 x 28|n + |0 x 24|17 + |15 x 2"|17|17 = |10 + 13 + 0 + 15| =4
Counter [0: k-1]
Shift Register
Sequential/Parallel Conversion: Periodic Partitioning
The cyclic property of 2' mod m refers to the eventual repetition of residues as the value of / increases. For example, with m = 3, the values of 2'mod 3, for j = 0,1,2,...., repeat after the second residue: the residues are 1,2,1,2, ... .from the above (equation 2)we know that the residues of X with respect to m are readily obtained if the residues |2']m are available. Table (1) lists the residues of powers of two with respect to several different moduli. We can observe the number of residues in each row depends upon the cyclic properly of the residue with respect to that modulus. All residues are periodic, but the length of period depends on the specific modulus. Given a modulus m, we shall refer to »7-1 as the basic period and to any shorter period as a short period.
Other important properties of residues, for some moduli, the residues of 2 (up to the point where the repetition starts) are distinct and therefor all m-1 residues must be stored. For illustration example, consider the modulus 13. The residues |2'|13 are 1,2,4,8,6,12,11,9,5,10,7 for j = 0,1,2,3,4,5,6,7,8,9,10,11. The residues do not repeat within the basic period determined by 13. But they do repeat from >12, therefor, the maximum number of residues that must be stored is 12. For larger values ofj, the same set of residues can be used because of the repetitive nature of residues beyond j = 12.
The application of the cyclic nature of the residues to the implementation of forward conversion is given by the following method: If the period is l. the binary number whose residues are sought is partitioned into /-bit blocks. The sets of residues for the different /-bit blocks will be the same because of the periodicity: each block determines the same set of 2' different values. The /-bit blocks are then added. The residue of any f-bit number and the result of the final modular additions, are obtained from a look-up table in which the residues of 2/modm;y' = 0,1,2,...,t, are stored. Thus the basic hardware structures required are similar to those with arbitrary partitioning.
Example: Consider the computation ofthe residue ofthe 16bit number32015 with respect to the modulus 17 The binary representation of 32015is 0111110100001111. From Table (1) we find that the periodicity ofthe
residues for 17 is 8. The 16-bit number is therefore partitioned into two8-bit blocks that are then added:
01111101 +00001111 = 10001100
The non-zero bits in the result correspond to 27; 23, and 22. The residues of these, with respect to 17, are obtained from a LUT and then added in a multi-operand modular adder.
13201%, = |27|1? + |23|17 + |22|17|17 = |9 + 8 + 4|ff = 4
The complexity in the computation of the residues of a given number depends on the periodicity of the residues and not on the number of bits in the number's representation.
Table 1. PERIODICITY PROPERTIES AND PERIOD OF REPETITION
OF RESIDUES
Modulus m Residues \2>\„ Period of repetition of residuesl
3 1,2,1,2,1,... 2
5 1,2,4,3,1,2,4,3,... 4
6 1,2,4,2,4,2,4,... 3
7 1,2,4,1,2,4,... 3
9 1,2,4,8,7,5,1,2,4,8,7,... 6
10 1,2,4,8,6,2,4,8,6,... 5
11 1,2,4,8,5,10,9,7,3,6,1,2,4,5,10,9,7,... 10
12 1,2,4,8,4,8,4,8,... 4
13 1,2,4,8,3,6,12,11,... 12
14 1,2,4,8,2,4,8,... 4
15 1,2,4,8,1,2,4,8,... 4
16 1,2,4,8.... 4
17 1,2,4,8,16,15,13,9,... 8
18 1,2,4,8,16,14,10,2,4,8,... 7
19 1,4,8,16,13,7,14,9,18,17,15,11,... 18
20 1,2,4,8,16,12,4,8,16,... 6
21 1,2,4,8,16,11,1,2,4,8,... 6
22 1,2,4,8,16,10,20,18,14,6,12,... 11
23 1,2,4,8,16,9,18,13,3,6,12,... 11
24 1,2,4,8,16,8,16,8,16,... 5
26 1,2,4,8,16,6,12,24,22,18,10,20,14,... 13
28 1,2,4,8,16,4,8,16,... 5
Conclusion
In this paper we discussed two special moduli-sets {2" -1,2",2" +1} and {2",22n - 1,22" +1} with dynamic ranges M, = |0.23" - 2" -1] and M , = |0.25" - 2" -1] respectively. It's obviously that M. < M, for all n e TV, we followed same forward conversion technique, we observed that the method with the second moduli-set it is generalization of the same technique with the first moduli-set.
Also we discussed the forward conversion technique with respect to arbitrary moduli sets and we observed that the property of periodic of residues is very useful in our techniques.
References
1. A. Hariri, K. Navi and R. Rastegar. 2008. A new high dynamic range moduli set with efficient reverse converter. Computer and Mathematics with Applications. (55) 660-668
2. B. Premkumar. 2002. A formal framework for conversion from bina-ryto residue numbers. IEEE Transactions on Circuits and System //, 46(2): 135-144.
3. N. S. Szabo and R. I. Tanaka. 1967. Residue Arithmetic and its Applications to Computer Technology, McGraw-Hill, New York.
4. Chervyakov N. I. et al. Computation of positional characteristics of numbers in RNS based on approximate method //2016 IEEE NW Russia Young Researchers in Electrical and Electronic Engineering Conference (EIConRusNW). - IEEE, 2016. - C. 177-179.
5. Chervyakov N.L LyakhovP.A., Babenko M.G. Digital filtering of images in a residue number system using finite-field wavelets //Automatic Control and Computer Sciences. -2014. -T. 48. - №. 3. - C. 180-189.
6. Chervyakov N. I. et al. An Approximate Method for Comparing Modular Numbers and its Application to the Division of Numbers in Residue Number Systems* //Cybernetics and Systems Analysis. -2014. - T. 50. - №. 6. - C. 977-984.
7. Chervyakov N. I. et al. Use of modular coding for high-speed digital filter design //Cybernetics and Systems Analysis. - 1998. - T. 34. -№. 2. - C. 254-260.
8. Chervyakov, N.I., Tyncherov, K.T., Veligosha, A.V. High-speed digital signal processing with using non-positional arithmetic// Ra-diotekhnika, pp. 23-27
9. S. Piestrak. 1994. Design of residue generators and multioperand modular adders using carry save adders. IEEE Transactions on Computers, 42 (1): 68-77.
10. A. Mohan. 1999. Efficient design of binary to RNS converters. Journalof Circuits and Systems, 9(3/4): 145-154.
11. A. Mohan. 2002. Residue Number Systems: Algorithms and Architectures. Kluwer Academic Publishers, Dordrecht.
12. B. Parhami and C. Y. Hung. 1994. \Optimal table lookup schemes forVLSI implementation of input/output conversions and other residuenumber operations". In: VLSI Signal Processing VII, IEEE Press, New York.
13. F. Barsi. 1991. Mod m arithmetic in binary systems. Information Processing Letters, 40: 303-309.
14. D. K. Banerji and J. A. Brzozowski. 1972. On translation algorithm-sin RNS. IEEE Transaction on Computers, C-21: 1281-1285.
15. G. Alia and E. Martinelli. 1984. A VLSI Algorithm for direct andreverse conversion from weighted binary number to residue number-system. IEEE Transaction on Circuits and Systems, 31(12): 14251431.
16. G. Alia and E. Martinelli. 1990. VLSI binary-residue converters for-pipelined processing. The Computer Journal, 33(5): 473-475.
17. R. M. Capocelli and R. Giancarlo. 1998. Efficient VLSI networks for-converting an integer from binary system to residue number system andvice versa. IEEE Transactions on Circuits and System, 35(11): 1425-1431.
18. G. Bi and E. V. Jones. 1988. Fast Conversion between binary an-dresidue numbers. Electronic Letters, 24(9): 1195-1997.