Showing results for 
Search instead for 
Did you mean: 
Registered: ‎09-15-2010

FIR Compiler v6.1



I wanted to make some clarifications regarding the new FIR Compiler v6.1. I was using FIR Compiler 5.0 previously, but wasn't able to get the reloadable coefficients working, so I'm giving 6.1 a try. What I'm trying to do is to set up an FIR filter to act as a bandpass filter. I have all the filter coefficients I need, but through external software, where the user can choose to change the filter, I'd like to signal to the FPGA to consequently load the new set of coefficients.


In FIR Compiler 6.1, there is a new field where you can put a "reloadable coefficient file". From what I understand, I can put multiple filters here and then use the filter select in the CONFIG channel to load them to the filter. It generates .mif files which I'm guessing allow the filter to load the new coefficients immediately? Is it correct that I would set the CONFIG_TDATA signal to specify which filter I'd like to select. For example if I have two sets of coefficents in a .coe file, it would output rld_0.mif and a rld_1.mif. If I wanted to use the first set of coefficients, I would set CONFIG_TDATA to be "x0000" and otherwise, "x0001"? I would be satisfied with this if there weren't the reload channel signals to worry about. The documentation doesn't seem to have much regarding this file, so I wanted to make sure my assumption is correct. The documentation, however, refers to a configuration packet which is supposed to signal a reload, however it never specifies what a configuration packet is and its format, unless they are referring to log2roundip(NUM_FILTS). It would be useful if there was a good timing diagram.


Are there any example designs that I could work from?


Thanks in advance for the help.





0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎08-01-2007

Re: FIR Compiler v6.1

Both the FIR Compiler v5.0 and v6.x versions support multiple coefficent sets.


This is in addition to the reloadable coefficent interface.


The way this works is that user creates a single COE file that cascades the differnt sets together.

Set 1: 1,2,3,4,5

Set 2 10,20,30,40, 50


COE 1,2,3,4,5,10,20,30,40,50


Then the the user needs to select the number of sets in the CORE Generotor GUI.  This will enable to select port and you can then switch between coefficent sets.


This is the easiest way to do multiple coefs if they are static, but it does cost a bit more in memory storrage.  If you do the reloadable interface you can store the coefs off chip and load them when needed.

Video Design Hub | Embedded SW Support

Don’t forget to Reply, Kudo, and Accept as Solution.
0 Kudos