User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 9: Ethernet MACs Page
307
Table 180: MAC Frame Configuration Registers
mac_frame_cfg_0 -
00_1006_4118
mac_frame_cfg_1 -
00_1006_5118
mac_frame_cfg_2 -
00_1006_6118
This register is only used in both Ethernet mode no fields apply for Packet FIFO modes
Bits
Name
Default
Description
5:0
ifg_rx
Rev >=
PERIPH_REV3
pre_len
6'b0
System Revison < PERIPH_REV3: The ifg_rx is not used in the current
implementation. The ifg_tx value is used to set both receive to transmit (on half-duplex
links) and transmit to transmit gap.
System Revision PERIPH_REV3 and later: If bit [5] is clear a standard 7 byte preamble
is transmitted. If bit [5] is set bits [3:0] set the number of bytes of preamble that will be
transmitted ([3:0]=0 will result in one byte of preamble in gigabit mode, no preamble
in 10/100 mode). The single SFD byte is always sent after the preamble.
11:6
ifg_tx
6'b0
ifg_tx determines inter-frame gap in interface cycles that the MAC uses when doing
back to back transmissions (or between a reception and transmission in a half-
duplex link). When the MAC has completed a packet the ifg counter loaded with the
ifg_tx value and counts down. When the ifg counter reaches zero and four more
cycles have passed the inter-frame gap time has elapsed and the MAC is free to
transmit. If the value written in this register is less than 4 then the gap will be 7
cycles, otherwise the gap will be 4 cycles (See Figure 39). A value of zero
gives 68 cycles.
For Gigabit operation this is in bytes, and for 10/100 in nibbles. Including the offset
of 4 for a standard 12 byte gap this field should be set to 8 for Gigabit operation and
20 for 10/100.
This value may only be changed while the protocol engine is held in reset, if it is
changed while the engine is active the results are UNPREDICTABLE.
17:12
ifg_thrsh
6'b0
This sets the threshold time in interface cycles for checking carrier sense during the
inter-frame gap. At the start of the IFG the MAC will monitor the carrier sense and
defer if a carrier is detected, the IEEE standard suggests this should last 2/3 of the
gap. During the remainder of the IFG the MAC ignores the carrier sense and
transmission (potentially with a collision) will begin as usual. The carrier is ignored
for the final if4 cycles of the IFG.
To use the standard 2/3rd:1/3rd split for Gigabit operation the MAC should defer
during the first 8 byte times, thus if4=4 and this field should be set to zero.
For 10/100 operation the 8 byte times become 16 nibbles to defer, thus
if4=8 and this field should be set to 4.
This value may only be changed while the protocol engine is held in reset, if it is
changed while the engine is active the results are UNPREDICTABLE.
21:18
backoff_sel
4'b0
This field sets the maximum number of slot times the MAC will backoff following a
collision. If a collision happens when the MAC is transmitting a packet it will abandon
the transmission attempt, and backoff for a pseudo-random period before retrying.
The length of the backoff is chosen randomly by a LFSR from a range from zero to
a maximum value. The maximum backoff period depends on the number of times
the packet has previously collided (to give an exponential backoff) and the value of
this field. This field sets the maximum value the backoff count can grow to,
regardless of the number of times the packet has collided.
The encoding of the backoff time is:
backoff_sel = 0 - Backoff disabled, the backoff time will always be zero
1 <= backoff_sel <= 10 - Backoff limit is 0 - (2^n - 1)
11 <= backoff_sel <= 15 - Backoff limit is 0 - (2^10 - 1)
This value may only be changed while the protocol engine is held in reset, if it is
changed while the engine is active the results are UNPREDICTABLE.
This field should be set to 10 for standard operation.