International Scholarly Research Notices

International Scholarly Research Notices / 2011 / Article

Research Article | Open Access

Volume 2011 |Article ID 272768 | 7 pages | https://doi.org/10.5402/2011/272768

New Adder-Based RNS-to-Binary Converters for the { 2 𝑛 + 1 + 1 , 2 𝑛 + 1 − 1 , 2 𝑛 } Moduli Set

Academic Editor: P. Szolgay
Received24 Mar 2011
Accepted12 Apr 2011
Published29 Jun 2011

Abstract

We investigate Residue Number System (RNS) to binary conversion, which is an important issue concerning the utilization of RNS numbers in Digital Signal Processing (DSP) applications. We propose two new reverse converters for the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛}. First, we simplify the Chinese Remainder Theorem (CRT) to obtain a reverse converter that uses mod-(2𝑛+1−1) operations instead of mod-(2𝑛+1+1)(2𝑛+1−1) operations required by other state-of-the-art equivalent converters. Next, we further reduce the hardware complexity by making the resulting reverse converter architecture adder based. Two hybrid Cost-Efficient (CE) and Speed-Efficient (SE) reverse converters are proposed. These two hybrid converters are obtained by combining the best state-of-the-art converter with the newly introduced area-delay efficient scheme. The proposed hybrid CE converter outperforms the best state-of-the-art CE converter in terms of delay with similar area cost. Additionally, the proposed hybrid SE converter requires less area cost with smaller delay when compared to the best state-of-the-art equivalent SE converter.

1. Introduction

The presence of carry chains in conventional weighted number systems such as binary or decimal number systems often limits the efficiency of computer arithmetic operations. Residue Number System (RNS) is a number system having an attractive carry-free property, which has proved to be highly useful in many Digital Signal Processing (DSP) applications requiring high-speed computations [1, 2]. RNS also has the following inherent features due to its carry-free property: modularity, parallelism, and fault tolerance. In order not to offset the speed gained in RNS operations, a fast RNS-to-binary converter is required. The complexity as well as the efficiency of RNS to binary converter is determined by the moduli choice and by the conversion algorithm. Many different choices of moduli sets are available for RNS to represent the binary numbers in a certain range. Three moduli sets have been actively investigated, for example, {2𝑛−1,2𝑛,2𝑛+1} [3], {2𝑛,2𝑛−1,2𝑛−1−1} [4], {2𝑛+1,2𝑛−1,2𝑛} [5], and {2𝑛+2,2𝑛+1,2𝑛} [6]. The dynamic range of these moduli sets is not sufficient for applications requiring larger dynamic range. Thus, the moduli set {2𝑛−1,2𝑛,2𝑛+1}, which is the most popular length three moduli set, has been enhanced to {2𝑛+1+1,2𝑛+1−1,2𝑛} [7] and {2𝑛+1−1,2𝑛,2𝑛−1} [8], to mention just a few. Generally speaking, RNS-to-binary conversion is either based on the Chinese Remainder Theorem (CRT) [1, 2, 6] or the Mixed Radix Conversion (MRC) [9].

In this paper, we propose two new hybrid Cost Efficient (CE) and Speed Efficient (SE) reverse converters for the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛}. We obtain the two hybrid converters by combining the converters in [7] with the newly introduced area-delay efficient converters. First, we simplify the CRT to obtain a reverse converter that uses mod-(2𝑛+1−1) operations instead of mod-(2𝑛+1+1)(2𝑛+1−1) operations required by the proposal in [7]. Next, we further reduce the hardware complexity by making the resulting reverse converter architecture adder based. Basically, the newly introduced scheme is made up of two Carry-Save Adders (CSAs) and (𝑛+1)-bit Carry Propagate Adder (CPA). The proposed CE converter outperforms the one in [7] in terms of delay with similar area cost. Additionally, the proposed SE converter requires less area cost and smaller conversion delay when compared to the one in [7].

The rest of the paper is organised as follows: Section 2 presents the necessary background information. In Section 3, we describe the proposed algorithm. Section 4 presents the hardware realization of the proposed algorithm, and a comparison with the state-of-the-art reverse converters is provided in Section 5. The paper is concluded in Section 6.

2. Background

RNS is defined in terms of a set of relatively prime moduli set {𝑚𝑖}𝑖=1,𝑘 such that gcd(𝑚𝑖,𝑚𝑗)=1 for 𝑖≠𝑗, where gcd means the greatest common divisor of 𝑚𝑖 and 𝑚𝑗, while 𝑀=∏𝑘𝑖=1𝑚𝑖, is the dynamic range. The residues of a decimal number 𝑋 can be obtained as 𝑥𝑖=|𝑋|𝑚𝑖, thus 𝑋 can be represented in RNS as 𝑋=(𝑥1,𝑥2,𝑥3,…,𝑥𝑘), 0≤𝑥𝑖<𝑚𝑖. This representation is unique for any integer 𝑋∈[0,𝑀−1]. We note here that in this paper we use |𝑋|𝑚𝑖 to denote the 𝑋 mod 𝑚𝑖 operation.

For a moduli set {𝑚𝑖}𝑖=1,𝑘 with the dynamic range 𝑀=∏𝑘𝑖=1𝑚𝑖, the residue number (𝑥1,𝑥2,𝑥3,…,𝑥𝑘) can be converted into the decimal number 𝑋, according to the Chinese Reminder theorem, as follows [10]:𝑋=|||||𝑘𝑖=1𝑀𝑖||𝑀−1𝑖𝑥𝑖||𝑚𝑖|||||𝑀,(1)

where 𝑀=∏𝑘𝑖=1𝑚𝑖, 𝑀𝑖=𝑀/𝑚𝑖, and 𝑀−1𝑖 is the multiplicative inverse of 𝑀𝑖 with respect to 𝑚𝑖.

This general scheme can be actually simplified when certain moduli sets of interests like {2𝑛+1+1,2𝑛+1−1,2𝑛} are utilized. For this moduli set efficient converters have been presented in [7]. In [2], the New CRT proposed in [3] is formulated as follows:𝑋=𝑥1+𝑚1|||||𝑤1𝑥1+𝑘𝑖=2𝑤𝑖||𝑁−1𝑖𝑥𝑖||𝑚𝑖|||||𝑚2⋯𝑚𝑘,(2)

where 𝑘>1, 𝑤𝑖=𝑁𝑖/𝑚1 and 𝑁−1𝑖 is the multiplicative inverse of 𝑁𝑖 with respect to 𝑚𝑖. For the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛}, the following relation, based on the New CRT represented by (2) has been presented in [7]:𝑋=𝑥1+2𝑛||2𝑛+2𝑥2−𝑥1+2𝑛+12𝑛+1+1𝑥3−𝑥2||22𝑛+2−1.(3)

Given that the residues (𝑥1,𝑥2,𝑥3) have the following binary representations:𝑥1=𝑥1,𝑛−1𝑥1,𝑛−2⋯𝑥1,1𝑥1,0,𝑥2=𝑥2,𝑛+1𝑥2,𝑛⋯𝑥2,1𝑥2,0,𝑥3=𝑥3,𝑛𝑥3,𝑛−2⋯𝑥3,1𝑥3,0.(4)

Equation (3) was further simplified to obtain𝑋=𝑥1+2𝑛||ğ‘£î…ž1+𝑣21+𝑣3||22𝑛+2−1,(5) whereğ‘£î…ž1=𝑥1,𝑛−1⋯𝑥1,1𝑥1,0𝑛𝑥2,𝑛+1⋯𝑥2,1𝑥2,0𝑛+1,𝑣21=𝑥2,𝑛⋯𝑥2,1𝑥2,0𝑛+10⋯00𝑛𝑥2,𝑛+1,𝑣3=𝑥3,𝑛⋯𝑥3,1𝑥3,0𝑛+1𝑥3,𝑛⋯𝑥3,1𝑥3,0𝑛+1.(6)

Given that the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛} is desirable, can we obtain a more effective reverse converter when compared to the ones in [7]? In the following section, we present two effective reverse converters for the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛} by first simplifying (1).

