Table of Contents
ISRN Signal Processing
VolumeΒ 2011Β (2011), Article IDΒ 272768, 7 pages
http://dx.doi.org/10.5402/2011/272768
Research Article

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

Department of Computer Science, Faculty of Mathematical Sciences, University for Development Studies, P.O. Box 24, Navrongo, Ghana

Received 24 March 2011; Accepted 12 April 2011

Academic Editors: C.-C.Β Hu and P.Β Szolgay

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.

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.

272768.fig.001
Figure 1: Probability of occurrence of π‘₯1,𝑛=1 versus 𝑛.
272768.fig.002
Figure 2: Proposed hybrid cost-efficient RNS to binary converter.
272768.fig.003
Figure 3: Proposed hybrid speed-efficient RNS to binary converter.

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.

tab1
Table 1: Design example.

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.

tab2
Table 2: Area-delay comparison.
tab3
Table 3: Synthesized results: area-delay comparison.
tab4
Table 4: Simulation results: showing the occurrence probability and other associated parameters.
272768.fig.004
Figure 4: Delay comparison: hybrid converters versus converters [7].

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 Β· View at 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 Β· View at 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 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 Google Scholar Β· View at Scopus
  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 Β· View at 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 Β· View at 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 Β· View at 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.