We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 42727

LogiCORE FIR Compiler v6.1 - Why does the output shift channels when using a multi-channel, interpolate by 2, odd number of symetrical coefficients, with oversample rate of 3 with Block RAM selected for memory FIR Compiler implementation?


Why does the output shift channels when using a multi-channel,interpolate by 2, odd number of symmetrical coefficients, with oversample rate of 3 with Block RAM selected for memory FIR Compiler implementation?

What happens is that if you input the data on channel 1 and 2, then over time it will shift to channels 2 and 3, then a little while later, 3 and 4, and so on.

OverSample Rate = (Sample Period / Interpolation Rate, i.e. 6/2)


This bug affects the FIR Compiler v6.1 and v6.2 and will be fixed in the next release of the FIR Compiler.

There are multiple ways to work around it.

  1. Change the filter coefficients from Symmetrical to non-Symmetrical.
  2. Force Data Buffer Type to Distributed.
    - This is probably not ideal as it couldresult in very large DRAM that will have a low Fmax.
  3. Modify the Sample Period so that the oversample rate is something other then three. This may result in a few moreDSP48s and BRAM but does not contain the bug. As long as s_axis_data_tvalid is used to control the rate data is input into the core it will operate correctly;for example,the input sample peroid will still be controlled by the user to be the same as the original core parameter set.
    - Unfortunately, the input will be generated with a different output that may come out in blocks that may need to be buffered, depending on the application.
  4. Modify Number Channels and adjust the input sample period so that the oversample rate is no longer three. This will also use someextraDSP48s, but in most cases there is no increase in BRAM.
    - This option will also require the customer to de-mux their input stream into two 25 channel TDM streams. The output sample period will be unaffected as with option 3."

This problem has been fixed in the FIR Compiler v6.2 Rev2 patch. To obtain the patch, see (Xilinx Answer 42260).

Please see (Xilinx Answer 29138) for a detailed list of LogiCORE IP FIR Compiler Release Notes and Known Issues.

Linked Answer Records

Master Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
29138 LogiCORE IP Finite Impulse Response Compiler (FIR Compiler) - Release Notes and Known Issues N/A N/A
AR# 42727
Date Created 06/20/2011
Last Updated 12/15/2012
Status Active
Type General Article
  • FIR Compiler