User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 531
UG585 (v1.11) September 27, 2016
Chapter 16: Gigabit Ethernet Controller
eventually overflows an 8-bit internal counter in the GigE Rx module used to track the number of
packets in the Rx buffer needing a "read out." Once the 8-bit counter overflows, it leads to
corruption of local fill level counters in the GigE, which results in a deadlock on the Rx path.
The chances of running into this issue is very high if GigE is subjected to a heavy Rx traffic
condition with small-sized packets. A typical example could be small-sized UDP packets.
Workaround: Once a deadlock is hit on the Rx path, reset the Rx path by first writing a 0 to the
gem.net_ctrl[rx_en] bit and then a writing a 1 to the same bit. The software can have a timer
mechanism to perform this task. In a typical example, the software can create a timer which
expires every 100 milliseconds. In the timer handler the software can monitor the register
gem.frames_rx, which stores the number of received error-free frames. If the SW finds out that
the GigE has stopped receiving error-free frames in two successive invocation of the timer
handler, it resets the Rx path by writing a 0 and then a 1 to the gem.net_ctrl[rx_en] bit.