TDM BASED FIR FILTER
Introduction Digital signal processing (DSP) is a rapidly advancing
field. With
                   products increasing in complexity, designers face the
challenge of
                   selecting a solution with both flexibility and high
performance that can
                   meet fast time-to-market requirements. DSP processors
offer flexibility,
                   but they lack real-time performance, while application-
specific standard
                   products (ASSPs) and application-specific integrated
circuits (ASICs)
                   offer performance, but they are inflexible. Only
programmable logic
                 devices (PLDs) offer both flexibility and high
performance to meet
                 advanced design challenges.
                           Digital communications systems use FIR filters
              for a variety of functions,including waveform shaping, anti-
              aliasing, band selection,decimation/interpolation, and low
              pass filtering.
              The basic structure of a FIR filter consists of a series of
              multiplications followed by an addition.
              The following equation represents an FIR filter operation:
                 y(n) = x(n) ⊗ h(n)
                            L-1
                 y(n) = ∑x(n – i)h(i)
                          i=0
            where:
            x(n) represents the sequence of input samples
            h(n) represents the filter coefficients
            L is the number of filter taps
            A sample FIR filter with L=8 is shown in Figure
Time-Domain Multiplexed FIR Filters
A TDM FIR filter is clocked n-times faster than the sample rate in order
to
reuse the same hardware. Consider the 8-tap filter shown in above
Figure.
The TDM technique can be used with a TDM factor of 2, i.e., n = 2, to
implement this filter using only four multipliers, provided the filter is
clocked two times faster internally.
 Figure shows the implementation of an 8-tap TDM FIR filter (n=2) with
18 bits
of data and coefficient inputs. Because the input data needs to be
loaded
into the DSP block in parallel, a shift register chain is implemented
using
a combination of logic cells and the altshift_taps function. This shift
register is clocked with the same data sample rate (clock 1x ). The
filter
coefficients are stored in ROM and loaded into the DSP block in parallel
as well. Because the TDM factor is 2, both the ROM and DSP block are
clocked with clock 2x .
Figure above and Table show the coefficient loading schedule. For
example, during cycle 0, only the flip-flops corresponding to h(1), h(3),
h(5), and h(7) are enabled. This produces the temporary output, y0,
which
is stored in a flip-flop outside the DSP block. During cycle 1, only the
flip-
flops corresponding to h(0), h(2), h(4) and h(6) are enabled. This
produces
the temporary output, y1, which is added to y0 to produce the overall
output, y(n). The following shows what the overall output, y(n), equals:
y(n) = y0 + y1
y(n) = x(0)h(0) + x(n – 1)h(1) + x(n – 2)h(2) + x(n – 3)h(3)
       + x(n – 4)h(4) + x(n – 5)h(5) + x(n – 6)h(6) + x(n –
7)h(7)
Advantages of TDM-FIR filters
 1.    Straight forward conceptually and simple to implement.
 2.    TDM FIR filter is n-times faster than Basic FIR Filter.
 3.    Always stable.
 4.    Relatively insensitive to quantization.
 5.    They have linear phase (same time delay of all frequencies)
 6.