Post Go back to editing

Is the analog's hdl framework fine for my application?

Hi,

I am preparing for my master thesis, I have the following task and need your advice if it is possible to me to use the analog tools and hdl framework.

My task is to record data with an 1GSample, 200MHz bandwidth and 12 Bit ADC (1 Chanel ). For this I want to use the AD9234 ADC. I need to capture the waveforms for 20 uS after triggering, this gives me  240KBit of data. I need to do this 500 to 1000 times and have to average the waveforms, still need to store 1000 waveforms which gives me 240 Mbit data. After capturing the data I want to make some post processing using python, qt or Matlab.

My first Idea was to build this system using the analog hdl framework from GitHub. Analog provides most IPs as I understood. Also a JESD204b for communication, which is free to use when I make my software open right ? And normally I have to pay for the JESD204 IP ?

The design should be based on Industrial IO and should use a Xilinx Zynq-7000 FPGA. As I understood, the Analog designs using an DDR for the Processing Logic (PL) to capture the data from the ADC and use some magic to make this accessible to the processing system and linux, is this correct? How is this performed ?

I started by testing the task with an ADS7V2 and AD9680 evaluation boards, which works fine when recording the data. However, I want to build a own system for performing my task, is this possible to me to use the analog hdl repo or do I have to implement my own hdl description?

What would by a simple way to build a system, which is recording / capturing data with 1 GS and provides this data to Matlab which is running on the PS? Is this even possible?

I appreciate any hint or suggestions to my question.

best regards,

Nils

Parents
  • Hello Adrian,

    thanks for your response

    Yeah as I  understood I could use AD9680 it is mainly the same with higher accuracy ?

    Making my project open will be no problem since it is a thesis

    How is it possible to calculate the througoutput of the adc to the linux. Ok i understand the DDR is only a FIFO Buffer which stores the data which can not be passed via dma. But how fast is this? So an ADC with only 100MS would work without DDR by passing the data directly over dma to linux? So decreasing the DDR size from 1 GB to 256Mb in my case would only reduce the FIFO Size correct? When I decrease the Sample rate (for testing) could I remove the DDR interface of the PL?

    Yeah I understand that the system (PS+PL) only will grab data stores it and transfers it over ethernet. I could run matlab on a second host and write my own matlab drivers in order to control and stream the data from my device. I thnik I can reuse the FMCCOMMS2 matlabb code

    What about the addresses in the address table of vivado. How can I understand on how to adust them in order to work correctly in my application?

    Many thanks,

    Nils

Reply
  • Hello Adrian,

    thanks for your response

    Yeah as I  understood I could use AD9680 it is mainly the same with higher accuracy ?

    Making my project open will be no problem since it is a thesis

    How is it possible to calculate the througoutput of the adc to the linux. Ok i understand the DDR is only a FIFO Buffer which stores the data which can not be passed via dma. But how fast is this? So an ADC with only 100MS would work without DDR by passing the data directly over dma to linux? So decreasing the DDR size from 1 GB to 256Mb in my case would only reduce the FIFO Size correct? When I decrease the Sample rate (for testing) could I remove the DDR interface of the PL?

    Yeah I understand that the system (PS+PL) only will grab data stores it and transfers it over ethernet. I could run matlab on a second host and write my own matlab drivers in order to control and stream the data from my device. I thnik I can reuse the FMCCOMMS2 matlabb code

    What about the addresses in the address table of vivado. How can I understand on how to adust them in order to work correctly in my application?

    Many thanks,

    Nils

Children
No Data