3. Processor Bus Interface
96
PowerSpan II User Manual
80A1010_MA001_09
Integrated Device Technology
www.idt.com
In order to program PowerSpan II to complete 4 byte reads on the PB bus, both the MEM_IO bit and
the MODE bit must be set to 1 in the Processor Bus Slave Image
x
Control register.
In order to perform a 4-byte read from the processor (60x) bus to PCI, the following bits must be
programmed:
•
MEM_IO bit set to 1
•
MODE bit set to 1
•
END bit, in the
“Processor Bus Slave Image x Control Register” on page 287
, must not be set to
little-endian mode (00). It can be set to PowerPC little-endian (01), or big-endian (10).
The amount of data prefetched on the destination bus is specified using the Prefetch Read Amount
(RD_AMT[2:0]) field in the
“Processor Bus Slave Image x Control Register” on page 287
. If the
Prefetch Keep (PRKEEP) bit is set, then PowerSpan II automatically increments the latched address
every time the processor bus master returns for read data. This PRKEEP function enables a burst read
by the
PowerSpan II PCI Master to be unpacked as smaller transfers on the processor bus.
The PB Interface can generate a 32-byte burst read with a starting address at the second, third or fourth
8-byte quantity. A cache wrap read always causes the PB slave to make a 32-byte read request from the
destination PCI bus. In other words, PRKEEP and RD_AMT[2:0] have no effect.
There are instances where a read requires more data than that specified by RD_AMT. Since PB slaves
cannot terminate transactions, PowerSpan II compensates for a potential hang situation
—
for example,
not having enough read data
—
by over-riding the programming of RD_AMT. PowerSpan II prefetches
the larger data value. This enables the PowerSpan II to accommodate the byte count specified by the
transaction. Alternatively, it initiates a new read transaction on the destination if it does not have
enough data to satisfy the transaction.
The read amount values that can be programmed in the RD_AMT field are shown in
read amount setting determines different values to prefetch from the destination bus.
When the Slave Image Control register is programmed for 4 byte read transactions,
requesting 8 byte reads causes undefined results in the system.
Table 18: Read Amount settings
RD_AMT[2:0]
Data Fetched
000
8 bytes
001
16 bytes
010
32 bytes
011
64 bytes
100
128 bytes
101-111
Reserved