09-15-2010 12:40 PM
I'm new to the ISE design suite and FIR compiler. I am currently using the ISE 12.1 and FIR compiler 5.0. I figured out how to add an FIR compiler as a source to my existing project. My end goal is to apply one filter to the incoming data and afterwards apply a hilbert transform. Is it possible to for me to specify what order the filters are applied?
As well, I am curious for future development, whether or not I can change the filter settings without having to recompile the entire project? Or will I have to use flash memory on the board to access different preset configurations with different filters?
Thanks in advance for the help!
09-15-2010 02:02 PM
The order of the FIR filter is determined by the number of coefficients you provide during the core generation. You can make the coefficient loadable so that you can change the coefficients on the fly after you download the design to the FPGA. But you can't change the order of the filter.
09-16-2010 06:48 AM - edited 09-16-2010 06:48 AM
Thanks Jim for the reply! Just had a few other questions in response to your reply.
How do you change between sets of coefficients? I noticed that there is the option for reloadable coefficients and the option to split up the coefficients file.
As a followup question, I was also wondering if it's possible to apply different forms of filters? I'd like to have a configuration that will allow me to apply a filter and then a Hilbert transform. Is there a way of doing that without adding two separate filters? And if not, and two filters are required, how can you control the order in which they are applied to the data?
12-05-2010 10:35 PM
FIR Compiler core has an input port FILT_SEL to select different coefficient set if you have multiplier coeffificients set in one COE file, you can also reload new cofficients via reloading interface.
06-10-2011 01:58 PM
I tried to implement this FILT_SEL. My coe file has two sets of coefficents one right after the other. If I wanted to switch between the two sets, I wouldn't need to use the reloading interface, correct? I would simply set FILT_SEL to the set I want. How are the sets differentiated by the filter select? Are they numbered 0 to N? And if I wanted to set the filter to the second set, I would have to pass in FILT_SEL = 1? Also, is there any delay to the use of a new filter? I want to be able to change the filters as the data continues to come in. I also tried to use the COEF_FILT_SEL port, but had trouble with that as well. If anyone can help me, I would really appreciate it.