
MOTOROLA
Chapter 7. PCI Bus Interface
7-7
The information contained in the two low-order address bits (AD1–AD0) varies by the
address space (memory, I/O, or configuration). Regardless of the encoding scheme, the two
low-order address bits are always included in parity calculations.
For memory accesses, PCI defines two types of ordering controlled by the two low-order
bits of the address—linear burst ordering (AD1–AD0 = 0b00) and cache line toggle (AD1–
AD0 = 0b01). Cache line toggle is an optional feature of PCI and is not implemented on the
MPC105. Since the MPC105 implements linear burst ordering only, AD1–AD0 must be
0b00 during the address phase of any memory access. As a target, the MPC105 executes a
target disconnect after the first data phase completes if AD1–AD0
≠
0b00 during the
address phase of a system memory access. As a master, the MPC105 always encodes AD1–
AD0 = 0b00 for PCI memory space accesses.
The memory address is encoded/decoded using AD31–AD02. Thereafter, the address is
incremented by 4 bytes after each data phase completes until the transaction is terminated
or completed (a 4-byte data width per data phase is implied). Note that the two low-order
bits of the address bus are still included in all parity calculations.
For PCI I/O accesses, all 32 address/data signals are used to provide an address with
granularity of a single byte. The AD1–AD0 signals are used for the generation of DEVSEL
and indicate the least significant valid byte involved in the transfer.
Once a target has claimed an I/O access, it must determine if it can complete the entire
access as indicated by the byte enable signals. If all the selected bytes are not in the address
range of the target, the entire access cannot complete. In this case, the target does not
transfer any data, and terminates the transaction with a target-abort.
PCI supports two types of configuration access, which use different formats for the AD31–
AD0 signals during the address phase. The two low-order bits of the address indicate the
format used for the configuration address phase—Type 0 (AD1–AD0 = 0b00) or Type 1
(AD1–AD0 = 0b01). Both address formats identify a specific device and a specific
configuration register for that device. See Section 7.4.5, “Configuration Cycles,” for
descriptions of the two formats.
7.3.4 Device Selection
The DEVSEL signal is driven by the target of the current transaction. DEVSEL indicates
to the other devices on the PCI bus that the target has decoded the address and claimed the
transaction. DEVSEL may be driven one, two, or three clocks (fast, medium, or slow device
select timing) following the address phase. Device select timing is encoded into the device’s
configuration space status register. If no agent asserts DEVSEL within three clocks of
FRAME, the agent responsible for subtractive decoding may claim the transaction by
asserting DEVSEL.