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,

    We don't provide explicit support for AD9234 in HDL, but you can probably use one of our other ADCs as a starting point for the port. We have support for the part in the Linux drivers.

    The ADI JESD204 IP is free to use if the project is open (as specified in GPL 2), yes. The Xilinx JESD204 IP is usually licensed and you need to pay for it, but you can check with them for a more accurate answer.

    Depending on the platform and the bandwidth requirement, we sometimes use PL DDR to capture data. You can check the DAQ2/ZC706 project to see how it's done. Basically, we capture the data from the ADC and stream it into PL DDR. After that, we use a DMA to transfer it to the PS DDR where is further processed or from where is transmitted to a PC through Ethernet.

    In our repository, we don't support ADS7V2 board, as it's used for evaluation and not prototyping. Do you have access to a ZC706/ZCU102 board ? We have better support for these. Depending on the system, you may not need to use PL DDR.

    My recommendation would be to use DAQ2 with ZC706. Matlab won't run on the PS, but you can transfer the data to the PC and process it there using Matlab. As it is, it uses PL DDR to capture ADC data, but if you only want to use a single channel, you may be able to capture the data directly to the PS memory.

    For FMCOMMS2 we provide an example on how to stream data directly to MATLAB, you can probably do something similar for you design:

    IIO System Object [Analog Devices Wiki] 

    Regards,

    Adrian

Reply
  • Hello,

    We don't provide explicit support for AD9234 in HDL, but you can probably use one of our other ADCs as a starting point for the port. We have support for the part in the Linux drivers.

    The ADI JESD204 IP is free to use if the project is open (as specified in GPL 2), yes. The Xilinx JESD204 IP is usually licensed and you need to pay for it, but you can check with them for a more accurate answer.

    Depending on the platform and the bandwidth requirement, we sometimes use PL DDR to capture data. You can check the DAQ2/ZC706 project to see how it's done. Basically, we capture the data from the ADC and stream it into PL DDR. After that, we use a DMA to transfer it to the PS DDR where is further processed or from where is transmitted to a PC through Ethernet.

    In our repository, we don't support ADS7V2 board, as it's used for evaluation and not prototyping. Do you have access to a ZC706/ZCU102 board ? We have better support for these. Depending on the system, you may not need to use PL DDR.

    My recommendation would be to use DAQ2 with ZC706. Matlab won't run on the PS, but you can transfer the data to the PC and process it there using Matlab. As it is, it uses PL DDR to capture ADC data, but if you only want to use a single channel, you may be able to capture the data directly to the PS memory.

    For FMCOMMS2 we provide an example on how to stream data directly to MATLAB, you can probably do something similar for you design:

    IIO System Object [Analog Devices Wiki] 

    Regards,

    Adrian

Children
No Data