Altera_Forum
Honored Contributor
15 years agoImplement FFT in parallel
Hello,
I have a question about the implementation of FFT in parallel. In the system, I have one main clock, let's call it Fsys. I have several data streams, with a lower rate than Fsys. So the idea is to use a clock with a lower frequency for the FFT also (else I would need to put a memory before the FFTs). The data streams are all at the same rate but the packets are shifted by one Fsys cycle, as shown in the joined picture. To respect the diagram presented in the FFT user Guide (i.e data changing only on rising edge of FFT clock), I should provide to each FFT its own control signals (clock, start of packet, end of packet, cf top of joined picture). The problem with this is that the number of FFTs to implement would be about 30/40. So I don't think it is possible to generate such number of clock with PLLs, and I will have problem with timing if I generate one clock with a PLL and then use flip-flops for the others. Another idea is to share the control signals between all the FFT as shown at the bottom of the joined picture. For me, this should work fine since all the signals are synchronized with Fsys and I should not have problem of timing. But I would like to have the opinion of others about this way to do, if is good or not, since I don't respect anymore the diagram in the FFT user guide. The joined picture shows an example with the two methods, for a 4 points-FFT with a data rate 4 times lower than the main clock. If there are some elements not clear, tell, I will explain better/differently. Thanks in advance. Jérôme