I am working with the FIR II IP core and set up the core to have two coefficient banks.
The address space generated by qsys in contiguous and accommodates all required coefficients.
In my particular case I selected the symmetrical FIR, which means that only CEIL(num_of_taps) should be written into coefficient bank.
The tool does not properly generate the address width when the number of the required coefficients are a power of 2 plus one.
In the files in attachment I write down few banks examples, namely for the 17 / 33 / 19 taps cases.
Where only the 19 taps generates the correct coefficient address width.
How to reproduce:
Please open the fir_tdm.qsys file in Quartus 17.0 and load the coefficients from the "debug_coeff.txt" file (un/comment to test the various tap cases).
Hint for developers:
The formula the address width should be based on should be: