
DATA SHEET
PM7367 FREEDM-32P32
ISSUE 2
PMC-1991499
FRAME ENGINE AND DATA LINK MANAGER
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMER’S INTERNAL USE
39
Field
Bytes in Buffer
[15:0]
Description
The Bytes in Buffer[15:0] bits indicate the number of bytes
actually used in the current RPD's data buffer to store
packet data. The count excludes the 'dummy' bytes
inserted as a result of a non-zero Offset field. A count
greater than 32767 bytes indicates a packet that is
shorter than the expected length of the FCS field.
The Bytes in Buffer field is invalid when Status[0] or
Status[4] is asserted .
Next RPD Pointer
[13:0]
The Next RPD Pointer[13:0] bits store a RPDR which
enables the RMAC to support linked lists of RPDs. This
field, which is only valid when CE is equal to logic zero,
contains the RPDR to the next RPD in a linked list. The
RMAC links RPDs when more than one buffer is needed
to store a packet.
The Next RPD Pointer is not valid for the last RPD in a
linked list (when CE=1). When a packet requires only one
RPD, the Next RPD Pointer field is not valid.
Receive Buffer Size
[15:0]
The Receive Buffer Size[15:0] bits indicate the size in
bytes of the current RPD's data buffer. This field is
expected to be configured by the Host during initialisation.
The Receive Buffer Size must be a non-zero integer
multiple of four and less than or equal to 32764.
The Receive Buffer Size field is valid in all RPDs.
The Receive Buffer Size and Data Buffer Start Address fields are written only by
the host. The RMAC reads these fields to determine where to store packet data.
All other fields are written only by the RMAC.
Receive Packet Descriptor Table
The Receive Packet Descriptor Table resides in host memory and stores all the
RPDs. The RPD Table can contain a maximum of 16384 RPDs. The base of
the RPD table is user programmable using the Rx Packet Descriptor Table Base
(RPDTB) register. The table is indexed by a Receive Packet Descriptor
Reference (RPDR) which is a 14-bit pointer defining the offset of a RPD from the
table base. Thus, as shown in the following diagram, a RPD can be located by
adding the RPDR to the Rx Packet Descriptor Table Base register.