3. Proposed Algorithm

Given the RNS number (𝑥1,𝑥2,𝑥3) with respect to the moduli set {𝑚1,𝑚2,𝑚3} in the form {2𝑛+1+1,2𝑛+1−1,2𝑛}, the proposed algorithm computes the decimal equivalent of this RNS number based on a further simplification of the well-known traditional CRT. First, we show that the computation of the multiplicative inverses can be eliminated for this moduli set resulting into memoryless reverse converters. Next, we obtain reverse converters that utilize modulo-(2𝑛+1−1) operations instead of modulo-(2𝑛+1+1)(2𝑛+1−1) operations required by the state-of-the-art equivalent converters. We further reduce the hardware complexity by obtaining adder-based reverse converters.

Theorem 1. Given the moduli set {𝑚1,𝑚2,𝑚3} with 𝑚1=2𝑛+1+1,𝑚2=2𝑛+1−1,𝑚3=2𝑛, the following holds true: ||𝑚1𝑚2−1||𝑚3=2𝑛−1,(7)||𝑚2𝑚3−1||𝑚1=1,(8)||𝑚1𝑚3−1||𝑚2=1.(9)

Proof. If it can be demonstrated that |(2𝑛−1)×(𝑚1𝑚2)|𝑚3=1, then (2𝑛−1) is the multiplicative inverse of (𝑚1𝑚2) with respect to 𝑚3. |(2𝑛−1)×(𝑚1𝑚2)|𝑚3 is given by ||2𝑛+1+12𝑛+1−1(2𝑛−1)||2𝑛=||22𝑛+2−1(2𝑛−1)||2𝑛=||23𝑛+2−2𝑛−22𝑛+2+1||2𝑛=|||||23𝑛+2||2𝑛−||2𝑛||2𝑛−||22𝑛+2||2𝑛+1|||2𝑛=||0−0−0+1||2𝑛=1,(10) thus (7) holds true.
In the same way if |1×(𝑚2𝑚3)|𝑚1=1, then 1 is the multiplicative inverse of (𝑚2𝑚3) with respect to 𝑚1. |1×(𝑚2𝑚3)|𝑚1 is given by: |(2𝑛+1−1)(2𝑛)|2𝑛+1+1=|22𝑛+1−2𝑛|2𝑛+1+1=|1|2𝑛+1+1=1, thus (8) holds true.
Again, if |1×(𝑚1𝑚3)|𝑚2=1, then 1 is the multiplicative inverse of (𝑚1𝑚3) with respect to 𝑚2. |1×(𝑚1𝑚3)|𝑚2 is given by ||2𝑛+1+1(2𝑛)||2𝑛+1−1=||22𝑛+1+2𝑛||2𝑛+1−1=||1||2𝑛+1−1=1,(11) thus (9) holds true.

The following important relations are used in the subsequent theorem: Given the moduli set {𝑚1,𝑚2,𝑚3} with 𝑚1=2𝑛+1+1,𝑚2=2𝑛+1−1,𝑚3=2𝑛, the following holds true:𝑚1=𝑚2+2,(12)𝑚1=2𝑚3+1,(13)𝑚2=2𝑚3−1.(14)

Theorem 2. The decimal equivalent of the RNS number (𝑥1,𝑥2,𝑥3) with respect to the moduli set {𝑚1,𝑚2,𝑚3} in the form {2𝑛+1+1,2𝑛+1−1,2𝑛} is computed as follows: 𝑋=2𝑚3𝑥3−𝑥1+𝑥3+𝑚3𝑚1||𝑥1−2𝑥3+𝑥2||𝑚2.(15)

