I am trying to achieve multi-tile synchronization across ADCs for RFSoC2x2. My FPGA design and clock setups seem okay. However, I need to extend the available drivers in Pynq 2.7.
By looking at the xrfdc driver in /usr/local/share/pynq-venv/lib/python3.8/site-packages/xrfdc, one option is to use the existing libxrfdc.so, but modify the init.py and/or xrfdc_functions.c. Does the existing libxrfdc.so include the functions related to MTS?
Alphan,
The current PYNQ drivers do not enable Multi-Tile Sync (MTS) functionality yet. The drivers you mentioned are the ones that would need to be extended to enable MTS capabilities. Enabling MTS requires stitching together the clocking daisy-chain amongst the tiles to synchronize and must also be done in sequence. The low level xrfdc functions can do this. Your suggested route of using init.py should work too. This is something that I too will be looking to enable in the near future.
Regards,
-Nathan
Hi Nathan, thank you for the reply. I have managed to achieve MTS for ADCs with RFSoC2x2. As you mentioned, I extended the existing driver and reconfigured the clocks. It would be great to have a tutorial on this topic with RFSoC2x2 or RFSoC4x2.