DSP HDL Toolbox FFT Throughput
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kevin
am 27 Sep. 2023
Kommentiert: Bharath Venkataraman
am 6 Okt. 2023
I am trying to determine the throughput of the DSP HDL Toolbox FFT that uses Streaming Radix-2^2 architecture.
My FFT is 1024 point and the input vector size is 64 (max value). The latency on the block says its 84 and my clock is running at 333 MHz.
How does the FFT deal with the number of samples (requires 1024 for 1024 pt fft?) and what would the overall throughput of my system be?
0 Kommentare
Akzeptierte Antwort
Bharath Venkataraman
am 27 Sep. 2023
Bearbeitet: Bharath Venkataraman
am 2 Okt. 2023
I would recommend synthesizing the design to make sure that your constraints of 333MHz are met. Assuming that is the case, you are able to process 64 samples at 333MHz, so your throughput is 333MHz*64 samples/clock = 21.312Gsps. If this throughput is higher than what you need, I would suggest reducing the input vector size to reduce the area of the design (as well as its power).
While there is a latency of 84 clocks, the FFT itself accepts data every clock cycle. The blocks assumes that frame is formed by samples fed in over 16 clock cycles since you are feeding in 64 samples at a time (64*16=1024).
2 Kommentare
Bharath Venkataraman
am 6 Okt. 2023
You are correct that the Burst Radix-2 architecture takes a longer time to process the data with the benefit of using far fewer resources (1 butterfly). In this case, assuming the same frequency (333 MHz), you are able to process 1024 samples in 1024 + 5811 = 6835 clocks, so your throughput is 333 MHz * 1024/6835 = 49 Msps.
Note that you can use the Streaming architecture but feed it fewer samples per clock. Running the streaming architecture at 333 MHz sending in one sample at a time gives you a throughput of 333 Msps. You can of course pass in 2, 4, 8,16, 32 or 64 samples per clock to increase the throughput. For example, sending in 2 samples per clock into the streaming architecture gets you 333 MHz * 2 = 666 Msps.
To conclude, you can go anywhere between 49 Msps to 21.3 Gsps using the appropriate architecture and sending in the right amount of data in.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu HDL Code Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!