Proof. Equation (1) for 𝑘=3 is given by 𝑋=|||||3𝑖=1𝑀𝑖||𝑀−1𝑖𝑥𝑖||𝑚𝑖|||||𝑀.(16) By substituting (7), (8), and (9) into (16) we obtain the following: 𝑋=||𝑚2𝑚3𝑥1+𝑚1𝑚3𝑥2+𝑚1𝑚2𝑚3−1𝑥3||𝑀,=||𝑚2𝑚3𝑥1+𝑚1𝑚3𝑥2+𝑀−𝑚1𝑚2𝑥3||𝑀,=||𝑚2𝑚3𝑥1+𝑚1𝑚3𝑥2−𝑚1𝑚2𝑥3||𝑀,(17) Substituting (12) in the above equation, we obtain 𝑋=||𝑚3𝑚1−2𝑥1+𝑚1𝑚3𝑥2−𝑚1𝑚2𝑥3||𝑀,=|||𝑚1𝑚3𝑥1−2𝑚3𝑥1+𝑚1𝑚3𝑥2−𝑚1𝑚2𝑥3|||𝑀,=−2𝑚3𝑥1+|||𝑚1𝑚3𝑥1+𝑚1𝑚3𝑥2−𝑚1𝑚2𝑥3|||𝑚1𝑚2𝑚3.(18) Equation (18) can be further simplified by using the following lemma presented in [11]: ||ğ‘Žğ‘š1||𝑚1𝑚2=𝑚1|ğ‘Ž|𝑚2.(19) Applying (19), (18) becomes 𝑋=−2𝑚3𝑥1+𝑚1||𝑚3𝑥1+𝑚3𝑥2−𝑚2𝑥3||𝑚2𝑚3.(20) Using (14) in (20), we obtain 𝑋=−2𝑚3𝑥1+𝑚1|||𝑚3𝑥1+𝑚3𝑥2−𝑥32𝑚3−1|||𝑚2𝑚3,=−2𝑚3𝑥1+𝑚1|||𝑚3𝑥1+𝑚3𝑥2−2𝑚3𝑥3+𝑥3|||𝑚2𝑚3,=−2𝑚3𝑥1+𝑚1𝑥3+𝑚1|||𝑚3(𝑥1−2𝑥3+𝑥2)|||𝑚2𝑚3.(21) Applying (19), (21) becomes 𝑋=−2𝑚3𝑥1+𝑚1𝑥3+𝑚1𝑚3|||𝑥1−2𝑥3+𝑥2|||𝑚2.(22) Using (13) in (22), we obtain 𝑋=−2𝑚3𝑥1+𝑥32𝑚3+1+𝑚1𝑚3|||𝑥1−2𝑥3+𝑥2|||𝑚2,=2𝑚3𝑥3−𝑥1+𝑥3+𝑚1𝑚3|||𝑥1−2𝑥3+𝑥2|||𝑚2,(23) thus, (15) holds true.

We reduce the hardware complexity by further simplifying (15) using the following properties [7].

Property 1. Modulo (2𝑠−1) multiplication of a residue number by 2𝑡, where 𝑠 and 𝑡 are positive integers, is equivalent to 𝑡 bit circular left shifting.

Property 2. Modulo (2𝑠−1) of a negative number is equivalent to the one’s complement of the number, which is obtained by subtracting the number from (2𝑠−1).

Assumption 1. The hardware complexity is reduced based on the assumption that 𝑥1<2𝑛+1 always holds true.

Based on the given assumption, 𝑥1, which is (𝑛+2)-bit binary number can now be represented like an (𝑛+1)-bit number. Therefore, the residues (𝑥1,𝑥2,𝑥3) have binary representations as follow:𝑥1=𝑥1,𝑛𝑥1,𝑛−1⋯𝑥1,1𝑥1,0,𝑥2=𝑥2,𝑛𝑥2,𝑛−1⋯𝑥2,1𝑥2,0,𝑥3=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,1𝑥3,0.(24)

Then (15) is further simplified using the following theorem.

Theorem 3. Provided that 𝑥1<2𝑛+1 holds true, the binary equivalent of the RNS number (𝑥1,𝑥2,𝑥3) with respect to the moduli set {𝑚1,𝑚2,𝑚3} in the form {2𝑛+1+1,2𝑛+1−1,2𝑛} is computed as follows: 𝑋=𝐴0+22𝑛+1𝐴1+2𝑛𝐴1,(25) where 𝐴1=||𝑥1+𝑥2+𝑢3||2𝑛+1−1,𝐴0=𝑢1+𝑢2,𝑢1=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,0𝑛0𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,0𝑛,𝑢2=𝑥1,𝑛+1𝑥1,𝑛⋯𝑥1,011⋯12𝑛+2,𝑢3=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,01𝑛+1.(26)

