I’m trying to build a daq from RFSoC 4x2. I have read and gone through a lot of tutorials on this Forum (and thank you for your effort in supporting this community!!).
Here is information of the PYNQ and board I’m using:
PYNQ version: 2.7.0
Board: RFSoC 4x2
My current strategy is streaming data from ADC to PS DRAM using DMA, then transfer data from PS DRAM to my computer via either PS ethernet or USB 3.0 ports. I have built the hardware design (bitstream, Tcl, and hwh files are attached in “daq.zip”). I have copied the bit, tcl, and hwh files to the board. But I’m a little confused in how to use iPython Notebook to stream data. Did I miss some steps after building the hardware? Could you please give me some advice on what I could do for next step? Or Are there any tutorials I may have missed within this forum?
Thanks for your reply! Indeed I followed the two tutorials you posted to build my design (and thank you for confirming that I followed the right path!). But I’m not currently using any self-built HLS streaming IP. Major IPs I used include Zync US+ RF Data Converter, AXI DMA, and of course Zync US+ MPSoC.
To be clear, I’m not sure if I need to write divers for my overlay if I don’t have any self-built HLS streaming IP. Could you please help me clarify this? It may be easier for you to see my overlay if I include the block design here:
The posts I shared include the Python code to use the DMA module to bring data into the PS. You don’t need to write a driver unless you want to add functionality that doesn’t exist in the default driver.
Have you written any code to bring in the data via the DMA?
Thanks for your reply! I think I understand how to use DMA to bring data into the PS. But I don’t know how to read the data from the outside world into PL using the RF Data Converter module.
If you see my block design above, I have an RFDC module (only one ADC enabled) connected to DMA via an FIFO. Basically, I don’t know how to control this RFDC module in PYNQ. Could you please give me some help on this? Thanks!