Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

FFT Megacore source_error problem

Hi, I am working on implementing the FFT megacore in my project and I am seeing a problem with the source_error. Here is the info on my FFT:

Burst Architecture

Single Output Engine

Transform Length of 8192

Data Precision of 16 bits

Twiddle Precision of 16 bits

Targeting the Cyclone IV

Here are my problem:

I assert sink_sop, sink_valid, I start transferring data to the FFT and then 8192 clock cycles later (8192 because that is my transform length) I assert the sink_eop.

One clock later, the source_eop got assert and I am getting source_error message 10(Missing EOP) and one clock later source_error message 01 (Missing SOP).

So my question is, what am I doing wrong?

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Hi, I am working on implementing the FFT megacore in my project and I am seeing a problem with the source_error. Here is the info on my FFT:

    Here are my problem:

    I assert sink_sop, sink_valid, I start transferring data to the FFT and then 8192 clock cycles later (8192 because that is my transform length) I assert the sink_eop.

    One clock later, the source_eop got assert and I am getting source_error message 10(Missing EOP) and one clock later source_error message 01 (Missing SOP).

    So my question is, what am I doing wrong?

    --- Quote End ---

    You are probably 1 cycle too late on your EOP signal. Try moving it ahead by one clock and see if it works.

    Pete
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    When assert the SOP and valid signals together, it determine the first sample data is appeared in data signals, when assert the EOP and valid signals together, it determine the last sample appear at data signals. Please ensure there are 8192 data sample available, where the first one and last one are align with SOP and EOP.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Well, thanks for your answers.

    You have been right Pete, the problem came from 1 cycle too late on the EOP signal.

    But now, I have another problem.

    Indeed, I don't have any more source_error, actually, there isn't any activity on any source_signal. Even 2.5 ms after the last data being transferred.

    So do you know what is wrong now?

    Hope to read you soon.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Do you have your source ready = 1'b1?

    That would cause what you are seeing.

    Pete
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Yes, this signal always is at '1'.

    I'm wondering if the problem can come from the fact I have no output buffer (only input buffer to load the data but no output buffer to load the results).

    This's because I want to know if everything is alright with my input design before coding the rest of my design.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If you are running RTL Simulation this shouldn't matter. But if you are running a gate level simulation, if you do not have the outputs connected to something in the design, they will get optimized out.

    If you are just running RTL Simulation, try running more than one set of data into the FFT core.

    Pete