1576 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 47, NO. 12, DECEMBER 2000
A High-Speed Residue-to-Binary Converter for
Three-Moduli ( , , ) RNS
and a Scheme for Its VLSI Implementation
Wei Wang, M. N. S. Swamy, M. O. Ahmad, and Yuke Wang
Abstract—In this paper, a high-speed residue-to-binary converter for the
moduli set ( , , ) is proposed. Compared to the previous
converter based on this moduli set, the proposed one is 40% faster. Also, the
time-complexity product is improved by 20%. Following the top-down very
large scale integration design flow, the proposed converter is implemented
in 0.5-micron CMOS technology. Based on this moduli set, layouts of the
8-, 16-, 32-, and 64-bit residue-to-binary converters, which can be used in
further residual number system designs, are generated and simulation re-
sults obtained.
Index Terms—Chinese remainder theorem, digital signal processing,
residue number system, residue-to-binary converter, VLSI implementa-
tion.
I. INTRODUCTION
Residue number system (RNS) offers very high-speed concurrent
operations in many areas involving digital filters and transforms [1].
The reason for this high-speed is that the digits in the RNS have no or-
dering significance, nor is there a requirement to manage carry infor-
mation from digit to digit. The advantages offered by very large scale
integration (VLSI) technology have added a new dimension in the im-
plementation of RNS-based architectures.
In the RNS applications, the residue-to-binary (R/B) and binary-to-
residue conversions are required. In general, both these conversions
influence the speed and complexity of the resulting architecture, but
that of the former is more critical [2], [3]. For general moduli sets,
the R/B conversion is based mainly on the Chinese remainder theorem
(CRT) and the mixed-radix conversion (MRC). Some special moduli
sets have been introduced to simplify the expression of the CRT and
MRC [4]–[15], among which the moduli set ( , , ) is one
of the most popular ones.
The moduli set ( , , ) [16] is expected to play an
increasingly important role in the RNS. It has been claimed in [16]
that “this moduli set has the advantage that the represented numbers
can be scaled by one or more moduli with a high degree of precision.”
Furthermore, according to [16], all the residue numbers in this moduli
set are within -bit, so that the moduli set ( , , ) is
more efficient than the set ( , , ), which needs ( )-bit
binary numbers for the moduli ( ).
In this paper, we propose a new high-speed R/B converter for the
moduli set ( , , ). This converter is faster than the
one in [16] and has a reduced time-complexity product. The rest of the
paper is organized as follows. In Section II, we introduce the neces-
sary background material. In Section III, we derive the R/B conversion
Manuscript received August 1999; revised August 2000. This work was sup-
ported by the Natural Sciences and Engineering Research Council of Canada,
the MICRONET National Network of Centers of Excellence, and Fonds pour
la Formation de Chercheurs et l’Aide a Recherche of Quebec. This paper was
recommended by Associate Editor E. Friedman.
W. Wang, M. N. S. Swamy, and M. O. Ahmad are with the Centre
for Signal Processing and Communications, Department of Elec-
trical and Computer Engineering, Concordia University, Montreal, PQ,
Canada H3G 1M8 (e-mail: w_wang@ece.concordia.ca; swamy@ece.con-
cordia.ca;omair@ece.concordia.ca).
Y. Wang is with the Department of Computer Science, University of Texas at
Dallas, Dallas, TX 75083–0688 USA.
Publisher Item Identifier S 1057-7130(00)11041-9.
theorem for the given moduli set, while in Section IV we introduce the
high-speed R/B converter based on the proposed theorem. In Section V,
we present the VLSI implementation and a performance evaluation of
8-, 16-, 32-, and 64-bit converters for this moduli set.
II. BACKGROUND MATERIAL
For any two numbers and , mod is defined as
for some integer such that . For
convenience, we denote mod by .
RNS: An RNS is defined in terms of relatively prime moduli set
, that is, for . A binary
number can be represented as , where
, . Such a representation is unique for any integer
, where is the dynamic range of the
moduli set .
To convert into the binary number , the Chinese
remainder theorem (CRT) is generally used.
CRT: The binary number is computed by
where and is the multiplicative inverse of
[17].
The CRT requires a modulo (large-valued) operation, which is
not very efficient. Recently, three new CRTs [18] have been proposed,
which reduce the size of the modulo operation required by the CRT. We
give below the first of these theorems, since it will be used to establish
the proposed R/B conversion theorem.
New CRT-I [18]: Given the residue number , the
binary number can be computed by
(1)
where
From the above theorem, we have, for , the following Corol-
lary.
Corollary: For a three moduli set , the binary number
can be calculated as
(2)
where and .
We apply the above Corollary to the R/B conversion of the three
moduli set ( , , ) in Section III. The following defini-
tions are needed before establishing the conversion theorem.
Definition 1: Assuming to be an integer, we have the moduli
set ( , , ) and the dynamic range
. A binary number in the range – is repre-
sented as . The values of , , and are given by
(3a)
(3b)
(3c)
1057–7130/00$10.00 © 2000 IEEE