Driver for MTS - RFSoC2x2

Hi All,

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?

Thank you.

Alphan

PYNQ version: 2.7, Board name: RFSoC2x2, Vivado/Vitis 2020.2

1 Like

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

1 Like

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.

1 Like

I have just completed the first version of our SDR based on RFSoC2x2. The following codes may help anyone who needs MTS for RFSoC2x2:

2 Likes