![](http://datasheet.mmic.net.cn/230000/79RC32438-200BB_datasheet_15568909/79RC32438-200BB_286.png)
IDT PCI Bus Interface
PCI Master
79RC32438 User Reference Manual
10 - 18
November 4, 2002
Notes
PCI Master
The PCI master interface, shown in Figure 10.1, provides the ability for the CPU core to read and write
to PCI memory and I/O space. In addition, it allows the CPU core to perform PCI configuration operations.
Although the PCI master interface is an IPBus slave interface, it does not support transactions from masters
other than the CPU core itself. A transaction to memory by any IPBus master other than the CPU core that
maps to PCI space is not acknowledged by the PCI interface and results in an undecoded address error.
The PCI bus interface provides four mapping regions from an IPBus local address space to the PCI bus.
Each mapping region has a corresponding PCI Local Base Address (PCILBAx) register, PCI Local Base
Address Control (PCILBAxC) register, and PCI Local Base Address Mapping (PCILBAxM) register. The
PCILBAx holds the local address space base address. The PCILBAxC register holds the configuration
information for the mapping region. The PCILBAxM register holds the base address of PCI transactions that
map to the PCI Bus address space through PCILBAx. Local Base Addresses in PCILBAx registers should
be non-overlapping. If they are overlapping, one will be chosen. The PCI addresses which are mapped by
one or more PCILBAxM registers may overlap.
The PCI master interface does not support PCI locking and thus will never assert the PCILOCKN signal.
The PCI master interface will queue a maximum of four writes to the PCI bus and one read from the PCI
bus. The PCI master interface honors byte enables, allowing individual bytes to be read and written using
I/O and memory PCI transactions.
When a PCI master interface issues a memory read, memory read line, or a memory read multiple
transaction that is terminated early (e.g., a target disconnect), the PCI master may reissue the read using
the preferred read transaction. See the PCI specification 2.2 section 3.1.2 for the definition of preferred read
transactions.
I/O Read
All IPBus read transactions whose address matches the base address in a PCI Local Base Address
(PCILBAx) register configured for I/O space (i.e., the MSI bit is set in the corresponding PCI Local Base
Address Control (PCILBAxC) register) result in an I/O read transaction on the PCI bus. The value in the
corresponding PCI Local Base Address Map (PCILBAxM) register maps the upper bits of the local IPBus
address to the PCI I/O read address, as indicated by the SIZE field of the PCILBAxC register.
The byte enables on the PCI bus correspond to the size/byte enables of the IPBus read operation (i.e.,
byte, halfword, triple-byte or word).
0101
Reserved
No
No
No
Ignored
0110
Memory Read
Yes
Yes
No
Yes
0111
Memory Write
Yes
No
Yes
Yes
1000
Reserved
No
No
No
Ignored
1001
Reserved
No
No
No
Ignored
1010
Configuration Read
Yes
No
No
Yes
1011
Configuration Write
Yes
No
No
Yes
1100
Memory Read Multiple
No
No
Yes
Yes
1101
Dual Address Cycle
No
No
No
Ignored
1110
Memory Read Line
Yes
Yes
No
Yes
1111
Memory Write-and-Invalidate
No
No
Yes
Yes
CBEN[3:0]
Command
IPBus
Master
DMA
Ch. 9 PCI
Master
DMA
Ch. 8 PCI
Master
PCI
Target
Table 10.6 Supported PCI Transactions (Part 2 of 2)