UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
335 Views
Registered: ‎10-09-2019

Multichannel FFT IP Simultaneous input loading in simulation issues

Hello,

I'm simulating the FFT IP to see the results(timing, accuracy) against a custom ADC data in Vivado. I was successful in simulating and verifying the results for 256-FFT for single channel. I want to simulate 128 channels (that would mean almost 11 IP blocks with 12 channels on each) but according to my understanding, I can either have 128 files, each with 256 points that I can feed in the channels simultaneously. Or I can cook up an intricate method involving, fgets, fseek and sscanf(or maybe more) to read each 256 point "frame" from one file to 128 registers. That would still require me to declare and define 128 registers manually. 
Is there an easier way to do it? Or am I using the wrong tool and I should use another tool instead? (Vivado HLS or SDK)

Another question is if I push a single file having 128 rows of 256 samples one frame at a time, the simulation window suggests that I have one extra sample in my file which is causing the core to raise event_input_channel_halt after the last sample of the file. If I delete one sample from my file, it runs without raising any error interrupts. I think it's the issue of indexing but the first sample is loading first and the last sample of the file is being loaded last into the frame. I don't have a handle yet on why it is behaving this way. Where is the extra sample coming from? 

Appreciate any and all help and suggestions. Thank you. 

Tags (3)
0 Kudos
4 Replies
Moderator
Moderator
252 Views
Registered: ‎08-01-2007

回复: Multichannel FFT IP Simultaneous input loading in simulation issues

FFT IP can be configured to maximum 12 channels, which is on burst I/O acch only.

The multichannel on a single FFT IP is a sequential concept, if the single FFT IP runs at 120MHz clock frequency, and the IP is set to 12 channels, the input throughput of each channel is 120/12=10 MHz.

You can also create multiple FFT IPs with each IP set to one channel only, for example if you instantiate 2 FFT IPs, each IP is configured with one channel only, the overall input throughput of 2 FFT IPs is 120 * 2 = 240MHz assuming the FFT IP runs at 120MHz.

209 Views
Registered: ‎10-09-2019

回复: Multichannel FFT IP Simultaneous input loading in simulation issues

Hi nathanx,

I can understand the input frequency being divided into multiple channels but I'm not sure I follow your second comment. If I have 2 FFT blocks with single-channel on both of them, wouldn't my overall input channel throughput be just 120 instead of 240 MHz? I'm talking about when the two blocks are taking data in parallel as shown. fft_blocks.PNG

In any case, multichannel is not the path to go for me. I'm trying to implement 2D FFT on the Zynq Ultrascale+ ZCU102 board and I ran a synthesis and implementation for 1 block of FFT and 2 blocks of FFT as shown.


FFT_resource_util_single_channel.PNGResource numbers for single block

FFT_resource_util_2_blocks.PNGResource numbers for 2 blocks

Now, we can see that for 2 blocks, the resources numbers increases by 2. Going by these numbers I cannot have more than 2 FFT blocks in my FPGA operating simultaneously. Even if I ignore the IO utilization percentages, the DSP utilization percentages won't let me go to do 256 blocks simultaneously. 
The reason I want to instantiate 256 blocks of FFT IP is that I want to process the incoming data simultaneously and not one after the other. That's why I chose multichannel because it would reduce the numbers of blocks by a huge margin but from your comment, the low throughput is a deal-breaker. Processing multiple 256 point frames sequentially would be a lot slower than processing all the 256 point frames at once. Am I missing something? Is there a better way to implement 2D FFT?

0 Kudos
165 Views
Registered: ‎10-09-2019

Multichannel FFT IP Simultaneous input loading in simulation issues

Any tips?

0 Kudos
Moderator
Moderator
131 Views
Registered: ‎08-01-2007

回复: Multichannel FFT IP Simultaneous input loading in simulation issues

For the second statement, I just say the throughput is enhanced to 240MHz = 240Mbps. Hope this is clear for you.

0 Kudos