Issues with Aurora 64B/66B Communication in PYNQ on ZCU102

・PYNQ version : v3.0
・Board name : ZCU102
・Vivado : 2022.1

I am attempting to establish communication between a ZCU102 running PYNQ and another FPGA board using SFP+.

I built the PYNQ image for the ZCU102 from the PYNQ image v3.0 for the ZCU104. After loading an overlay that includes Aurora 64B/66B, the “lane_up” and “channel_up” signals were not asserted, and communication with the other FPGA board did not establish.

For clarification, Aurora 64B/66B is not controlled by the PS in this setup.
Is it possible to operate Aurora 64B/66B from PYNQ?

I appreciate any guidance on this matter.

Hi @taka,

Welcome to the PYNQ community.

Can you please elaborate what exactly would you like to do? and what you meant with “operate”

Mario

Thanks for your reply.

I am trying to establish SFP+ communication between a ZCU102 running on PYNQ and a KCU116 board, using Aurora 64B/66B for SFP+ control.

To start, I aimed to build a simple system where the ZCU102 would continuously send a value of 64’b1 to the KCU116. With an SFP+ loopback module inserted in the ZCU102, I loaded the overlay on PYNQ and confirmed that the 64’b1 value was sent and received as expected.

Next, I connected the SFP+ modules of the ZCU102 and KCU116 via an optical fiber cable. After loading the overlay on the ZCU102 with PYNQ, the KCU116 did not receive the 64’b1 value. I believe this issue is due to the Aurora lane_up signal not asserting High, indicating that the transceiver link was not established.

Initially, I suspected a hardware design issue. However, programming the same hardware on the ZCU102 using Vitis allowed the KCU116 to receive the 64’b1 value successfully, suggesting that the hardware design is correct.

Are there any solutions to establish a successful transceiver link over SFP+ between the KCU116 and the ZCU102 when using PYNQ?

Can you please post an image of your block design? Have you configured anything in the processor using Vitis?