FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6402 Discussions

CIC MegaCore: Variable vs Fized rate decimation discrepency

Honored Contributor II



I have been having some trouble with the CIC megafunction. 


I have instantiated two CIC megafunctions with the following identical parameters: 

- Target : Stratix IV 

- Filter Type: Decimator 

- Number of stages: 10 

- Differential Delay: 1 

- Number of interfaces: 8 

- Number of channels per interface: 1 

- Differentiator Storage: Logic Element 

- Input data width: 16 

- Full output resolution 

and the following differences: 

- One with fixed rate change factor of 8 

- One with a variable rate change factor with minimum 8 and maximum 21 


These were generated with both Quartus 12.0 and 12.1sp1, with the same result/problem. 


My testbench connects the the rate input of the variable rate CIC to a constant 8.  


I have connected all 8 input interfaces of both the fixed and variable rate CICs to the same source. I therefore expect the same results from all 8 output channels respective CICs (read sequentially from data output port, demuxed using the cic channel output), not identical between different CICs since output resolution differs between the fixed and var rate instances. 


I have seen that the fixed rate CIC's output is identical for all 8 output channels, as expected (constant data output between each SOP and EOP). 

With the variable rate CIC output, the last channel's data is skewed, ie channel 7's data is different than that of channels 0 to 6, which is the problem. 


I have also noted one clock extra latency for the variable rate CIC, which is not an issue but worth mentioning as one of the discrepancies. 


I have picked up the problem in my actual implementation, where each odd number channels is used for I data, and even numbers are used for Q data of 4 data streams. The last data stream would have skewed I/Q values which messes up the FFT output further down the line.... 


Anyone ever seen this? Any help would be appreciated. 

(note that I have tried different combinations of some of the common CIC parameters, not of which seem to make any difference to this problem...)
0 Kudos
0 Replies