Proof. We need to show that (15) can be presented as (25), and that the values of 𝐴0,𝐴1,{𝑢𝑖}𝑖=1,3 are valid. It should be noted from (15) that 2𝑚3(𝑥3−𝑥1)+𝑥3=2𝑛+1𝑥3+𝑥3−2𝑛+1𝑥1=𝑢1+𝑢2 and 𝑢1 can be represented as 𝑢1=2𝑚3𝑥3+𝑥3=2𝑛+1𝑥3+𝑥3=2𝑛+1𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,1𝑥3,0𝑛+𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,1𝑥3,0𝑛=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,1𝑥3,0𝑛00⋯0𝑛+1+𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,1𝑥3,0𝑛=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,00𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,02𝑛+1.(27)
Also, we represent 𝑢2 as 𝑢2=−2𝑛+1𝑥1=−2𝑛+1𝑥1,𝑛+1𝑥1,𝑛⋯𝑥1,0𝑛+1=âˆ’âŽ›âŽœâŽœâŽî€·ğ‘¥1,𝑛+1𝑥1,𝑛⋯𝑥1,0𝑛+1(00⋯0)𝑛+1⎞⎟⎟⎠=âŽ›âŽœâŽœâŽğ‘¥1,𝑛+1𝑥1,𝑛⋯𝑥1,011⋯12𝑛+2⎞⎟⎟⎠.(28) Next, we convert each term in |𝑥1+𝑥2+𝑢3|2𝑛+1−1 to an (𝑛+1) bit binary number. No manipulation is required for 𝑥1 since it is treated like an (𝑛+1)-bit number and also 𝑥2 is already an (𝑛+1)-bit number. The only term to be manipulated is −2𝑥3 and this is carried out as follows: 𝑢3=−2𝑥3=−2𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,0𝑛=−𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,00𝑛+1=𝑥3,𝑛−1𝑥3,𝑛−2⋯𝑥3,01𝑛+1.(29)

However, if the condition 𝑥1<2𝑛+1 does not hold true, the converter in [7], represented by (5), is utilized.

4. Hardware Realization

The hardware implementations of the proposed reverse converters are based on the combination of (25) and (5). We propose two converters based on this approach, termed “hybrid approach”. The hardware realizations of the proposed schemes are depicted by Figures 2 and 3. In Figure 2 (the proposed hybrid cost-efficient converter), 𝑥1 is first input into the system. Given that the Most Significant Bit (MSB) of 𝑥1 is 𝑥1,𝑛, then 𝑥1,𝑛 is compared with “1”. If 𝑥1,𝑛=1, (5) is utilized just as outlined in [7] otherwise the hardware realization follows (25). It should be noted that the overhead for comparison is approximately zero as only the MSB of 𝑥1 needs to be compared with a 1. The condition 𝑥1,𝑛=1 holds true only in very few cases. The probability of occurrence of this condition is denoted by 𝑝, and it can be seen from Figure 1 that 𝑝 approaches zero as 𝑛 increases. This is fully explained in the next section. However, if 𝑥1,𝑛=0 (which occurs most of the time) holds true, the hardware realization is as follows. The operands 𝑥1, 𝑥2, and 𝑢3 in (25) are added using CSA1 producing 𝑠1 and 𝑐1, which are in turn added using a one’s complement adder (this is equivalent to a CPA with End Around Carry (EAC)). Suppose that 𝐵1 and 𝐵2 are, respectively, used to store the results of the 2𝑛+1 and 𝑛-bit right shifting of the one’s complement adder. Since 𝑢1 is a 2𝑛+1 bit number, it can be concatenated with 𝐵1 with no computational hardware. The second operand 𝐵2 is a (2𝑛+1)-bit number with 𝑛-bit of zeros. 𝐵2 must be converted to a (3𝑛+2)-bit number by appending (𝑛+1)-bit of zeros to its MSB part. The third operand 𝑢2, which is a (2𝑛+2)-bit number, is also made a (3𝑛+2)-bit number by appending 𝑛-bit of ones to its MSB part. 𝐵1, 𝐵2, and 𝑢2 are all now (3𝑛+2)-bit numbers and are to be added using CSA2 yielding 𝑠2 and 𝑐2. It should be noted that (2𝑛+1) bits of the Full Adders (FAs) in CSA2 are reduced to Half Adders (HAs). The final result is supposed to be obtained by a CPA but the final result (obtained by means of simulation) is always the same as inverting 𝑠2. Thus, the final CPA is eliminated. On the other hand, Figure 2 depicts the hardware realization of the proposed hybrid speed efficient converter. Just like the proposed hybrid CE converter, hybrid SE converter is also made up of the same level of CSAs, but the only difference is that two CPAs are utilized in parallel instead of the 1’s complement adders in Figure 2. Consequently, the conversion time is significantly reduced.

Design Example
Given the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛}, where 𝑛=3, convert the residue number (𝑥1,𝑥2,𝑥3)=(2,4,3) to binary.
In order to obtain the required binary equivalent, (25) is applied as given in Table 1 where CSA1 represents the first CSA in Theorem 3. The CPA then adds 𝑠1 and 𝑐1 producing 𝐶𝑟. We then obtain 𝐵1, 𝐵2, and 𝑢2 as already expalined above. CSA2 is used to add 𝐵1, 𝐵2, and 𝑢2 producing 𝑠2 and 𝑐2. It can be seen from Table 1 that 𝑅𝑓=−𝑠2. Thus, the final CPA can be eliminated, and consequently the conversion delay and the area cost are significantly reduced.


CSA1 CPACSA2

𝑥 1 ∶ 0 0 1 0 𝑠 1 ∶ 1 1 1 1 𝐵 1 ∶ 0 0 0 0 0 1 1 0 0 1 1
𝑥 2 ∶ 0 1 0 0 𝑐 1 ∶ 0 0 0 0 𝐵 2 ∶ 0 0 0 0 0 0 0 0 0 0 0
𝑢 3 ∶ 1 0 0 1 𝐶 𝑟 ∶ 1 1 1 1 𝑢 2 ∶ 1 1 1 1 1 0 1 1 1 1 1
𝑠 1 ∶ 1 1 1 1 𝐶 𝑟 ∶ 0 0 0 0 𝑠 3 ∶ 1 1 1 1 1 1 0 1 1 0 0
𝑐 1 ∶ 0 0 0 0 𝑐 3 ∶ 0 0 0 0 0 1 0 0 1 1 0
𝑅 𝑓 ∶ 0 0 0 0 0 0 1 0 0 1 1

5. Performance Evaluation

The performances of the proposed converters are evaluated in terms of area cost and conversion delay. Two efficient reverse converters have been proposed. The performance comparisons of these converters and the best state-of-the-art converter in [7] are presented in Tables 2, 3, and 4. From Table 2, it can be seen that the proposed hybrid CE outperforms the CE in [7] in terms of delay with slightly lesser or similar area cost (whenever 𝑥1,𝑛=0, the same result otherwise). With the same condition, the proposed hybrid SE converter outperforms the SE converter in [7] in terms of both speed and area. Table 4 shows the occurrence probability and other associated parameters. We note here that in Table 4, the following notations are utilized: 𝑛 is an integer value that determines various dynamic range requirements, 𝑐 is the number of times 𝑥1,𝑛=1 occurs within the dynamic range 𝑀 of the system, 𝑝 is the probability of occurrence of the condition 𝑥1,𝑛=1 within the dynamic range of the system (𝑝 is computed by 𝑝=𝑐/𝑀), hybrid CE stands for the delay of the hybrid CE converter, CE [7] stands for the delay of the CE converter in [7], and hybrid SE stands for the delay of the hybrid SE converter while SE [7] stands for the delay of the SE converter in [7]. As shown in Table 4, 𝑝 reduces as the dynamic range increases (i.e., as 𝑛 increases). For example, when 𝑛=3, 𝑝=0.058824 whereas 𝑝=0.000244 when 𝑛=10. This implies, as can also be deduced from Figure 1, that the occurrence probability approaches zero as 𝑛 continues to grow. The delays of hybrid CE and SE converters and that of the CE and SE converters in [7] are depicted by Figure 4. It can be easily seen from Figure 4 that the rate of growth of the conversion delay is comparably very small in the hybrid SE. Another interesting thing to note here is that the proposed CE converter and the SE converter in [7] have nearly equal conversion delay.


