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