FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6356 Discussions

FFT v7.2 - lack of true burst capability

Altera_Forum
Honored Contributor II
1,246 Views

It seems like FFT version 7.2 does not have implement a true "burst."  

 

When the core receives the first frame, sink_ready still stays high. In fact sink_ready does not go low until the core receives a couple more data from the next subsequent frame. The user guide also shows this behavior. If you are like me, this will probably not work out for me (especially if you need a true frame-in-frame-out type of operation). 

 

If the above sounds familiar to you, then you might want to give variable streaming a try. I have been able to use it in a burst-like fashion, by carefully controlling the input/output signals: 

- At the end of the frame (following the sink_eop pulse), set sink_valid low. 

- Keep sink_valid low until the frame is processed and delivered at the output source side. 

- Then set sink_valid high and send in the subsequent frame at the same time. 

 

I have a rough DSP Builder example (with a Verilog state machine), which demonstrates this. Hope you find it useful. Here are the instruction: 

- Regenerate the megacore 

- Place fft_control_unit.v at the same level as the .mdl file and recompile the HDL in Simulink.
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
462 Views

It seems like the latency is about 3.5 frames worth (from input to output). However, another way (probably a much better way) to build the state machine is to keep track of the source_eop signal. Upon receiving source_eop, then start inputting the next frame (in the following cycle). I have tested it out in Matlab (using the embedded MATLAB blocks).

0 Kudos
Reply