Xilinx UG194 Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC ...
Xilinx UG194 Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC ...
Xilinx UG194 Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 6: Physical Interface<br />
+0 to -32.768 µs<br />
Therefore, for the 1000BASE-X standard, the attribute E<strong>MAC</strong>#_LINKTIMERVAL[8:0] is set<br />
to:<br />
100111101 = 317 decimal<br />
This setting corresponds to a timer duration of between 10.354 and 10.387 ms. This value<br />
can be reduced for simulation.<br />
Auto-Negotiation Interrupt<br />
The Auto-Negotiation function has an E<strong>MAC</strong>#CLIENTANINTERRUPT port. This port is<br />
designed to be used with common microprocessor bus architectures.<br />
The operation of this port is enabled or disabled and cleared via the “Vendor-Specific<br />
Register: Auto-Negotiation Interrupt Control Register (Register 16).”<br />
When disabled, this port is permanently driven Low.<br />
When enabled, this port is set to logic 1 following the completion of an Auto-<br />
Negotiation cycle. It remains High until cleared after a zero is written to bit 16.1<br />
(Interrupt Status bit) of the “Vendor-Specific Register: Auto-Negotiation Interrupt<br />
Control Register (Register 16).”<br />
Use of Clock Correction Sequences<br />
The RocketIO serial transceiver is configured by the appropriate Transceiver Wizard to<br />
perform clock correction. The output of the Transceiver Wizard is provided as part of the<br />
<strong>Ethernet</strong> <strong>MAC</strong> wrapper generated using the CORE Generator tool. Two different clock<br />
correction sequences can be employed:<br />
The mandatory clock correction sequence is the /I2/ ordered set; this is a two-byte<br />
code-group sequence formed from /K28.5/ and /D16.2/ characters. The /I2/<br />
ordered set is present in the interframe gap. These sequences can therefore be<br />
removed or inserted by the transceiver’s receiver elastic buffer without causing frame<br />
corruption.<br />
The default Transceiver Wizard configuration enables the CLK_COR_SEQ_2_USE<br />
attribute. In this case, the transceiver is also configured to perform clock correction on<br />
the /K28.5/D21.5/ sequence; these are the first two code-groups from the /C1/<br />
ordered set (the /C1/ ordered set is four code-groups in length). Because there are no<br />
/I2/ ordered sets present during much of the auto-negotiation cycle, this provides a<br />
method of allowing clock correction to be performed during auto-negotiation.<br />
Because this form of clock correction inserts or removes two code groups into or from<br />
a four code-group sequence, this causes ordered-set fragments to be seen by the<br />
<strong>Ethernet</strong> <strong>MAC</strong>’s auto-negotiation state machine. It is therefore important that the<br />
transceiver’s RXCLKCORCNT[2:0] port be correctly connected to the <strong>Ethernet</strong> <strong>MAC</strong>;<br />
this indicates a clock correction event (and type) to the <strong>Ethernet</strong> <strong>MAC</strong>. Using this<br />
signal, the <strong>Ethernet</strong> <strong>MAC</strong>’s state machine can interpret the clock-correction fragments,<br />
and the auto-negotiation function can complete cleanly.<br />
When the transceiver’s CLK_COR_SEQ_2_USE attribute is not enabled, no clock<br />
correction can be performed during much of the auto-negotiation cycle. When this is<br />
the case, it is possible that the transceiver’s receiver elastic buffer could underflow or<br />
overflow as asynchronous clock tolerances accumulate. This results in an elastic buffer<br />
error. It is therefore important that the transceiver’s RXBUFSTATUS[2:0]port is<br />
correctly connected to the <strong>Ethernet</strong> <strong>MAC</strong>; this indicates a buffer error event to the<br />
176 www.xilinx.com TE<strong>MAC</strong> User Guide<br />
<strong>UG194</strong> (v1.10) February 14, 2011<br />
R