
84
Am79C965A
Bus Master and Bus Slave Data
Byte Placement
The general rule of data placement is that the active
data byte lanes are indicated by the byte enable signals
for all transfers. Note that during all master read
operations, the PCnet-32 controller will always activate
all byte enables, even though some byte lanes may not
contain
“
valid
”
data as indicated by a buffer pointer
value. In such instances, the PCnet-32 controller will
internally discard unneeded bytes.
Note that in all 32-bit environments, regardless of the
mode settings, the placement of data bytes on the data
bus during all PCnet-32 controller bus operations
(master and slave) will proceed in accordance with the
data byte duplication rules of the Am386DX. The
Am386DX requirement is for duplication of active data
bytes in corresponding lower-half byte lanes when the
access is a byte or word access that utilizes the upper
half of the data bus. PCnet-32 controller performs data
byte duplication in this manner. The Am386DX does
not indicate byte duplication when the active data bytes
of a byte or word access are exclusively contained in
the lower half of the data bus, therefore, the PCnet-32
controller will not perform data byte duplication in this
case. Byte duplication for bus master writes and bus
slave reads will follow Table 25.
A[1:0] in the table refer to software pointers, since
A[1:0] pins do not physically exist in the system.
(Software pointers include I/O address software
pointers in the driver code for I/O accesses to the
PCnet-32 controller, or software pointers for the
initialization block, descriptor areas or buffer areas that
are used by the PCnet-32 controller during master
accesses.)
For master read operations, the PCnet-32 controller
expects data according to the byte enable signaling
only. Byte lanes with inactive byte enables are
expected to carry invalid data.
For slave write operations, the PCnet-32 controller ex-
pects data according to the byte enable signaling only.
Byte lanes with inactive byte enables are expected to
carry invalid data.
For master write operations, the PCnet-32 controller
will produce data as indicated in Table 25.
For slave read operations, the PCnet-32 controller will
produce data as indicated for the BSWP = 0 cases in
Table 25, regardless of the actual setting of the BSWP
bit
.