Automatic implementation of FIR filters on field programmable gate arrays
read more
Citations
Programmable logic device with cascading DSP slices
Arithmetic circuit with multiplexed addend inputs
Applications of cascading DSP slices
Narrow-band filter including sigma-delta modulator implemented in a programmable logic device
Digital signal processing circuit having a pattern circuit for determining termination conditions
References
VLSI Array processors
VLSI array processors
FIR filter design over a discrete powers-of-two coefficient space
VLSI and Modern Signal Processing
Design of cascade form FIR filters with discrete valued coefficients
Related Papers (5)
Frequently Asked Questions (15)
Q2. What are the hardware requirements for a tap with Bd input datapath bits andBi?
The hardware requirements for a tap with Bd input datapath bits andBi intermediate accumulation path bits are then 2Bi full adders and a minimum of 2Bi flip-flops.
Q3. How many input data bits were used for each example?
An input data word size of 10 bits was used for all the examples; the 22 rows provide sufficient intermediate word width protection against overflow.
Q4. How many bits can be accomodated in the XC3195?
With the Xilinx XC3195, which has an array of 22 by 22 (484) CLBs, the maximum intermediate wordlength that can be accomodated is 22 bits.
Q5. What is the purpose of this paper?
In this paper, the authors present an improved filter tap structure and several mapping techniques which were used to increase the sampling rate.
Q6. Why is the Xilinx APR program so critical?
Due to the limited availability of global and local routing resources, placement of Configurable Logic Blocks (CLBs) and routing of nets are very critical in any FPGA design.
Q7. How long did it take to complete the placement and routing?
For instance, when APR was given full freedom of placement for all of the 22 x 22array of CLBs for a 11 tap filter, it took 9 hours 2 minutes and 27 secs on a Sun SPARCstation–2 for the completion of placement and routing.
Q8. How many power-of-two terms can be used for each coefficient value?
It was demonstrated in [4] that an FIR filter with -60dB of frequency response ripple magnitude can be realized using two power-of-two terms for each coefficient value.
Q9. How long does it take to implement an APR?
The Automatic Place and Route (APR) program typically requires 10 - 15 minutes for routing this type of FIR filter implementation.
Q10. What is the description of the FIR filter architecture?
An efficient FIR filter architecture suitable for Field Programmable Gate Arrays (FPGA), which requires the coefficients to be a sum or difference of two powerof-two terms was discussed in [1].
Q11. How many terms are used in the design of a FIR filter?
In order to obtain good performance using a small number of such terms, the number of power-of-two terms used in approximating each coefficient value, the architecture of the filter, and the optimization technique used to derive the discrete space coefficient values must be carefully selected.
Q12. How can The authorimplement the final adder stage in the XC4000 series?
It is possible to implement the final adder stage in the XC4000 series of FPGAs, however, by virtue of the fast carry logic supported by these devices.
Q13. What is the use of a carry-save technique?
The sum and carry signals from the full adders are pipelined using a carry-save addition (CSA) technique in order to increase the sampling rate and alleviate potential routing delays.
Q14. What is the purpose of the MILP3 program?
Given the frequency specifications, MILP3, written by Y.C. Lim [5] is used to obtain a continuous solution (which assumes infinite precision coefficient values).
Q15. What are the reasons why the APR program cannot be used to provide 100% placement?
The Automatic Place and Route (APR) program provided by Xilinx cannot be used to provide 100% placement for the following reasons.