UPGRADE YOUR BROWSER

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# 61079

LogiCORE Fast Fourier Transform (FFT) v9.0 2014.1– Why do I get a mismatch in the LSB of output results between the C model and IP?

Description

There is a mismatch in the LSB of output results between the C model and IP.
 
There was a similar issue in versions 7.0/7.1/8.0 of the core.

Why am I experiencing this issue in FFT v9.0 in Vivado Design Suite 2014.1?
 

Solution

This mismatch occurs due to issues in the code used, not in the IP itself.
 
It happens when the C model is configured to perform a forward transform (FFT) and the IP testbench is configured to perform an inverse transform (IFFT) as in the example below:
 
In IP testbench, s_axis_config_tdata is tied to all-zeros, and s_axis_config_tvalid is tied High. 

As a result the IP core will always perform inverse transforms.

 
However, the C model wrapper  has inputs.direction = FFT_DIR_FORWARD; present, forcing the model to always do forward transforms.
 
Once these are made consistent, the C model behavior will match that of the IP core.
AR# 61079
Date Created 06/10/2014
Last Updated 01/05/2015
Status Active
Type General Article
Devices
  • Zynq-7000
Tools
  • Vivado Design Suite - 2014.1
IP
  • Fast Fourier Transform