Converters CE [7] Proposed CE SE [7] Proposed SE

FA 3 𝑛 + 4 3 𝑛 + 3 5 𝑛 + 6 4 𝑛 + 4
HA 𝑛 2 𝑛 𝑛 2 𝑛
OR/NOT 6 𝑛 + 4 3 𝑛 + 3 2 𝑛 + 2 6 𝑛 + 4
Multiplexer ——11
Delay ( 4 𝑛 + 5 ) 𝑡 F A ( 2 𝑛 + 4 ) 𝑡 F A ( 2 𝑛 + 3 ) 𝑡 F A + 𝑡 M U X ( 𝑛 + 3 ) 𝑡 F A + 𝑡 M U X


𝑛 Our area Our delay in (n/s) Area [7]Delay [7] in (n/s)

3 14 17.574 26 28.083
4 19 22.808 30 28.289
5 23 24.419 40 32.335
6 25 24.874 47 39.975
7 32 30.166 54 42.598
8 36 30.991 48 46.504
9 37 30.326 66 50.154
10 44 38.375 69 50.700


𝑛 𝑐 𝑀 𝑝 Hybrid CECE [7]Hybrid SESE [7]

3 120 2040 0 . 0 5 8 8 2 4 10.4118 17 6.1765 9
4 496 16368 0.030303 12.2727 21 7.1212 11
5 2016 131040 0.015385 14.1692 25 8.0769 13
6 8128 1048512 0.007752 16.1008 29 9.0465 15
7 32640 8388480 0.003891 18.0584 33 10.0272 17
8 130816 67108608 0.001949 20.0331 37 11.0156 19
9 523776 536870400 0.000976 22.0185 41 12.0088 21
10 1048000 4295000000 0.000244 24.0051 45 13.0024 23

Additionally, the proposed hybrid SE converter (whenever 𝑥1,𝑛=0) and the SE converter in [7] are implemented using Xilinx92i FPGA technology for varoius dynamic range requirements (different values of 𝑛). The target technology is Xillinx (Xa3s200-4vqg100) FPGA. The performance is evaluated in terms of area (measured in terms of the number of slices) and delay (represents the total gate delay, which is measured in nanoseconds). Table 3 shows the synthesized results for various values of 𝑛, which show the superiority of our scheme over the one in [7]. Consequently, the RNS-to-binary converters proposed in this paper are better than the ones in [7].

6. Conclusions

In this paper, we proposed two new reverse converters for the moduli set {2𝑛+1+1,2𝑛+1−1,2𝑛}. First, we simplified the traditional CRT to obtain a reverse converter that uses mod-(2𝑛+1−1) operations instead of mod-(2𝑛+1+1)(2𝑛+1−1) operations required by the proposal in [7]. Next, we further reduced the hardware complexity by making the resulting reverse converter architecture adder based. We proposed two hybrid CE and SE converters. In each of the schemes, the converter in [7] is integrated into a newly proposed area-delay efficient scheme. The path to be followed depends on whether 𝑥1,𝑛=1 (which occurs only in few cases) or 𝑥1,𝑛=0. In terms of delay, the two proposed hybrid CE and SE converters require (2𝑛(𝑝+1)+𝑝+4)𝑡FA and (𝑛(𝑝+1)+3)𝑡FA+𝑡MUX, respectively, while the CE and SE converters in [7], respectively, require (4𝑛+5)𝑡FA and (2𝑛+3)𝑡FA+𝑡MUX, where 𝑡FA denotes the delay of one full adder and 𝑡MUX that of a multiplexer, and 𝑝 is the occurrence probability of 𝑥1,𝑛=1. The proposed hybrid CE converter outperforms the one in [7] in terms of delay with slightly higher or similar area cost. Additionally, with smaller delay, the proposed hybrid SE converter also requires less area cost when compared to the one in [7].

