Jump to content

FPGA FFT Not Returning Complete Data Set


AlexA

Recommended Posts

Hi Guys,

I currently have an issue where I'm feeding a relativeley large data set into the FPGA FFT (524288 points) which are computed as 512 1024 sample length transforms (rows of image data).

Despite receiving the correct number of valid inputs (I've checked), the FPGA only returns 522240 points (it's two rows short), can anyone illuminate why this is happening?

The code snippet is shown below.

gallery_16778_60_67956.png

Link to comment

On first glances there are two sections of the code I would want to double check the logic of, not sure if its wrong, but looks like a potential source of data loss.

One is where you and output valid of the FFT with less than 512. I am not sure exactly what this is doing yet but if those two disagree then data would be lost.

I am also trying to work out your logic for writing to the Frequency Spectrum FIFO. It looks like you are enabling everything off ready for output rather than output valid. Typically I would check first for Number of Elements to Write for the queue and use that as the ready for output flag.

EDIT: I think I see what you are doing now and it looks like it should work but the counts will tell you.

I guess your Valid FFT Out vs Elements loaded vs Valid outputs counts should suggest which of those is the problem.

Link to comment
  • 2 weeks later...

So for anyone that's interested. The FFT will not finish a computation when input valid goes false, even if it has previously received the correct amount of data points to do so. I'm not sure why this decision was made, and frankly find it to be more than a little stupid but that was the reason for my problem.

Link to comment
  • 1 year later...

Just to bump this, because I happened to run up against the same problem (which I had forgotten about).


I can't believe the FPGA IP was written in such a way that it would leave computations half finished. Now I have to hack up some sort of stupid counter logic to ensure all the data gets processed.

Link to comment

I can't edit, but I've since found out that the issue was because for a computation to complete without a continuous stream of data equal to or greater in length than the FFT latency, the Throughput can not be 1. Which incidentally, cripples the rate of computation.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.