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 Nils,

    Theoretically it should work without an additional buffer. We have designs working at that rate without using intermediary buffers. I'm not familiar with the resources of krm3z30, but if it has an fpga equivalent with the zedboard or better, it should work.

    I think Vivado supports mixed languages, so it should work with VHDL also. Depending on complexity, you can probably change their system_top to a verilog version without an additional wrapper, but it's up to you. I don't have too much experience with VHDL, so I cannot give you specific pointers. Taking as an example one of our system_top.v should be a good start.

    Regards,

    Adrian

Reply
  • Hello Nils,

    Theoretically it should work without an additional buffer. We have designs working at that rate without using intermediary buffers. I'm not familiar with the resources of krm3z30, but if it has an fpga equivalent with the zedboard or better, it should work.

    I think Vivado supports mixed languages, so it should work with VHDL also. Depending on complexity, you can probably change their system_top to a verilog version without an additional wrapper, but it's up to you. I don't have too much experience with VHDL, so I cannot give you specific pointers. Taking as an example one of our system_top.v should be a good start.

    Regards,

    Adrian

Children
No Data