BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
276
Section 9: Ethernet MACs
Document
1250_1125-UM100CB-R
At the end of the packet the protocol engine can write one additional entry into the FIFO containing status for
the packet. This is used by the DMA controller to update the length and flags field in the first DMA descriptor
of the packet. Appending of this status word is enabled by setting the ap_stat_en bit in the
mac_cfg
register,
this bit must be set when the interface is configured for Ethernet operation and must be clear in Packet FIFO
mode.
R
ECEIVE
P
ATH
The protocol engine processes all packets arriving from the PHY, removes the physical layer encapsulation
and passes them into the receive FIFO. The receive DMA engine will remove data from the FIFO and transfer
it into packet buffers in memory. The receiver is always active, regardless of the full- or half-duplex selection.
The packet is checked for errors during reception, and the CRC is computed and compared with the value in
the packet. If an error is detected early in packet reception it will not have started to be DMA’ed and the packet
can be dropped. If an error is detected after DMA has started, the DMA will be completed and the error flagged
in the status bits written back to the descriptor. The dropping of packets is enabled by holding the first few
entries in the receive FIFO and not informing the DMA logic that there is data to extract until a threshold has
been reached. If the error happens before the threshold then the FIFO pointer can be restored to the entry that
holds the start of the packet, and the packet is dropped.
Underflow
None
An underflow error is reported when the receive DMA engine (or external
agent in direct mode) reads the receive FIFO when it is empty. The data
returned is UNPREDICTABLE and the FIFO pointers will not change. During
DMA this error will only be seen if the rx_rd_thrsh parameter is incorrectly
set.
An underflow will set the rx_undrfl bit in the
mac_status
register.
Overflow
None
An overflow error is reported when the protocol engine attempts to write to
the receive FIFO and it is full. This indicates that the DMA engine (or external
agent in direct mode) is not emptying the FIFO fast enough. The data written
is lost.
A FIFO overflow will set the rx_ovrfl bit in the
mac_status
register.
Table 162: Receiver Error Conditions
(Cont.)
Error
Bit to set for
automatic dropping
Description