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!

Showing results for 
Search instead for 
Did you mean: 
Participant diegosantibanez
Registered: ‎07-25-2017

Xilinx xfft v9.1 error

Hello guys.

I come to ask for some help, because something is driving me crazy.

I have been trying to configure an xfft block on a Zynq Ultrascale+.

I did a quick SW test to verify everythig works fine, and to understand how config params are sent via AXI_S.

Everything is apparently working.

I configured the block with this params:

- 1 Channel

- Transform Length 4096

- TCF - 250 MHz

- Pipelined, Streaming I/O

- Run Time COnfiguration Transform Length

- Data Format: Fixed Point

- Scaled

- Truncation

- I: 16 bits, Q: 16 bits

- Natural Order

- Real Time

- 5 Stages using BR for Data and Phase Factors.

And my truncation values (AXIS Config) is [0 0 0 1 1 1] -> (Nfft = 2^12)



So trying with this config (And many others), I have been comparing xfft Xilinx block, matlab fft() and xfft C Model, and these are the results:


My testing signal is a simple real tone (A*sin(wt)), and as you can see, lower freqs using the xfft block are a mess and completely unnacceptable for my purpose.

Not only assymmetrical, but different between C Model and xfft RTL block.


Any idea of what could be causing this, lets say, "thing"?


Any idea is appreciated. Thanks!





0 Kudos
2 Replies
Registered: ‎12-16-2018

Re: Xilinx xfft v9.1 error


Can you share the design? Is very useful include the version of Matlab and Xilinx tools that you are using.

0 Kudos
Participant diegosantibanez
Registered: ‎07-25-2017

Re: Xilinx xfft v9.1 error

The design for this test is nothing but the xfft block and 2 dmas to get dataout and into the zynq.

Matlab 2018b

Vivado 2018.2


It seems to be a problem with pipeline truncation. Apparently not every trunc value is allowed.

If I set trunc values to [2 2 2 2 2 2], mistaken values are reduced down to -80 dBm.

I guess it's enough, but any other truncation value gets this error :/



0 Kudos