FPGA Data Capture speed

2 views (last 30 days)
Jiri
Jiri on 22 Nov 2023
Commented: Jiri on 24 Nov 2023
Hello,
I make project with FPGA and I use Data Capture from extension HDL Verifier. I use FPGA Digilent Arty S7-25 and Digilent JTAG HS1. I need continuously transfer about 20Mbit audio data every second from FPGA to Matlab. Now I have created project according to the example "Stream Audio Signal from Intel FPGA Board Using Ready-to-Capture Signal" and JTAG freqvency is set to 30MHz. The problem is that even then it is not possible to transfer data to the computer at such a speed and this will cause FIFO memory overflow and data loss. I have simple Matlab code with step() function and for-cycle for repeated function call. I tried to measure the execution time of step() and one step() takes about 250ms, but I need call step() much faster. Are there some settings for Data Capture transfer speed or setting the speed of the step() function call or it is not possible to transfer data from FPGA to Matlab at such a speed?
Thanks for the reply.

Answers (1)

Tom Richter
Tom Richter on 24 Nov 2023
Hello Jiri,
This is quite an ambitious goal. The example "Stream Audio Signal from Intel FPGA Board Using Ready-to-Capture Signal" uses 12 bit at 50kHz if I read right. This means 600kbit per second. I doubt that you can really reach the 20Mbit even with 30MHz JTAG. Try to reduce the number of bits that you capture (e.g. drop LSBs). What audio application do you have for such a throughput? How many signals, bits, sampling rate?
Best regards,
Tom
  1 Comment
Jiri
Jiri on 24 Nov 2023
Hello Tom,
sampling rate is 48kHz and I have 16 signals from 16 microphones. One microphone produces 24 bits data. I am creating a spherical microphone array.
Best regards,
Jiri

Sign in to comment.

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!