Lattice Semiconductor Parallel FIR Filter User’s Guide
7
Figure 4. Timing for Multi-cycle (3 Cycles), Real or Complex-parallel Mode
Complex-serial Mode
The data and handshake signals for a typical complex-serial mode configuration (C = 3) are shown in Figure 5.
Every input data cycle has a real data cycle followed by an imaginary data cycle. Each of these real and imaginary
data cycles is C clock cycles wide. The irdy input signal must be asserted high during the first cycle of every input
data cycle.
The output data cycles also contain a real data cycle followed by an imaginary data cycle. The ordy output signal
goes high during the first clock cycle of every output real or imaginary data cycle. The real_out output signal
goes high during the first clock cycle of every output real data cycle.
Figure 5. Timing for Multi-cycle (3 Cycles), Complex-serial Mode
internal data
processing
irdy
clk
din
1
2
1
2
3
dout
1
ordy
2
x
x
clk
1
2
din 1r
1i
irdy
2
r 2i
3r
dout
ordy
1
r
1i
real_out
xxxx
internal data
processing
Lattice Semiconductor Parallel FIR Filter User’s Guide
8
Decimation
Decimation is downsampling of the data stream. In a simple decimation filter with decimation ratio ‘D’, every D
th
sample of the input is sent to the output. The danger with downsampling is that aliasing can occur if the input signal
is not band-limited to 1/D of the original bandwidth. Therefore, to prevent aliasing, it is necessary to do a lowpass
filtering before downsampling. The decimation filter implementation is, therefore, a cascade of a lowpass filter and
a downsampler. The implementation of this is similar to a normal FIR, except that D - 1 samples are skipped at the
output, after every valid output. The output data rate is 1/D
th
of the input rate. The arithmetic resources are reused
in this design, as it is not necessary to compute an output for every input sample.
The output signal, ordy, goes high during the first cycle of each data output. For, complex-serial mode, there is an
additional output, real_out, which goes high during the first cycle of every real part of the complex data.
The timing diagrams for two decimation filter implementations are shown in Figures 6 and 7.
Figure 6. Timing for Real or Complex-parallel, Decimation Mode (Ratio = 3)
Figure 7. Timing for Complex-serial, Decimation Mode (Ratio = 3)
Interpolation
Interpolation is the reverse process of decimation. In this mode, the data is upsampled. For an interpolation ratio U,
U - 1 ‘zeros’ are introduced between any two consecutive samples and the resulting expanded stream is passed
through a lowpass filter. The operational environment of an interpolation filter is similar to a regular FIR filter, except
clk
din
1
2
3
4
5
6 7
1
4
internal data
processing
dout
1
ordy
4x
x
internal data
processing
clk
1
4
din
1r 1i
2r
2i 3r
3i
4r 4i
irdy
5r
5i
6r 6i
7r 7i
7
x
dout
ordy
1r
1i
real_out
4r
xx
x
Lattice Semiconductor Parallel FIR Filter User’s Guide
9
the input data rate is reduced by ‘U’ and 0’s are introduced in the taps. The timing diagrams for two Interpolation Fil-
ter implementations are shown in Figures 8 and 9.
Figure 8. Timing for Real or Complex-parallel, Interpolation Mode (Ratio = 3)
Figure 9. Timing for Complex-serial, Interpolation Mode (Ratio = 3)
Output Scaling and Rounding
When the user defined output width (OW) of the filter is less than the full output width of the filter (OFW), the out-
puts are scaled using a rounding scheme that is based on the parameter “rounding method”. If the rounding
method is defined as “truncation”, the least significant OFW-OW bits are simply discarded and the most significant
OW bits are retained in the output. If the rounding method is selected to be “nearest”, the most significant OW bits
are retained and they are rounded based on the value of the least significant bits that are discarded. Truncation
takes the value to the next step towards minus infinity and rounding nearest takes the value to the nearest step in
either direction.
Table 3 illustrates the output scaling and rounding for two numbers using integer, fixed point, signed and unsigned
representations. In the example, the full output width (OFW) is 8 and the desired output width (OW) is 6. Output
scaling in this case is equivalent to a division by 4.
clk
din
1 2 3
1a
1c
2a 2b 2c
internal data
processing
x
dout
1a
1b
1c
2a
2b 2c
x
x
x
1b 3a
clk
din
1r
1i
irdy
2r 2i
3r
1a
1b 1c 2b
2a
dout
1ar 1ai
1br
1bi
1cr
1ci
2ar
2ai
x
xxx
x
x
real_out
internal data
processing

FIR-PARA-XP-N1

Mfr. #:
Manufacturer:
Lattice
Description:
Development Software FIR Filter Parallel
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet