RGMIIv1 3
RGMIIv1 3
RGMIIv1 3
Version 1.3
For
Page 2 of 8
Revision Level
1.0
1.1
Date
June 1, 2000
August 1, 2000
1.2
1.2a
1.3
Revision Description
Released for public review and comment
a) Modified RXERR and TXERR coding to reduce transitions and power
in normal conditions.
b) Removed CRS_COL pin and incorporated coding alternative for half
duplex implementation.
c) Found and corrected some inconsistencies in which clock was specified
for timing. PHY generated signals are based on RXC and MAC
generated signals are based on TXC. Specified that RXC is derived
from TXC to eliminate need for FIFOs in the MAC.
d) Modified timing diagram to incorporate PC board load conditions.
e) Removed references to SMII due to broad concerns about IP exclusivity
and added specification for 10/100 MII operation.
f) Modified Intellectual Property statement to address incorporation of IP
from multiple sources.
g) Modified document formatting.
a) Changed TD[4]/TXEN_TXERR signal name to TX_CTL
b) Changed RD[4]/RXEN_RXERR signal name to RX_CTL
c) Removed 100ps jitter requirement from TXC
d) Changed RXC derivation to received data stream
e) Clarified Table 1 description of TX_CTL and RX_CTL logical
functions
f) Required CRS assertion/deassertion to be synchronous for all speeds.
g) Returned timing numbers to absolute from percentages.
h) Relaxed 10/100 Duty cycle requirements to 40/60
i) Added verbage to allow clock cycle stretching during speed changes
and receive data and clock acquistion.
j) Modified Table 4 to incorporate optional in-band signaling of link
status, speed, and duplex.
k) Slight wording change on IP statements to limit scope and indemnify.
a) Clarified 3.4.2 statement to eliminate suggestion that in-band status was
only required for half-duplex.
b) Modified Table 2 to from "Clock to Data skew" to "Data to Clock
skew" to clarify the fact that clock is delayed relative to data.
c) Modified section 4.0 to clarify that MDIO/MDC are also operating at
2.5v CMOS levels.
a) Clarified RX_CTL and TX_CTL functionality by modifying Figure 4
and adding Figure 5 and Figure 6.
b) Modified Table 3 to include the value of FF as reserved when
TX_CTL=0,1.
c) Reduced TskewR in Table 2 to a value of 2.6ns maximum for Gigabit
operation and relaxed it in note #1 for 10/100 operation.
d) Put maximum delay in note #1 of Table 2 of 2ns to ensure minimum
setup time for subsequent edges.
Page 3 of 8
1.0 Purpose
The RGMII is intended to be an alternative to the IEEE802.3u MII, the IEEE802.3z GMII and the TBI. The principle objective is to
reduce the number of pins required to interconnect the MAC and the PHY from a maximum of 28 pins (TBI) to 12 pins in a cost
effective and technology independent manner. In order to accomplish this objective, the data paths and all associated control signals
will be reduced and control signals will be multiplexed together and both edges of the clock will be used. For Gigabit operation, the
clocks will operate at 125MHz, and for 10/100 operation, the clocks will operate at 2.5MHz or 25MHz respectively.
SERDES
TD1
TD2
FUNCTIONAL
TD3
BLOCK
TX_CTL
TP+
TP-
RD0
RP+
RD1
RP-
RD2
RD3
SD+ (optional)
RX_CTL
RXC
MDIO
MDC
RTBI
MAC
RGMII
MAC
TD[3:0]
PCS
MAC
TX_CTL
PCS
MAC
RXC
PHY
PHY
RD[3:0]
PHY
PHY
RX_CTL
PHY
PHY
Description
The transmit reference clock will be 125Mhz, 25Mhz, or
2.5Mhz +- 50ppm depending on speed.
In RTBI mode, contains bits 3:0 on of TXC and bits
8:5 on of TXC. In RGMII mode, bits 3:0 on of
TXC, bits7:4 on of TXC
In RTBI mode, contains the fifth bit on of TXC and
tenth bit on of TXC. In RGMII mode, TXEN on of
TXC, and a logical derivative of TXEN and TXERR on
of TXC as described in section 3.4
The continuous receive reference clock will be 125Mhz,
25Mhz, or 2.5Mhz +- 50ppm. and shall be derived from
the received data stream
In RTBI mode, contains bits 3:0 on of RXC and bits
8:5 on of RXC. In RGMII mode, bits 3:0 on of
RXC, bits7:4 on of RXC
In RTBI mode, contains the fifth bit on of RXC and
tenth bit on of RXC. In RGMII mode, RXDV on
of RXC, and a derivative of RXDV and RXERR on
of RXC as described in section 3.4
Page 4 of 8
3.1 Signal Logic Conventions
All signals shall be conveyed with positive logic except as specified differently. For descriptive purposes, a signal shall be at a logic
"high" when it is at a valid voltage level greater than VOH_MIN, and logic "low" when it is at a valid voltage level less than VOL_MAX.
3.2 Multiplexing of Data and Control
Multiplexing of data and control information is done by taking advantage of both edges of the reference clocks and sending the lower
4 bits on the edge and the upper 4 bits on the edge. Control signals can be multiplexed into a single clock cycle using the same
technique.
TXC(at Transmitter)
TskewT
TXD[8:5][3:0]
TXD[7:4][3:0]
TXD[3:0]
TXD[8:5]
TXD[7:4]
TskewR
TX_CTL
TXD[4]
TXEN
TXD[9]
TXERR
RXC(at Transmitter)
TskewT
RXD[8:5][3:0]
RXD[7:4][3:0]
RX_CTL
RXD[3:0]
RXD[8:5]
RXD[7:4]
RXD[4]
RXDV
RXD[9]
RXERR
TskewR
RXC(at Receiver)
Tcyc
Duty_G
Duty_T
Tr / Tf
Parameter
Data to Clock output Skew (at Transmitter)
Data to Clock input Skew (at Receiver)
*note 1
Clock Cycle Duration
*note 2
Duty Cycle for Gigabit
*note 3
Duty Cycle for 10/100T
*note 3
Rise / Fall Time (20-80%)
Min
-500
1
Typical
0
Max
500
2.6
7.2
45
40
8
50
50
8.8
55
60
.75
Units
ps
ns
ns
%
%
ns
note 1: This implies that PC board design will require clocks to be routed such that an additional trace delay of greater than 1.5ns and less than 2.0ns
will be added to the associated clock signal. For 10/100 the Max value is unspecified.
note 2: For 10Mbps and 100Mbps, Tcyc will scale to 400ns+-40ns and 40ns+-4ns respectively.
note 3: Duty cycle may be stretched/shrunk during speed changes or while transitioning to a received packet's clock domain
as long as minimum duty cycle is not violated and stretching occurs for no more than three Tcyc of the lowest speed transitioned between.
TABLE 2
Page 5 of 8
FIGURE 3
3.4 TXERR and RXERR Coding
To reduce power of this interface, TXERR and RXERR, will be encoded in a manner that minimizes transitions during normal
network operation. This is done by the following encoding method. Note that the value of GMII_TX_ER and GMII_TX_EN are valid
at the rising edge of the clock while TXERR is presented on the falling edge of the clock. RXERR coding behaves in the same way.
TXERR <= GMII_TX_ER (XOR) GMII_TX_EN
RXERR <= GMII_RX_ER (XOR) GMII_RX_DV
When receiving a valid frame with no errors, RXDV=true is generated as a logic high on the edge of RXC and RXERR=false is
generated as a logic high the edge of RXC. When no frame is being received, RXDV=false is generated as a logic low on the
edge of RXC and RXERR=false is generated as a logic low on the edge of RXC.
When receiving a valid frame with errors, RXDV=true is generated as logic high on the edge of RXC and RXERR=true is
generated as a logic low on the edge of RXC.
TXERR is treated in a similar manner. During normal frame transmission, the signal stays at a logic high for both edges of TXC and
during the period between frames where no errors are to be indicated, the signal stays low for both edges.
TX_CTL GMII_TX_EN
GMII_TX_ER TXD[7:0]
0,0
0
0
00 through FF
0,1
0
1
00 through 0E
0,1
0
1
0F
0,1
0
1
10 through 1E
0,1
0
1
1F
0,1
0
1
20 through FF
1,1
1
0
00 through FF
1,0
1
1
00 through FF
NOTEValues in TXD[7:0] column are in hexadecimal
Description
Normal inter-frame
Reserved
Carrier Extend
Reserved
Carrier Extend Error
Reserved
Normal data transmission
Transmit error propagation
PLS_DATA.request parameter
TRANSMIT_COMPLETE
EXTEND (eight bits)
EXTEND_ERROR (eight bits)
ZERO, ONE (eight bits)
No applicable parameter
Page 6 of 8
V a li d F ra m e
R X C (at So urce)
R X D [3:0 ]
R X D [ 7 :4 ] [ 3 :0 ]
R X D [7:4 ]
R X E N = true
T X D [ 3 :0 ]
T X D [ 7 :4 ]
R X E N = f a ls e
R X E R R = f a ls e
R X E R R = f a l se
R X_CT L
E n d of F r am e
F ra m e w it h e r ro r
R X C (at So urce)
E rr e d B y t e
R X D [7:4 ]
R X D [3:0 ]
R X D [ 7 :4 ] [ 3 :0 ]
R X E N = true
R X E R R = tr u e
R X_CT L
R X D [3:0 ]
R X E N = true
R X D [7:4 ]
R X E N = f a ls e
R X E R R = f a l se
R X E R R = f a l se
E n d of F r am e
FIGURE 4
RX_CTL
GMII_RX_DV
GMII_RX_ER
RXD[7:0]
Description
0,0
xxx1 or xxx0
Normal inter-frame
0,0
x00x or x01x
x10x or x11x
Normal inter-frame
0,0
1xxx or 0xxx
Normal inter-frame
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
1,1
1,0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
*
*
*
*
*
*
*
*
*
*
00
01through 0D
0E
0F
10 through 1E
1F
20 through FE
FF
00 through FF
00 through FF
Reserved
Reserved
False Carrier indication
Carrier Extend
Reserved
Carrier Extend Error
Reserved
Carrier Sense
Normal data reception
Data reception error
PLS_DATA.indicate or
PHY_ status parameter
Indicates link status
0=down, 1=up
Indicates RXC clock speed
00=2.5Mhz, 01=25Mhz, and
10=125Mhz, 11=reserved
Indicates duplex status
0=half-duplex, 1=full duplex
PLS_Carrier.Indicate
ZERO, ONE (eight bits)
ZERO, ONE(eight bits)
In order to ease detection of the link status, speed and duplex mode of the PHY, inter-frame signals will be placed onto the RXD[3:0]
signals as indicated in table 4. The status of the PHY shall be indicated whenever Normal Data, Data Error, Carrier Extend, Carrier
Sense, or False Carrier are not present. When link status is down, PHY speed and duplex are defined by the PHY's internal setting.
3.4.2
CRS is indicated by the case where RXDV is true, or the case where RXDV is false, RXERR is true, and a value of FF exists on the
RXD[7:0] bits simultaneously or in the case where a Carrier Extend, Carrier Extend Error or False Carrier are occurring as defined in
Table 4. Carrier Extend and Carrier Extend Error are applicable to Gigabit speeds only.
Collision is determined at the MAC by the assertion of TXEN being true while either CRS or RXDV are true. The PHY will not
assert CRS as a result of TXEN being true.
Page 7 of 8
In -B a n d S ta tu s E x a m p le
R X C (a t S o u r c e)
R X D [ 7 :4 ] [ 3 :0 ]
000 0
000 0
000 0
000 0
110 1
L IN K = D O W N
2 .5 M H z c lo c k
H A L F- D U P L E X
R X _C T L
R X E N = fal s e
110 1
L IN K = U P
1 2 5 M H z c lo c k
F U L L -D U P L E X
R X E R R = f a ls e
In -B a n d S ta tu s E x a m p le
R X C (a t S o u r c e)
R X D [ 7 :4 ] [ 3 :0 ]
R X D [ 3 :0 ]
R X D [ 7 :4 ]
R X D [ 3 :0 ]
R X D [ 7 :4 ]
110 1
110 1
L IN K = U P
1 2 5 M H z c lo c k
F U L L -D U P L E X
R X _C T L
R X E N = tr u e
R X E R R = f a ls e
R X E N = fal s e
R X E R R = f a ls e
FIGURE 5
I n - B a n d S t a tu s E x a m p l e
( C ar ri e r E x t e n d )
R X C ( a t S o u rc e )
R X D [ 7 :4 ] [ 3 : 0]
R X D [ 3 :0 ]
R X D [ 3 :0 ]
R X D [ 7 :4 ]
R X D [ 7 :4 ]
C A R R IE R _ EX T E N D
R X _C T L
R X E N = t ru e
R X E R R = f a l se
R X E N = fa l s e
I n - B a n d S t a tu s E x a m p l e
R X E R R = tr ue
( C ar ri e r E x t e n d )
R X C ( a t S o u rc e )
R X D [ 7:4 ] [ 3 : 0 ]
R X D [ 3 :0 ]
R X D [ 7 :4 ]
R X D [ 3 :0 ]
R X D [ 7 :4 ]
C A R R IE R _ EX T E N D
R X _C T L
R X E N = t ru e
R X E R R = fa l se
FIGURE 6
R X E N = fal s e
R X E R R = tr u e
Page 8 of 8
Parameter
Output High Voltage
Output Low Voltage
Input High Voltage
Input Low Voltage
Input High Current
Input Low Current
Conditions
IOH = -1.0mA; VCC = Min
IOL = 1.0mA; VCC=Min
VIH > VIH_Min; VCC=Min
VIH > VIL_Max; VCC=Min
VCC = Max; VIN = 2.5V
VCC = Max; VIN = 0.4V
Min
2.0
GND-.3
1.7
-15
Max
VDD+.3
0.40
.70
15
-
Units
V
V
V
V
uA
uA
TABLE 5