References

  1. A. A. Hiasat, “VLSI implementation of new arithmetic residue to binary decoders,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 13, no. 1, pp. 153–158, 2005. View at: Publisher Site | Google Scholar
  2. W. Wang, M. N. S. Swamy, M. O. Ahmad, and Y. Wang, “A study of the residue-to-binary converters for the three-moduli sets,” IEEE Transactions on Circuits and Systems I, vol. 50, no. 2, pp. 235–243, 2003. View at: Publisher Site | Google Scholar
  3. Y. Wang, X. Song, M. Aboulhamid, and H. Shen, “Adder based residue to binary number converters for {2n+1,2n,2n-1},” IEEE Transactions on Signal Processing, vol. 50, pp. 1772–1779, 2002. View at: {2n+1,2n,2n-1}&author=Y. Wang&author=X. Song&author=M. Aboulhamid&author=&author=H. Shen&publication_year=2002" target="_blank">Google Scholar
  4. A. A. Hiasat and H. S. Abdel-Aty-Zohdy, “Residue-to-binary arithmetic converter for the moduli set {2k,2k-1,2k-1-1},” IEEE Transactions on Circuits and Systems II, vol. 45, no. 2, pp. 204–209, 1998. View at: {2k,2k-1,2k-1-1}&author=A. A. Hiasat &author=H. S. Abdel-Aty-Zohdy&publication_year=1998" target="_blank">Google Scholar
  5. K. A. Gbolagade and S. D. Cotofana, “Generalized matrix method for efficient residue to decimal conversion,” in Proceeding of the 10th IEEE Asia-Pacific Conference on Circuits and Systems (APCCAS '08), pp. 1414–1417, Macao, China, December 2008. View at: Publisher Site | Google Scholar
  6. K. A. Gbolagade and S. D. Cotofana, “Residue number system operands to decimal conversion for 3-moduli sets,” in Proceeding of the 51st IEEE Midwest Symposium on Circuits and Systems, pp. 791–794, Knoxville, Tenn, USA, August 2008. View at: Publisher Site | Google Scholar
  7. A. S. Molahosseini and K. Navi, “New arithmetic residue to binary converters,” International Journal of Computer Sciences and Engineering Systems, vol. 1, no. 4, pp. 295–299, 2007. View at: Google Scholar
  8. P. V. A. Mohan, “RNS-to-binary converter for a new three-moduli set {2n+1-1,2n,2n-1},” IEEE Transactions on Circuits and Systems II, vol. 54, no. 9, pp. 775–779, 2007. View at: Publisher Site | {2n+1-1,2n,2n-1}&author=P. V. A. Mohan&publication_year=2007" target="_blank">Google Scholar
  9. D. F. Miller and W. S. McCormick, “An arithmetic free parallel mixed radix conversion algorithm,” IEEE Transactions Circuits and Systems II, vol. 45, no. 1, pp. 158–162, 1998. View at: Google Scholar
  10. N. Szabo and R. Tanaka, Residue Arithmetic and Its Application to Computer Technology, MC-Graw-Hill, New York, NY, USA, 1967.
  11. Y. Wang, “New Chinese remainder theorems,” in Proceeding of the Asilomar Conference, vol. 1, pp. 165–171, Pacific Grove, Calif, USA, November 1998. View at: Google Scholar

Copyright © 2011 Kazeem Alagbe Gbolagade. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

703 Views | 532 Downloads | 0 Citations
 PDF  Download Citation  Citation
 Download other formatsMore
 Order printed copiesOrder