cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
diegosantibanez
Participant
Participant
716 Views
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:

FFT_error.jpg

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!

Diego.

 

 

 

0 Kudos
2 Replies
fernandovives
Adventurer
Adventurer
670 Views
Registered: ‎12-16-2018

Hi

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

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

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 :/

 

Diego.

0 Kudos