20
Journal of VLSI Signal Processing 33, 171–190, 2003 c 2003 Kluwer Academic Publishers. Manufactured in The Netherlands. Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic JAVIER RAM ´ IREZ AND ANTONIO GARC ´ IA Departamento de Electr ´ onica y Tecnolog´ ıa de Computadores, Campus Universitario Fuentenueva, University of Granada, 18071 Granada, Spain UWE MEYER-B ¨ ASE Department of Electrical and Computer Engineering, FAMU-FSU College of Engineering, Tallahassee, FL 32310-6046, USA FRED TAYLOR High-Speed Digital Architecture Laboratory, Electrical and Computer Engineering, Computer and Information Science Engineering, University of Florida, Gainesville FL, 32611-6130, USA ANTONIO LLORIS Departamento de Electr ´ onica y Tecnolog´ ıa de Computadores, Campus Universitario Fuentenueva, University of Granada, 18071 Granada, Spain Received October 27, 2000; Revised July 12, 2001 Abstract. Currently there are design barriers inhibiting the implementation of high-precision digital signal pro- cessing (DSP) objects with field programmable logic (FPL) devices. This paper explores overcoming these barriers by fusing together the popular distributed arithmetic (DA) method with the residue number system (RNS) for use in FPL-centric designs. The new design paradigm is studied in the context of a high-performance filter bank and a discrete wavelet transform (DWT). The proposed design paradigm is facilitated by a new RNS accumulator structure based on a carry save adder (CSA). The reported methodology also introduces a polyphase filter structure that results in a reduced look-up table (LUT) budget. The 2C-DA and RNS-DA are compared, in the context of a FPL implementation strategy, using a discrete wavelet transform (DWT) filter bank as a common design theme. The results show that the RNS-DA, compared to a traditional 2C-DA design, enjoys a performance advantage that increases with precision (wordlength). Keywords: field-programmable logic, residue number system, distributed arithmetic, discrete wavelet transform, digital signal processing 1. Introduction Digital signal processing (DSP) is arithmetic-intensive. DSP-facilitating technologies include general-purpose microprocessors, application-specific integrated cir- cuits (ASIC), application specific standard products (ASSP), and field programmable logic (FPL) devices that include field programmable gate arrays (FPGA). Within this mix, ASIC are becoming the dominant technology with the Y-2000 DSP CBIC (cell-based

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Embed Size (px)

Citation preview

Page 1: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Journal of VLSI Signal Processing 33, 171–190, 2003c© 2003 Kluwer Academic Publishers. Manufactured in The Netherlands.

Implementation of RNS-Based Distributed Arithmetic Discrete WaveletTransform Architectures Using Field-Programmable Logic

JAVIER RAMIREZ AND ANTONIO GARCIADepartamento de Electronica y Tecnologıa de Computadores, Campus Universitario Fuentenueva,

University of Granada, 18071 Granada, Spain

UWE MEYER-BASEDepartment of Electrical and Computer Engineering, FAMU-FSU College of Engineering, Tallahassee,

FL 32310-6046, USA

FRED TAYLORHigh-Speed Digital Architecture Laboratory, Electrical and Computer Engineering, Computer and Information

Science Engineering, University of Florida, Gainesville FL, 32611-6130, USA

ANTONIO LLORISDepartamento de Electronica y Tecnologıa de Computadores, Campus Universitario Fuentenueva,

University of Granada, 18071 Granada, Spain

Received October 27, 2000; Revised July 12, 2001

Abstract. Currently there are design barriers inhibiting the implementation of high-precision digital signal pro-cessing (DSP) objects with field programmable logic (FPL) devices. This paper explores overcoming these barriersby fusing together the popular distributed arithmetic (DA) method with the residue number system (RNS) foruse in FPL-centric designs. The new design paradigm is studied in the context of a high-performance filter bankand a discrete wavelet transform (DWT). The proposed design paradigm is facilitated by a new RNS accumulatorstructure based on a carry save adder (CSA). The reported methodology also introduces a polyphase filter structurethat results in a reduced look-up table (LUT) budget. The 2C-DA and RNS-DA are compared, in the context of aFPL implementation strategy, using a discrete wavelet transform (DWT) filter bank as a common design theme.The results show that the RNS-DA, compared to a traditional 2C-DA design, enjoys a performance advantage thatincreases with precision (wordlength).

Keywords: field-programmable logic, residue number system, distributed arithmetic, discrete wavelet transform,digital signal processing

1. Introduction

Digital signal processing (DSP) is arithmetic-intensive.DSP-facilitating technologies include general-purposemicroprocessors, application-specific integrated cir-

cuits (ASIC), application specific standard products(ASSP), and field programmable logic (FPL) devicesthat include field programmable gate arrays (FPGA).Within this mix, ASIC are becoming the dominanttechnology with the Y-2000 DSP CBIC (cell-based

Page 2: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

172 Ramırez et al.

integrated circuit) ASIC market valued in excess of$13B, compared to $8B for DSPs. The FPL ASICmarket is expected to expand at a rate of 20% perannum rate, with DSP applications leading the way.While FPL houses champion their technology as aprovider of system-on-a-chip (SOC) DSP solutions,engineers have historically viewed FPLs as a proto-typing technology. It should be noted that 40% of thecurrent FPL design starts are rated at 1,500 gates. Thisfigure falls well below the reported 50,000+ gates thataccount for 50% of standard cell ASIC designs [1].When one considers that an FPGA typically requires10× more gates than a CBIC to implement a com-mon logic function, a typical 50 k gate standard cellASIC design would require a large 500 k gate FPGA.In order for FPL to begin to compete in areas cur-rently controlled by low-end standard cell, a meansmust be found to more efficiently implement DSPobjects.

A review of FPL vendor supplied application notes,establishes that FPGAs have intrinsically weak arith-metic capabilities. A general-purpose n × n-bit mul-tiplier or multiply-accumulate (MAC) unit, for exam-ple, is inferior to a well designed ASIC ALU in bothspeed and area [2]. In addition, FPL deficiencies in-crease geometrically with precision (wordlength). Itis the FPGA’s arithmetic limitations that have causedsolution developers to consider alternative structures.The most popular technique, found in common prac-tice, is called distributed arithmetic [3–6], or DA. TheDA method is routinely used to implement linear DSPalgorithms with fixed known a priori coefficients. TheDA technique reduces an algorithm to a set of sequen-tial lookup table (LUT) calls, and two’s-complement(2C) shift-adds. A survey of the contemporary FPLDA art indicates that most solutions are of low-orderand low-precision. The reported FPL limitations are theresult of architectural limitation. FPL device families,such as Altera FLEX10K [7] or XILINX Virtex [8], areorganized in channels (typically 8-bits wide). Withinthese channels are found short delay propagation paths,and dedicated memory blocks, with programmable ad-dress and data spaces that are commonly used to syn-thesize small RAM and ROM functions. Performancerapidly suffers when carry bits and/or data have topropagate across a channel boundary. We call this thechannel barrier problem. Existing 2C-DA designs en-counter the channel barrier problem whenever word-widths exceed the channel width in bits. An alterna-tive design paradigm is advocated in this paper that is

based on fusion of DA and the residue number sys-tem or RNS [9–11]. The RNS advantage is gained byreducing arithmetic to a set of concurrent operationsthat reside in small wordlength non-communicatingchannels. This attribute makes the RNS potentially at-tractive for implementing DSP objects with a FPL.Specifically, the paper develops a mechanism of achiev-ing synergy within an FPL-defined environment forimplement arithmetic intensive DSP solutions. Thequantifiable benefits of this approach are studied in thecontext of a design example, namely a discrete wavelettransform (DWT) filterbank using an Altera FLEX10KFPL reference device. The work will build upon pre-vious works [12–15] and RNS-FPL design studies[16–19].

2. Background

There is emerging evidence that an arithmetic technol-ogy, called the RNS, can overcome the channel barrierand become a FPL enabling technology [20–22]. Com-puter arithmeticians have long held that the RNS offersthe best MAC speed-area advantage [9]. In the RNS,numbers are represented in terms of a relatively primebasis set (moduli set) P = {m1, . . . mL}. Any numberX ∈ Z M = {0, . . . , M − 1}, where M = �mi , hasa unique RNS representation X ↔ [Xm1 , . . . , XmL ],with Xmi = Xmod(mi ). Like the 2C system, theRNS arithmetic is exact as long as the final resultis bounded within the system’s dynamic range M .Mapping from the RNS back to the integer domainis defined by the Chinese Remainder Theorem (CRT)[9, 10]. RNS arithmetic is defined by pair-wise modularoperations:

Z = X ± Y ↔ [∣∣Xm1 ± Ym1

∣∣m1

, . . . ,∣∣XmL ± YmL

∣∣mL

]

Z = X × Y ↔ [∣∣Xm1 × Ym1

∣∣m1

, . . . ,∣∣XmL × YmL

∣∣mL

]

(1)

where |Q|mj denotes Q mod(m j ). The individual mod-ular arithmetic operations are typically performed asLUT calls to small memories. The RNS differs fromtraditional weighted numbering systems in that theRNS arithmetic is a carry-free and can operate at aconstant speed over a wide range of wordwidths (pre-cision). It is the ability of the RNS to do arithmeticwithin independent small wordlength channels thatmakes it particularly attractive for FPL insertion. The

Page 3: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 173

RNS has been studied in an FPL context by Hamannand Sprachmann [12] who explored implementing asimple DSP solution using Xilinx parts. Jullien [13]combined number theory with FPLs to design a FIR.Fermat primes were used as the basis elements and aXilinx FPGA used to implement index arithmetic ALU.Performance is strongly influenced by the choice ofbasis functions (moduli) that were limited by the sizeof the FPL LUT address space, and channel width. Ademonstration of the RNS as an enabling FPL tech-nology is the communication filter reported in [20,21] using an Altera FLEX10K part. The digital fil-ters were designed to accept 8-bit inputs and 10-bitcoefficients, with an internal 24-bit dynamic range,and ran at 49.3 MHz in 2C and 76.6 MHz in theRNS. Complexity was comparable to a 2C design.These preliminary works provide the motivation toadvance this work in a rigorous and comprehensivemanner.

3. Discrete Wavelet Transform

Interest in the wavelet transform [23, 24] has growndramatically during the last decade [25–30]. Wavelettransforms are routinely used in speech, image andvideo signal processing, and other applications.Discrete wavelet transforms (DWT) are definedover a sequence of embedded closed subspaces,VJ ⊂ VJ−1⊂ · · · ⊂ V1 ⊂ V0, where V0 = l2(Z ) is thespace of square-summable sequences. These sub-spaces satisfy the upward completeness property,∪Vj = l2(Z ), j ∈ [0, J ]. Assume that any element inVj can be uniquely expressed as the sum of two ele-ments from Vj+1 and W j+1, where Vj = Vj+1 ⊕ W j+1.For orthogonal wavelets, W j+1 is defined as theorthogonal complement of Vj+1 in Vj . Assuming asequence gn ∈ V0 exists such that {gn−2k}k∈Z is a basisfor V1, a sequence hn ∈ V0 can then be found suchthat {hn−2k}k∈Z is a basis for W1. Thus, V0 can bedecomposed as: V0 = W1 ⊕ W2 ⊕ · · · ⊕ WJ ⊕ VJ bysimply iterating the decomposition rule J times. Anattractive feature of the wavelet series expansion is thatthe underlying multiresolution structure leads to anefficient discrete-time algorithm based on a filter bankimplementation. The octave-band analysis filter bankcomputes the inner products with the basis functionsfor W1, W2, . . . , WJ , and VJ . The orthogonal projec-tion of the input signal onto W1, W2, . . . , WJ , andVJ is computed after convolution with the synthesis

filters. Then, the sequence is decomposed into a coarseresolution version in VJ with added details in Wi

(i = 1, 2, . . . ,J ). Thus a 1-D N th-order DWT decom-position of a sequence xn is defined by the recurrentequations:

a(i)n =

N−1∑k=0

gka(i−1)2n−k i = 1, 2, . . . , J

(2)

d (i)n =

N−1∑k=0

hka(i−1)2n−k a(0)

n ≡ xn

where a(i)n and d (i)

n are level-i approximation and detailsequences, respectively, and gk and hk (k = 0, 1, . . . ,N − 1) correspond to the low-pass and high-pass anal-ysis filter coefficients. On the other hand, the signal xn

can be perfectly recovered through its multiresolutiondecomposition {a(J )

n , d (J )n , d (J−1)

n , . . . , d (1)n } by iteration

on:

a(i−1)m =

N/2−1∑k=0

g2k a(i)m2 −k +

N/2−1∑k=0

h2k d (i)m2 −k m even

N/2−1∑k=0

g2k+1a(i)m−1

2 −k+

N/2−1∑k=0

h2k+1d (i)m−1

2 −km odd

(3)

where gk and hk represent low-pass and high-pass syn-thesis filter coefficients. In order to ensure perfect re-covery of the input signal, the coefficients of the anal-ysis and synthesis filter banks are conveniently relatedto each other according to the perfect reconstructioncondition [23, 24].

4. 2C-DA Architectures for the DWT

Conventional 2C-DA has been successfully applied tothe implementation of FIR filters and other linear dis-crete transforms. DA designs replace general multipli-cation with scaling operations implemented using LUTcalls. DA architectures are bit-serial and are often re-ported to be faster than MAC-centric designs. In addi-tion, compared to programmable MAC solutions, DAdesigns often have a lower roundoff error budget [31].The DA advantage is amplified in FPL applications, atechnology possessing an intrinsically weak MAC ca-pability. A DA FPL design must, however, be mindful

Page 4: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

174 Ramırez et al.

of the channel barrier problem since FPLs restrict DALUTs to reside in an FPL’s logic element (LE). For Al-tera FLEX10K devices, each LE consists of a 24 × 1LUT, an output register and dedicated logic for fastcarry and cascade chains. The larger embedded arrayblocks (EABs) found in a FLEX10K device consist of2K-bit memory blocks configurable as 28 × 8, 29 × 4,210×2 or 211×1. The FLEX10KE family now provides4K-bit EABs organized as 28 × 16, 29 × 8, 210 × 4 or211 × 2.

A 2C-DA design assumes that the input to a DSP-object (e.g., FIR filter) is the Bi -bit word:

a(i−1)n = −2Bi −1a(i−1)

n,Bi −1 +Bi −2∑l=0

2la(i−1)n,l (4)

where a(i−1)n,l is the l-th bit of the input sample a(i−1)

n .For the case where the filters define a 1-D DWT, filterpairs would be defined by (after Eq. (2)):

a(i)n = −2Bi −1

N−1∑k=0

gka(i−1)2n−k,Bi −1 +

N−1∑k=0

gk

Bi −2∑l=0

2la(i−1)2n−k,l

d (i)n = −2Bi −1

N−1∑k=0

hka(i−1)2n−k,Bi −1 +

N−1∑k=0

hk

Bi −2∑l=0

2la(i−1)2n−k,l

(5)

Figure 1. 2C-DA 1-D DWT architecture.

Define the DA LUT functions, �g(l) and �h(l) to be:

�g(l) =N−1∑k=0

gka(i−1)2n−k,l �h(l) =

N−1∑k=0

hka(i−1)2n−k,l (6)

which results in the DA equations:

a(i)n = −2Bi −1�g(Bi − 1) +

Bi −2∑l=0

2l�g(l)

(7)

d (i)n = −2Bi −1�h(Bi − 1) +

Bi −2∑l=0

2l�h(l)

The computation of the i th-octave-approximations,a(i)

n , and details, d (i)n , (i = 1, 2, . . . , J ) is carried using

two 2N × W LUTs representing the functions �g(l)and �h(l), which are addressed by the N -bit vector{a(i−1)

2n,l , a(i−1)2n−1,l , . . . , a(i−1)

2n−N+1,l}, W ≤ b + �log2(N )�,and b represents the filter coefficient precision. Observethat computing Eq. (7) requires repeated calls to the ta-bles �g(l) and �h(l), followed by a shift-add (scaledaccumulation). Figure 1 shows the 2C-DA architecturefor the computation of the i th octave filter bank out-put. The first table look-up is shift subtracted while thefollowing are added to the accumulator. Note that dec-imation by 2 is carried out efficiently by consideringtwo consecutive input samples, a(i−1)

2n−1 and a(i−1)2n . The

sampling clock (sCLK) is generated by dividing the

Page 5: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 175

accumulation bit clock (bCLK) by Bi . Two input val-ues are sampled in each sampling clock (sCLK) cycle.Finally, registers are left-shifted, since the MSB (mostsignificant bit) is the first bit processed.

A polyphase filter bank representation can, however,lead to a reduction in the LUT address space. Definingthe even- and odd-indexed filters to be g0(k) = g2k ,h0(k) = h2k , g1(k) = g2k+1, and h1(k) = h2k+1 (k = 0,1, . . . , N/2 − 1), a polyphase DA architecture, for thei th-octave analysis and synthesis filter bank consistsof four independent DA filters operating on even- andodd-indexed input samples:

a(i)n =

N/2−1∑k=0

g0(k)a(i−1)2n−2k +

N/2−1∑k=0

g1(k)a(i−1)2n−2k−1

(8)

d (i)n =

N/2−1∑k=0

h0(k)a(i−1)2n−2k +

N/2−1∑k=0

h1(k)a(i−1)2n−2k−1

Thus, polyphase filters convolve two distinct samplesubsets. The even indexed values of a(i−1) are con-volved with g0(k) and h0(k) and the odd indexed valuesare filtered using g1(k) and h1(k). In this way, the defin-ing DA relationships are:

�g0 (l) =N/2−1∑

k=0

g0(k)a(i−1)2n−2k,l

�g1 (l) =N/2−1∑

k=0

g1(k)a(i−1)2n−2k−1,l

(9)

�h0 (l) =N/2−1∑

k=0

h0(k)a(i−1)2n−2k,l

�h1 (l) =N/2−1∑

k=0

h1(k)a(i−1)2n−2k−1,l

and the filter bank outputs become:

a(i)n = −2Bi −1�g0 (Bi − 1)

+Bi −2∑l=0

2l�g0 (l) − 2Bi −1�g1 (Bi − 1)

a(i−1)m =

−2Bi −1�eh(Bi − 1) +

Bi −2∑l=0

2l�eh(l) − 2Bi −1�e

g(Bi − 1) +Bi −2∑l=0

2l�eg(l) m even

−2Bi −1�oh(Bi − 1) +

Bi −2∑l=0

2l�oh(l) − 2Bi −1�o

g(Bi − 1) +Bi −2∑l=0

2l�og(l) m odd

(13)

+Bi −2∑l=0

2l�g1 (l)

(10)d (i)

n = −2Bi −1�h0 (Bi − 1)

+Bi −2∑l=0

2l�h0 (l) − 2Bi −1�h1 (Bi − 1)

+Bi −2∑l=0

2l�h1 (l)

The architecture is shown in Fig. 2 and consists of four2N/2 ×W ′ LUTs, where W ′ ≤ b′ +�log2(N/2)� and b′

represents the filter bank coefficient precision. Noticethat it is necessary to introduce a delay in the odd-indexed sequence, and that the two outputs a(i)

n and d (i)n

are computed by adding the low-pass and high-passpolyphase filter outputs respectively.

The 1-D IDWT (inverse DWT) can be also com-puted through the DA scheme in a manner motivated inthe 2C-DA design narrative. By representing the inputsto the i th-octave reconstruction filter bank, for Bi -bitwords, as:

a(i)n = −2Bi −1a(i)

n,Bi −1 +Bi −2∑l=0

2l a(i)n,l

(11)

d (i)n = −2Bi −1d (i)

n,Bi −1 +Bi −2∑l=0

2l d (i)n,l

The IDWT LUTs are defined by:

�eh(l) =

N/2−1∑k=0

h2k d (i)m2 −k,l �o

h(l) =N/2−1∑

k=0

h2k+1d (i)m−1

2 −k,l

�eg(l) =

N/2−1∑k=0

g2k a(i)m2 −k,l �o

g(l) =N/2−1∑

k=0

g2k+1a(i)m−1

2 −k,l

(12)

and the computation of the DA IDWT is defined to be:

Page 6: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

176 Ramırez et al.

Figure 2. Polyphase 2C-DA 1-D DWT architecture.

The 2C-DA architecture is shown in Fig. 3 in the con-text of the i th-octave synthesis filter. The low- and high-pass filter outputs are computed according to the DAparadigm that computes the even and odd outputs si-multaneously. Two consecutive output samples, a(i−1)

m

and a(i−1)m+1 , (m even) are computed concurrently over

the set of samples {a(i)m/2, a(i)

m/2−1, . . . , a(i)m/2−N/2+1, d (i)

m/2,d (i)

m/2−1, . . . , d (i)m/2−N/2+1} by accumulating the outputs

of four 2N/2 × W LUTs, where W ≤ b +�log2(N/2)�,where b represents the filter bank coefficient preci-sion. Implementation data for these 2C-DA architec-tures will be given in Section 6.

5. RNS-DA Architectures for the DWT

In concept, the RNS represents a potentially efficientmeans of implementing a DA-based FPL DSP solution

[11]. Input sequences are encoded and manipulatedconcurrently within small wordlength channels. AnRNS system was defined in terms of a moduli setP = {m1, m2, . . . , mL} as developed in Section 2.Since typically mi ≤ 28, the solution can be definedto reside within 8-bit channels. A comparable proce-dure to that shown in Eq. (7) for the 2C-DA mech-anization will be developed for the RNS-DA. Thus,for every channel, the current result must be mul-tiplied by 2 prior to accumulating with the outputof a LUT. This would require a specific LUT for 2mod mj multiplication, which would add unwantedcomplexity to the recursive path. However, using ascaled modular accumulator computing |y(n)|mj =|2y(n − 1) + x(n)|mj , an RNS-DA solution can be re-alized, leading to an efficient implementation of in-ner product based DSP algorithms. This accumula-tor is designed according to the following selection

Page 7: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 177

Figure 3. 2C-DA 1-D IDWT architecture.

rules:

|y(n)|m j =

2|y(n − 1)|m j + |x(n)|mj if 2|y(n − 1)|mj + |x(n)|mj < mj

2|y(n − 1)|mj + |x(n)|mj − mj if mj ≤ 2|y(n − 1)|mj + |x(n)|mj < 2mj

2|y(n − 1)|mj + |x(n)|mj − 2mj if 2mj ≤ 2|y(n − 1)|mj + |x(n)|mj < 3mj

(14)

The design of a modulo mj scaling accumulator, forRNS-DA applications, was presented in [11]. An im-proved architecture can be innovated by using CSAs(carry save adders) to realize the 2nd and 3rd termsin Eq. (14), as shown in Fig. 4. The improved designshortens the carry propagation chain, thus improvingthe performance of an RNS-DA based system. Thenew accumulator also uses one CPA (carry propagateadder) to realize the term 2|y(n − 1)|mj +|x(n)|mj , with

two CSAs used to compute 2|y(n − 1)|mj + |x(n)|mj −mj and 2|y(n − 1)|mj + |x(n)|mj − 2mj respectively.These terms are computed concurrently and, as a result,have only one carry propagation stage in the criticalpath. The final result is selected on the basis of thecarries generated in the summation stages as reportedin Table 1.

In Table 2, a comparison is made between the im-proved accumulator and that was originally reported in

Page 8: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

178 Ramırez et al.

Figure 4. Improved design of the RNS-DA accumulator.

[11], in terms of LE requirements, and speed, for 6-,7- and 8-bit modulus accumulators. CPAs are synthe-sized using fast carry chains while each 3-input logicfunction (required by a CSA) is mapped to a singleLE. Since only one CPA stage appears in the signalpath, the advantage in performance increases with themodulus wordwidth. Thus, compared to the previousmodulo accumulator, the throughput improvement forthe new CSA-based accumulator, for 6-, 7- and 8-bitmoduli, is 3.13%, 4.02% and 5.74% for—3 speed gradedevices, and 1.68%, 2.75% and 4.10% for—4 gradedevices. Additional benefits in area and speed are ex-pected when the proposed accumulator is used for astandard cell ASIC design. The reason for that is that

Table 1. Scaled accumulator decision logic table.

C0 c1 c2 c3 Result

0 0 0 0 s1

0 0 0 1 s1

0 0 1 1 s2

1 0 1 1 s2

1 0 1 0 s3

1 0 0 0 s3

0 1 0 0 s3

Any other combination –

Table 2. Comparison between the proposed modulo mj accumula-tor and the accumulator in [11].

Modified modulo CSA-basedaccumulator in [11] modulo accumulator

Throughput (MHz)Throughput (MHz) improve (%)

LEs −3a −4a LEs −3a −4a

6-bit modulus 37 50.50 40.48 55 52.08 41.15

(3.13%) (1.68%)

7-bit modulus 43 48.70 39.24 61 50.66 40.32

(4.02%) (2.75%)

8-bit modulus 49 47.18 38.05 74 49.89 39.61

(5.74%) (4.10%)

aDevice speed grade.

FPL’s carry chains used in [11] are almost as fast asthe CSA implementation using 24 × 1 SRAM logicelements.

The RNS-DA mechanization will now be derivedfor wavelet filter banks. A modulo mj path of the directRNS-DA implementation of the i th-octave filter bankis defined in terms of an nj -bit unsigned number:

∣∣a(i−1)n

∣∣mj

=nj −1∑l=0

2l∣∣a(i−1)

n,l

∣∣mj

(15)

Page 9: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 179

Figure 5. RNS-DA 1-D DWT architecture.

where nj = �log2(mj )�, and |a(i−1)n,l |mj is the lth bit of

residue |a(i−1)n |mj . Substituting Eq. (15) into Eq. (2),

interpreted in a modulo mj sense, the i th-octave-approximation and detail sequences can be written as:

∣∣a(i)n

∣∣mj

=∣∣∣∣∣

N−1∑k=0

gk

nj −1∑l=0

2l∣∣a(i−1)

2n−k,l

∣∣mj

∣∣∣∣∣mj

i = 1, 2, . . . , J(16)

∣∣d (i)n

∣∣mj

=∣∣∣∣∣

N−1∑k=0

hk

nj −1∑l=0

2l∣∣a(i−1)

2n−k,l

∣∣mj

∣∣∣∣∣mj∣∣a(0)

n

∣∣mj

≡ ∣∣xn

∣∣mj

Finally, by defining the DA functions:

� jg(l) =

∣∣∣∣∣N−1∑k=0

gka(i−1)2n−k,l

∣∣∣∣∣mj

�jh(l) =

∣∣∣∣∣N−1∑k=0

hka(i−1)2n−k,l

∣∣∣∣∣mj

(17)

and interchanging the order of summations in Eq. (16),the RNS encoded i th-octave filter bank outputs arecomputed to be:

∣∣a(i)n

∣∣mj

=∣∣∣∣∣nj −1∑l=0

2l� jg(l)

∣∣∣∣∣mj

∣∣d (i)n

∣∣mj

=∣∣∣∣∣nj −1∑l=0

2l�jh(l)

∣∣∣∣∣mj

(18)

Figure 5 summarizes the modulo mj RNS-DA ar-chitecture for the i th-octave analysis filter bank. Nregisters are used to left shift the input samples.The two inputs are sampled at a rate sCLK, thetwo LUTs storing �

jg and �

jh are accessed in each

bit clock (bCLK) cycle to generate the terms ofthe relationship given in Eq. (18). The clock sCLKis easily generated dividing bCLK by the modu-lus width, nj . Finally, two modified modulo mj ac-cumulators compute recursively and in parallel thei th-octave-approximation, |a(i)

n |mj , and detail, |d (i)n |mj

sequences.As in Eqs. (8) and (9) for a 2C-DA design, the

polyphase filter bank [24] implementation can be con-sidered in an attempt to reducing the DA LUT size.A polyphase RNS-DA architecture, suitable for high-order filter banks, is shown in Fig. 6. The productionof |a(i)

n |mj and |d (i)n |mj is computed as a polyphase filter

bank, represented by:

∣∣a(i)n

∣∣mj

=∣∣∣∣∣∣

∣∣∣∣∣nj −1∑l=0

2l� jg0

(l)

∣∣∣∣∣mj

+∣∣∣∣∣nj −1∑l=0

2l� jg1

(l)

∣∣∣∣∣mj

∣∣∣∣∣∣mj

∣∣d (i)n

∣∣mj

=∣∣∣∣∣∣

∣∣∣∣∣nj −1∑l=0

2l�jh0

(l)

∣∣∣∣∣mj

+∣∣∣∣∣nj −1∑l=0

2l�jh1

(l)

∣∣∣∣∣mj

∣∣∣∣∣∣mj

(19)

Page 10: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

180 Ramırez et al.

Figure 6. Polyphase RNS-DA 1-D DWT architecture.

where the contents of the four 2N/2×nj LUTs are givenby:

� jg0

(l) =∣∣∣∣∣

N/2−1∑k=0

g0(k)a(i−1)2n−2k,l

∣∣∣∣∣mj

� jg1

(l) =∣∣∣∣∣

N/2−1∑k=0

g1(k)a(i−1)2n−2k−1,l

∣∣∣∣∣mj

(20)

�jh0

(l) =∣∣∣∣∣

N/2−1∑k=0

h0(k)a(i−1)2n−2k,l

∣∣∣∣∣mj

�jh1

(l) =∣∣∣∣∣

N/2−1∑k=0

h1(k)a(i−1)2n−2k−1,l

∣∣∣∣∣mj

In this way, four 2N/2 × nj are necessary to com-pute Eq. (19) instead of two 2N × nj LUTs as

in the previous approach. The four LUT outcomesread in each bCLK cycle are processed by meansof four aforementioned modified modulo mj accu-mulator, and finally pair-wise modulo added [32] toobtain the final outputs. Detailed information aboutthe implementation of modulo adders using FPLtechnology can be found in [21]. This architec-ture enables a reduction in LUT address space re-quirements and is suitable for high-order waveletfilters.

An RNS-DA architecture for the i th-octave synthesisfilter bank is derived by representing the inputs as nj -bitunsigned words:

∣∣a(i)n

∣∣mj

=nj −1∑l=0

2l∣∣a(i)

n,l

∣∣mj

∣∣d (i)n

∣∣mj

=nj −1∑l=0

2l∣∣d (i)

n,l

∣∣mj

(21)

Page 11: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 181

Figure 7. RNS-DA 1-D IDWT architecture.

By interchanging the order of summations, the octave-ireconstruction filter bank is computed as:∣∣a(i−1)

m

∣∣mj

=

∣∣∣∣∣∣

∣∣∣∣∣nj −1∑l=0

2l�j,eh (l)

∣∣∣∣∣mj

+∣∣∣∣∣nj −1∑l=0

2l�j,eg (l)

∣∣∣∣∣mj

∣∣∣∣∣∣mj

m even∣∣∣∣∣∣

∣∣∣∣∣nj −1∑l=0

2l�j,oh (l)

∣∣∣∣∣mj

+∣∣∣∣∣nj −1∑l=0

2l�j,og (l)

∣∣∣∣∣mj

∣∣∣∣∣∣mj

m odd

(22)

where:

�j,eh (l) =

∣∣∣∣∣N/2−1∑

k=0

h2k d (i)m2 −k,l

∣∣∣∣∣mj

�j,oh (l) =

∣∣∣∣∣N/2−1∑

k=0

h2k+1d (i)m−1

2 −k,l

∣∣∣∣∣mj

(23)

�j,eg (l) =

∣∣∣∣∣N/2−1∑

k=0

g2k a(i)m2 −k,l

∣∣∣∣∣mj

�j,og (l) =

∣∣∣∣∣N/2−1∑

k=0

g2k+1a(i)m−1

2 −k,l

∣∣∣∣∣mj

The resulting modulo mj RNS-DA architecture for thei th-octave synthesis filter bank is shown in Fig. 7.The inputs |a(i)

n |mj and |d (i)n |mj are sampled at a rate

sCLK. Two buffers, consisting of N /2 registers, areused to shift the input sequence and four LUTs storethe functions �

j,eg , �

j,og , �

j,eh and �

j,oh . The output is

computed concurrently as the summation of the low-pass and high-pass filters over even and odd cycles.

Page 12: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

182 Ramırez et al.

In this manner, the values |a(i−1)m,even|mj and |a(i−1)

m,odd|mj arecomputed using two modulo mj modified accumulatorsclocked by the bit clock rate bCLK, and two modulo mj

adders, clocked at sCLK. Note that sCLK is generatedby dividing bCLK by nj .

6. Comparison of 2C-DA and RNS-DA DWT:FPL Implementation

The RNS-DA scheme takes advantage of shortwordlength computations to overcome the channel bar-rier problem. Processing within an RNS channel isaccomplished in nj accumulation cycles, where nj issmall. RNS-DA designs can exceed the performanceof a 2C-DA system that requires more accumulationcycles to implement a typical filter. The sampling fre-quency of the RNS-DA scheme, f sCLK

RNS-DA, is related tothat of the 2C-DA rate f sCLK

2C-DA, by:

f sCLKRNS-DA = B

nj

f bCLKRNS-DA

f bCLK2C-DA

f sCLK2C-DA (24)

where f bCLKRNS-DA and f bCLK

2C-DA are the accumulation clockfrequency of RNS-DA and 2C-DA schemes, respec-tively. In this way, the RNS-DA improvements are pro-portional to the wordlength ratio (i.e., B:nj ), and thebit-clock ratio (i.e., f bCLK

RNS-DA : f bCLK2C-DA).

Implementation of a DWT was considered us-ing Altera FLEX10K devices. Different input, coef-ficient, and output precisions were considered in or-der to assess the advantage of the schemes proposedon the overall sampling frequency. The use of 5-bit wide RNS channels was found to be an attrac-tive choice since the sampling frequency is dividedby the modulus width. The dynamic range is cov-ered with 6-bit moduli, say {32, 31, 29, 27, 25}and {32, 31, 29, 27, 25, 23}, cover a range from23 to 29-bits respectively. Table 3 audits the num-ber of LEs and EABs required for the analysis andsynthesis filter bank, as well as the throughput of a2C-DA and 5- and 6-bit moduli RNS-DA schemes.These tables include results for a modulo 32 and64 DA channel, as well as for generic 5- and 6-bit RNS channels. The eight-tap filters, consideredin Table 3, were compared for RNS-DA and 2C-DA DWT. Although non-polyphase RNS-DA archi-tectures require 28 × 6 LUTs, instead of 24 × 6, thesestructures are preferred over polyphase architecturessince less EABs are needed. However, polyphase ar-chitectures are ideal for higher order filters to enable

fitting DA LUTs on embedded FPL device resources.On the other hand, for the special case of the 8-taptheme polyphase filter bank, no EABs are requiredif DA LUTs are mapped to 24 × 1 LEs as shown inTable 3.

The maximum bandwidth provided by DWT fil-terbanks based on 2C-DA and RNS-DA was com-pared for different precisions. Figure 8 yields themaximum sampling rate of a DWT filterbank us-ing 2C-DA and RNS-DA (for 5- and 6-bit mod-ulus sets) as a function of the input precision.Notice that, for a 5-bit RNS-DA solution, the sam-pling frequency is always higher than for a 2C-DA DWT filterbank. The overall throughput of2C-DA filter banks decreases as the input precisionincreases. However, this decrease in the overall sam-pling rate does not occur in RNS-DA scheme if fixedbit-width modulus are used to handle the increas-ing dynamic range. Thus, RNS-DA provided an in-crease in the overall sampling rate, up to 136.63%and 156.27%, for –3 and –4 grade devices, re-spectively, for a 14-bit input design. As a result,RNS-DA is seen to represent an efficient tool forproviding a sustained throughput when the precision isincreased.

Table 3 provides results obtained for the syn-thesis filter bank too. Different implementations ofthe system in Fig. 7 were considered. In this way,mapping the DA LUTs on LEs was found to bemore efficient than using EABs in terms of hard-ware requirements. When compared to an analysisfilter bank, these architectures require less memorybits since 4-bit LUTs, instead of 8-bit address mem-ories, are required. In order to take advantage ofthe built-in memory blocks and reduce the num-ber of accumulators from 4 to 2, a new RNS-DA architecture that uses two 2N × nj LUTs, wasderived. The enhancement can be carried out byconsidering the computation of an even filter in-volving the even coefficients of the low-pass andhigh-pass, and an odd filter involving the oddcoefficients of the low-pass and high-pass filters.Such filters are two-input filters and are defined asfollows:

∣∣a(i−1)m

∣∣mj

=

∣∣∣∣∣nj −1∑l=0

2l�j,eg,h(l)

∣∣∣∣∣mj

m even

∣∣∣∣∣nj −1∑l=0

2l�j,og,h(l)

∣∣∣∣∣mj

m odd

(25)

Page 13: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 183

Table 3. Hardware requirements and performance for 5- and 6-bit RNS-DA DWT channels and for different precision 2C-DAarchitectures.

fbCLK (MHz) fsCLK(MHz) Throughput8-tap DWT filter bank Number of EABs Speed grade Speed grade improvement ofimplementation Number of LEs (memory bits) −3 and −4 −3 and −4 RNS-DA

6-bit modulus RNS-DA channel 189a 2 (3072)a 34.72 (−4) 5.59 (−4)

373b 4 (384)b 43.47 (−3)

397c 0c

Modulo 64 RNS-DA channel 100a 2 (3072)a 65.35 (−4) 7.25 (−3)

168b 4 (384)b 81.96 (−3)

192c 0c

5-bit modulus RNS-DA channel 159a 2 (2560)a 39.84 (−4) 7.97 (−4)

312b 4 (320)b 49.12 (−3)

332c 0c

Modulo 32 RNS-DA channel 85a 2 (2560)a 74.73 (−4) 9.82 (−3)

140b 4 (320)b 91.12 (−3)

160c 0c

2C-DA8-bit input 220d 4 (6656)d 50.00 (−4) 6.25 (−4) 27.52% (−4)

10-bit coeffs. 434e 6 (768)e 66.66 (−3) 8.33 (−3) 17.89% (−3)

21-bit output 482f 0f

10-bit input 248d 4 (6656)d 45.87 (−4) 4.59 (−4) 73.64% (−4)

10-bit coeffs. 482e 6 (768)e 61.72 (−3) 6.17 (−3) 59.16% (−3)

23-bit output 530f 0f

12-bit input 292d 4 (7680)d 46.51 (−4) 3.88 (−4) 105.41% (−4)

12-bit coeffs. 574e 8 (896)e 63.69 (−3) 5.31 (−3) 84.93% (−3)

27-bit output 630f 0f

14-bit input 320d 4 (7680)d 43.47 (−4) 3.11 (−4) 156.27% (−4)

12-bit coeffs. 630e 8 (1024)e 58.13 (−3) 4.15 (−3) 136.63% (−3)

29-bit output 694f 0f

aArchitectures RNS-DA shown in Figs. 5 and 9.bArchitectures RNS-DA shown in Figs. 6 and 7.cArchitectures RNS-DA shown in Figs. 6 and 7 synthesized without using EABs.dArchitectures 2C-DA shown in Fig. 1 or the 2C design of Fig. 9.eArchitectures 2C-DA shown in Figs. 2 and 3.fArchitectures 2C-DA shown in Figs. 2 and 3 synthesized without using EABs.

where �j,eg,h(l) and �

j,og,h(l) are defined as:

�j,eg,h(l) =

∣∣∣∣∣N/2−1∑

k=0

[g2k a(i−1)

m−12 −k,l

+ h2k d (i−1)m−1

2 −k,l

]∣∣∣∣∣mj

(26)

�j,og,h(l) =

∣∣∣∣∣N/2−1∑

k=0

[h2k+1d (i−1)

m2 −k,l + g2k+1a(i−1)

m2 −k,l

]∣∣∣∣∣mj

which can be stored in two 2N × nj LUTs. Both areaddressed by the N -bit vector involving N /2 input

samples of each input sequence {a(i)m/2, a(i)

m/2−1, . . . ,

a(i)m/2−N/2+1, d (i)

m/2, d (i)m/2−1, . . . , d (i)

m/2−N/2+1} (m even).In addition, two consecutive samples of the output se-quence are computed concurrently. Figure 9 shows thisnew RNS-DA architecture for the i th-octave recon-struction filter bank. Note that this architecture requiresonly two scaled modulo mj accumulators and half theEAB resources of the previous approach, as shown inTable 3. Since only two CSA-based modulo accumu-lators are required for the new architecture, the totalnumber of LEs needed is reduced by almost 50%.

Page 14: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

184 Ramırez et al.

Figure 8. Overall 1-D DWT throughput of different input precision configurations.

Figure 9. Architecture with only two scaled accumulator for the octave-i synthesis filter bank.

Page 15: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 185

7. Parallel RNS-DA DWT Architectures

The original DA paradigm, disclosed by Peled andLiu [5], considered a number of versions of thebasic architecture. The DA architecture presented inEq. (10), requires a minimum number of LUTs. At theother extreme, Peled and Lui proposed a multi-LUTarchitecture designed for speed. Maximum throughputfor a 2C-DA would occur if, in Eq. (10), every oneof the Bi -bit locations had a dedicated LUT. Sucha design contains Bi copies of the four 2N/2 × W ′

LUT groups shown in Fig. 2. The RNS-DA, however,provides a different opportunity. The computationof Eq. (18) can be implemented with a multi-LUTarchitecture, specifically in terms of 2nj 2N ×nj LUTsimplementing the functions |2l�

jg|mj and |2l�

jh |mj for

l = 0, 1, . . . , nj − 1. The address of the lth LUT con-sists of the l-th bit of N buffered signal samples. Theoutput sequences, |a(i)

n |mj and |d (i)n |mj , are computed

by adding nj LUT outcomes per cycle by means of thepipelined modulo mj adder [21] tree shown in Fig. 10.The computation of the i th-octave reconstruction(synthesis) filter bank can also be carried out by usingthe parallel polyphase RNS-DA design shown inFig. 11. This is achieved by using 4nj 2N/2 × nj LUTsto implements the function |2l�

j,eg |mj , |2l�

j,og |mj ,

|2l�j,eh |mj and |2l�

j,eh |mj , for l = 0, 1, . . . , nj − 1. The

lth LUT address consists of the lth bits of N /2 bufferedsamples of |a(i)

n |mj (|d (i)n |mj ). Finally, the sequence

|a(i−1)m |mj can be computed by adding the LUT words

by means of a modulo mj adder tree as shown in

Figure 10. Parallel RNS-DA 1-D DWT architecture.

Table 4. Hardware requirements and throughput for 6-bit modulus8-tap parallel RNS-DA architectures over Altera FPL devices.

FLEX10K FLEX10KEParallel RNS-DA Speed grade Speed gradearchitecture −3 and −4 −1 and −3

Number of LEs 240 240

Number of EABs 2 × 6 6(memory bits) (2 × 6 × 28× 6) (6 × 28× 12)

Throughput for several speed 84.74 (−3) 135.13 (−1)grade devices (MHz) 68.96 (−4) 86.20 (−3)

Fig. 11. Note that in these instances, only a clock rateis required. Both the computation of the 1-D DWTand 1-D IDWT, using the fast parallel RNS-DA de-sign methodology, leads to a significant increase in thenumber of LUTs and adders. Table 4 summarizes theparallel architecture in the context of an 8-tap analy-sis filter bank. Table 5 shows hardware requirementsof recursive RNS-DA and parallel RNS-DA architec-tures for the 1-D DWT and its inverse when N -tapfilters are computed by means of K parallel �N/K �-tap sub-filters. For instance, a 16-tap filter bank forthe 1-D DWT would require two 216 × nj LUTs us-ing the normal RNS-DA design methodology or, inpolyphase form, using small 28 × nj LUTs by meansof 8-tap sub-filters. Thus, the proposed strategy effi-ciently reduces the LUT address space of these sys-tems by considering multiple RNS-DA units workingin parallel.

Page 16: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

186 Ramırez et al.

Figure 11. Parallel RNS-DA 1-D IDWT architecture.

8. Binary-to-RNS and RNS-to-BinaryConversion

A historical barrier to the use of the RNS at the system-level has been the overhead penalty associated withbinary-to-RNS and RNS-to-binary conversion. Binary-to-RNS conversion can be carried out efficiently onFPL devices by decomposing the 2C B-bit word, sayx , into a weighted sum of smaller words xi (e.g., 4-bit

Table 5. Hardware requirements of recursive RNS-DA and parallel RNS-DA architectures for the 1-D DWT and its inverse when N -tap filtersare computed by means of K DA subfilters.

i th -octave analysis filter bank i th-octave synthesis filter bank

LUTs LUT size mod mj adders mod mj accs. LUTs LUT size mod mj adders mod mj accs.

RNS-DA based 2K 2�N/K � × nj 2(K − 1) 2K a 4K 2�N/2K � × nj 2 + 4(K − 1) 4K a

Parallel RNS-DA 2Knj 2�N/K � × nj 2K (nj − 1) – 4Knj 2�N/2K � × nj 4K (nj − 1) –architecture +2(K − 1) +4(K − 1) + 2

aModified modulo mj accumulators.

words). Equation (27) exemplifies the case of a 4-bitdecomposition, namely:

|x |mj =∣∣∣∣∣−2B−1xB−1 +

B−2∑l=0

2l xl

∣∣∣∣∣mj

=∣∣∣∣∣−2B−1xB−1 +

p−1∑i=0

xi 24i

∣∣∣∣∣mj

(27)

Page 17: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 187

Table 6. FPL resource requirements for the binary-to-RNS and RNS-to-binary converters.

2C-to-RNS RNS-to-2C

Number of Number of EABs Number of Number of EABsModulus set LEs (memory bits) LEs (memory bits)

8-bit input {64, 63, 51, 59} 81 0 48 8 (8192)

10-bit coeffs. {32, 31, 29, 27, 25} 92 0 720 0

21-bit output

10-bit input {64, 63, 51, 59} 153 0 48 8 (8192)

10-bit coeffs. {32, 31, 29, 27, 25, 23} 184 0 812 0

23-bit output

12-bit input {64, 63, 51, 59, 55} 208 0 96 10 (10240)

12-bit coeffs. {32, 31, 29, 27, 25, 23} 200 0 812 0

27-bit output

14-bit input {64, 63, 51, 59, 55} 284 0 96 10 (10240)

12-bit coeffs. {32, 31, 29, 27, 25, 23} 244 0 812 0

29-bit output

requires only 24 × nj LUTs. Each can be efficientlymapped to nj LEs, and modulo mj adders as required.RNS-to-binary conversion implies the use of a CRT(Chinese Remainder Theorem)-based converter. Theuse of such a CRT-based converter is adequate for re-cursive RNS-DA DWT applications, since they do notdemand high output conversion data rates. However,CRT conversion can often be a barrier in certain ap-plications. The auto-scaling RNS-to-binary converter(ε-CRT) proposed by Griffin et al. [33] can overcomethese drawbacks by using a few LUTs and binary (mod-ulo 2n) adder. For a scaled n-bit binary output, and anj -bit modulus set, this converter needs one 2nj × nLUT for each modulus of the RNS and a n-bit addertree. This solution is more appropriate for most appli-cations demanding high data rates [22], including thepresented parallel RNS-DA DWT architecture. Imple-mentation data, using Altera FLEX10K devices, of the2C-to-RNS and RNS-to-2C converters are provided inTable 6 for 5- and 6-bit modulus sets. The design for the2C-to-RNS converter was derived from Eq. (27) whilethe ε-CRT algorithm with a 16-bit output was used forthe RNS-to-2C converter. The results showed that usinga 5-bit modulus set is not only optimum in the sense thatit requires less clock cycles to compute the recursiveRNS-DA equations, but it yields excellent performanceimprovements and enables the implementation of theconverters with no need of using FPL embedded mem-ory blocks. On the other hand, the operating frequencyof both converters was found to be even higher than

the sCLK frequency, so the high throughput of the pre-sented RNS-DA architectures was not degraded whenconverters were inserted in the system.

9. Conclusions

This paper considers the design and implementationof digital filters using an RNS-DA paradigm and FPLtechnology. To achieve a high level of performance anew CSA-based scaled modulo accumulator was de-veloped. With this, and other innovations, the RNS-DAarchitecture was shown to be well suited for integrat-ing DSP objects with FPL devices. To test the voracityof the proposed methodology, a DWT filter bank wasused as a standard. The exhaustive comparison of a 2C-DA and RNS-DA was carried out using commerciallyavailable FPL technology with the RNS-DA shownto be advantageous, especially for high-precision ap-plications. A DWT filterbank having a 14-bit input,designed by means of the reported RNS-DA method-ology, achieved a performance improvement over theequivalent 2C system of up to 156.27%, and with theconversion stage not degrading the throughput of theoverall system.

Acknowledgments

J. Ramırez, A. Garcıa, and A. Lloris were sup-ported by the Comision Interministerial de Ciencia y

Page 18: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

188 Ramırez et al.

Tecnologıa (Spain) under project PB98-1354. CADtools and supporting material were provided by Al-tera Corp., San Jose CA, under the Altera UniversityProgram. We would like to thank the anonymous re-viewers for their valuable comments and suggestionsthat contributed to enhance the material presented inthis paper.

References

1. D. Lautzenheiser, “Rapid Time to Production and ASICs Aren’tMutually Exclusive,” ISD Magazine, Nov. 1998.

2. C. Dick, “FPGAs: The High-End Alternative for DSP Applica-tions,” DSP Engineering, Spring 2000.

3. F. Taylor and J. Mellot, Hands-On Digital Signal Processing,New York: McGraw Hill, 1998.

4. F. Taylor, “An Analysis of the Distributed Arithmetic DigitalFilter,” IEEE Transactions on Acoustics, Speech and Signal Pro-cessing, vol. 34, no. 5, 1986, pp. 1165–1170.

5. S.A. White, “Applications of Distributed Arithmetic to DigitalSignal Processing: A Tutorial Review,” IEEE Acoustics, Speechand Signal Processing Magazine, 1989, pp. 4–19.

6. A. Peled and B. Liu, “A New Hardware Realization of Dig-ital Filters,” IEEE Transactions on Acoustics, Speech andSignal Processing, vol. ASSP-22, no. 6, 1974, pp. 456–462.

7. Altera Corp., Altera Digital Library, June 2000.8. Xilinx Inc., The Programmable Logic Data Book, 1999.9. M. Soderstrand, W. Jenkins, G.A. Jullien, and F.J. Taylor,

Residue Number System Arithmetic: Modern Applications inDigital Signal Processing, IEEE Press, 1986.

10. N.S. Szabo and R.I. Tanaka, Residue Arithmetic and its Ap-plications to Computer Technology, New York: McGraw-Hill,1967.

11. A. Garcıa, U. Meyer-Base, A. Lloris, and F. Taylor, “RNS Im-plementation of FIR Filters Based on Distributed ArithmeticUsing Field-Programmable Logic,” in Proc. of the 1999 IEEEInternational Symposium on Circuits and Systems, 1999, vol. 1,pp. 486–489.

12. V. Hamann and M. Sprachmann, “Fast Residual Arithmetic withFPGAs,” in Proc. of the Workshop on Design Methodologies forMicroelectronics, Slovakia, Sept. 1995.

13. H. Safiri, H. Ahamadi, G. Jullien, and V. Dimitrov, “Design andFPGA Implementation of Systolic FIR Filters Using the FermatALU,” in Proc. of the Asilomar Conference on Signals, Systemsand Computers, Pacific Grove, 1996.

14. E. Di Claudio, F. Piazza, and G. Orlandi, “Fast CombinationalRNS Processors for DSP Applications,” IEEE Transactions onComputers, 1995, pp. 624–633.

15. L. Maltar, F.M.G. Franca, V.C. Alves, and C.L. Amorim, “Im-plementation of RNS Addition and RNS Multiplication intoFPGAs,” in Proc. of the 6th Annual IEEE Symposium onField-Programmable Custom Computing Machines, April 1998,pp. 331–332.

16. U. Meyer-Base, J. Buros, W. Trautmann, and F. Taylor, “FastImplementation of Orthogonal Wavelet Filterbanks Using Field-Programmable Logic,” in Proc. of the 1999 IEEE International

Conference on Acoustics, Speech and Signal Processing, March1999, vol. 4, pp. 2119–2122.

17. J. Ramırez, A. Garcıa, P.G. Fernandez, L. Parrilla, and A.Lloris, “RNS-FPL Merged Architectures for the OrthogonalDWT,” Electronics Letters, vol. 36, no. 14, 2000, pp. 1198–1199.

18. J. Ramırez, A. Garcıa, P.G. Fernandez, L. Parrilla, and A.Lloris, “Analysis of RNS-FPL Synergy for High ThroughputDSP Applications: Discrete Wavelet Transform,” in Field Pro-grammable Logic: The Roadmap to Reconfigurable Comput-ing, R.W. Hartenstein and H. Gruenbacher (Eds), LNCS Series,Berlin: Springer Verlag, 2000, pp. 342–351.

19. J. Ramırez, A. Garcıa, P.G. Fernandez, and A. Lloris, “An Effi-cient RNS Architecture for the Computation of Discrete WaveletTransforms on Programmable Devices,” in Proc. of the X Eu-ropean Signal Processing Conference, Sept. 2000, pp. 255–258.

20. U. Meyer-Base, A. Garcıa, and F. Taylor, “Implementation of aCommunications Channelizer Using FPGAs and RNS Arith-metic,” Journal of VLSI Signal Processing, vol. 28, 2001,pp. 115–118.

21. A. Garcıa, U. Meyer-Base, and F.J. Taylor, “PipelinedHogenauer CIC Filters Using Field-Programmable Logic andResidue Number System,” in IEEE International Conferenceon Acoustics, Speech and Signal Processing, Seattle, WA, May1998, vol. 5, pp. 3085–3088.

22. J. Ramırez, A. Garcıa, P.G. Fernandez, L. Parrilla, and A. Lloris,“A New Architecture to Compute the Discrete Cosine TransformUsing the Quadratic Residue Number System,” in Proc. of the2000 International Symposium on Circuits and Systems, May2000, vol. 5, pp. 321–324.

23. G. Strang and T. Nguyen, Wavelets and Filter Banks. Wellesly-Cambridge Press, 1997.

24. M. Vetterli and J. Kovacevic, Wavelets and Subband Coding.Englewood Cliffs, NJ: Prentice Hall, 1995.

25. C. Chakrabarti and M. Vishwanath, “Efficient Realizations ofthe Discrete and Continuous Wavelet Transform: From SingleChip Implementations to Mappings on SIMD Array Comput-ers,” IEEE Transactions on Signal Processing, vol. 43, 1995,pp. 759–771.

26. F. Marino, “A “Double-Face” Bit-Serial Architecture for the 1-D Discrete Wavelet Transform,” IEEE Transactions on Circuitsand Systems II, vol. 47, no. 1, 2000, pp. 65–71.

27. J. Fridman and E.S. Manolakos, “Distributed Memory andControl VLSI Architectures for the 1-D Discrete WaveletTransform,” VLSI Signal Processing, vol. VII, 1994, pp. 388–397.

28. T.C. Denk and K.K. Parhi, “VLSI Architectures for LatticeStructure Based Orthogonal Discrete Wavelet Transforms,”IEEE Transactions on Circuits and Systems II, vol. 44, no. 2,1997, pp. 129–132.

29. K.K. Parhi and T. Nishitani, “VLSI Architectures for DiscreteWavelet Transforms,” IEEE Transactions on Very Large ScaleIntegration (VLSI) Systems, vol. 1, 1993, pp. 191–202.

30. M. Vishwanath, R.M. Owens, and M.J. Irwin, “VLSI Archi-tectures for the Discrete Wavelet Transform,” IEEE Transac-tions on Circuits and Systems II, vol. 42, no. 5, 1995, pp. 305–316.

31. F. Taylor, Digital Filter Design Handbook, Marcel Dekker,1983.

Page 19: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures 189

32. M. Dugdale, “VLSI Implementation of Residue Adders Basedon Binary adders”, IEEE Trans. on Circuits and Systems II, vol.39, no. 5, 1992, pp. 325–329.

33. M. Griffin, F.J. Taylor, and M. Sousa, “New Scaling Algorithmsfor the Chinese Remainder Theorem,” in Proc. of the 22nd Asilo-mar Conf. on Signals, Syst. and Comp., CA, 1988.

Javier Ramırez received the M.A.Sc. degree in Electronic Engi-neering in 1998, and the Ph.D degree in Electronic Enginnering in2001, all from the University of Granada. Since 2001, he is an Assis-tant professor at the Dept. of Electronics and Computer Technologyof the University of Granada (Spain). His research interest includesresidue number system arithmetic, high performance digital signalprocessing and FPGA and VLSI signal processing systems. He hasauthored more than 50 technical journal and conference papers inthese areas. He has served as reviewer for several international jour-nals and conferences. He is a member of IEEE, and a SP and C&SSociety [email protected]

Antonio Garcıa received the M.A.Sc. degree in Electronic Engi-neering (being awarded the Nation Best Academic Record) in 1995,the M.Sc. degree in Physics (majoring in Electronics) in 1997 andthe Ph.D. degree in Electronic Engineering in 1999, all from theUniversity of Granada (Spain). He was an Associate Professor at theDepartment of Computer Engineering of the Universidad Aut¢nomade Madrid before joining the Deparment of Electronics and ComputerTechnology at the University of Granada as an Associate Professor.His research interests include Residue Number System arithmetic,the application of RNS to high-performance digital signal processing,VLSI and FPL implementation of RNS-based systems and the use ofRNS for low-power VLSI systems. He has authored over 50 techni-cal papers in international journals and conferences and has servedas reviewer for several international journals and conferences. He isa member of IEEE and a C, C&S and SP Society [email protected]

Uwe Meyer-Base received his BSEE, MSEE, and Ph.D. “Summacum Laude” from the Darmstadt University of Technology in 1987,1989, and 1995, respectively. In 1994 and 95 he hold a post-doc posi-tion in the “Inst. of Brain Research” in Magdeburg. In 1996 and 1997he was a Visiting Professor at the University of Florida. From 1998to 2000 Dr. Meyer-Baese worked in the ASIC industry. He is nowa Professor in the Electrical and Computer Engineering Departmentat Florida State University. During his graduate studies he workedpart time for TEMIC, Siemens, Bosch, and Blaupunkt. He holds3 patents, has supervised more than 60 master thesis projects inthe DSP/FPGA area, and gave four lectures at the University ofDarmstadt in the DSP/FPGA area. He is author of three books in-cluding “Digital Signal Processing with Field Programmable GateArrays” and “Fast Digital Signal Processing” published by Springer-Verlag. He received in 1997 the Max-Kade Award in Neuroengineer-ing. Dr. Meyer-Baese is a IEEE, BME, SP and C&S society [email protected]

Fred J. Taylor received his BSEE degree from the Milwaukee Schoolof Engineering in 1965; MS and Ph.D. degrees form the Universityof Colorado in 1965 and 1969 respectfully. He was a Member ofthe Technical Staff of Texas Instruments Corp. (1969/70), held aca-demic positions at the University of Texas at El Paso (1970/75),University of Cincinnati (1975/83), and the University of Floridasince 1983, where he is currently a professor of Electrical and Com-puter Engineering (ECE) and Computer and Information ScienceEngineering (CISE). He has held other visiting academic appoint-ments at Southern Methodist University, CNAM (Paris), and THD(Darmstadt). He serves as a consultant to a number of Fortune 500companies as well as government agencies. He has authored tentextbooks, twelve-chapter contributions for handbooks in the fieldof signal processing and encyclopedias, and three U.S. patents. Dr.Taylor has also authored over 100 archived journal articles. He is theco-founder of the Athena Group inc. in 1986, a DSP semiconductorsilicon intellectual property company, where he now serves as theChairman of [email protected]

Page 20: Implementation of RNS-Based Distributed Arithmetic Discrete Wavelet Transform Architectures Using Field-Programmable Logic

190 Ramırez et al.

Antonio Lloris received the M.Sc. Degree and the Ph.D. degreefrom the Universidad Complutense (Madrid). He was at the Centro

de Investigaciones Tcnicas de Guip£zcoa (Spain) as a researcher and,as a lecturer, at the Escuela Tcnica Superior de Ingenieros Industrialesde San Sebastin. He was at the Universities of Malaga and Murcia(Spain). Now he is a Full Professor at the University of Granada(Spain). His research interest include multiple-value logic, testingof digital circuits and signal processing using the residue [email protected]