cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Participant
Participant
709 Views
Registered: ‎09-10-2012

10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution

In our system there are 4 10G ports connected from XCKU060 to Intel XL710 chip.
For several years we have used 10G Ethernet PCS/PMA and 10G Ethernet MAC IP cores for this connection. Everything has worked fine and predictebly. We used signal_detect pin to turn on and off links.
In late versions of Vivado Xilinx recommends to move to 10G/25G Ethernet Subsystem, but after this migration system became unreliable.
We use this core in 4 channels mode, BASE-R with Shared Logic in core.
We observe this order of events:
1. System booted with sys_reset, rx_reset, tx_reset asserted. On XL710 signal_detect is deasserted.
2. Deassertion of sys_reset.
3. Deassertion of rx_reset, tx_reset. This lead to assertion of signal_detect on XL710.
At this point old version with two cores used to show all 4 ports linked. New version - doesn't. There can be one, two, three linked cores - unpredictable. Some links can became good after some time. Broken links show stat_rx_internal_local_fault. We tryed to toggle ctl_rx_force_resync signal by VIO core - no effect.
4. But if in this state toggle sys_reset again - all links start working fine.
5. If in working state we assert sys_reset - on both XL710 and FPGA sides ports keep linked state. It seems like sys_reset is falling edge-sensetive.
5. If in working state we toggle signal_detect (by rx_reset and tx_reset) - link broken again.

In my mind we need to tell core to resynchonize links, but we can't find how to do it.
Maybe we need to treat signal_detect differently? Why was this port removed from core?

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
667 Views
Registered: ‎04-01-2018

Re: 10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution

Hi @g.pavlikh 

I believe stat_rx_status is the signal to be monitored in case of 10G/25G Ethernet Subsystem. As per my knowledge monitoring the stat_rx_status and doing reset to RX data path using  gtwiz_reset_rx_datapath signal will sort out the unreliable link. 

-----------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------------

View solution in original post

4 Replies
Highlighted
Moderator
Moderator
668 Views
Registered: ‎04-01-2018

Re: 10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution

Hi @g.pavlikh 

I believe stat_rx_status is the signal to be monitored in case of 10G/25G Ethernet Subsystem. As per my knowledge monitoring the stat_rx_status and doing reset to RX data path using  gtwiz_reset_rx_datapath signal will sort out the unreliable link. 

-----------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------------

View solution in original post

Highlighted
Participant
Participant
647 Views
Registered: ‎09-10-2012

Re: 10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution
Thanks for your advice. Toggling gtwiz_reset_rx_datapath solves link problem.
Is there any recomendation or AR how to connect this signal to stat_rx_status? Seems it can't be connected directly, so do we need some sort of watchdog?
0 Kudos
Highlighted
Moderator
Moderator
638 Views
Registered: ‎04-01-2018

Re: 10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution

Hi @g.pavlikh 

Yes, you may need to have watch dog timer logic for this. I beleive you would have already implemented this for signal detect in your previous designs. 

-----------------------------------------------------------------------------------
Don't forget to reply, give kudo and accept as solution
------------------------------------------------------------------------------------
0 Kudos
Highlighted
Participant
Participant
619 Views
Registered: ‎09-10-2012

Re: 10G/25G Ethernet Subsystem, unreliable link and signal_detect.

Jump to solution
No, in old version there were no watch dogs, everything worked fine without them. It seems like IP cores already have that functionality inside.
Is there any estimation on link time? Is it microseconds? Milliseconds?
0 Kudos