Plb pci transactions, Earl y access – Xilinx LogiCore PLB PCI Full Bridge User Manual

Page 32

Advertising
background image

PLB PCI Full Bridge (v1.00a)

32

www.xilinx.com

DS508 March 21, 2006
Product Specification

EARL

Y ACCESS

PLB PCI Transactions

The following subsections discuss details of the following types of transactions for the PLB PCI bridge
to realize data throughputs as high as 132 MB/sec. This assumes the PLB clock is 100 MHz or higher.
Lower data rates will be realized with lower PLB clock rates for some transactions.

• The section,

PLB Master Initiates a Read Request of a PCI target

, discusses the PLB master read of a

PCI target where the v3.0 core is the PCI initiator.

• The section,

PLB Master Initiates a Write Request to a PCI Target

, discusses the PLB master write to

a PCI target where the v3.0 core is the PCI initiator.

• The section,

PCI Initiator Initiates a Read Request of a PLB Slave

, discusses the remote PCI initiator

read of a PLB device where the v3.0 core is the PCI target

• The section,

PCI Initiator Initiates a Write Request to a PLB Slave

, discusses the remote PCI initiator

write to a PLB device where the v3.0 core is the PCI target.

• The section,

Configuration Transactions

, discusses PLB master read and write of a PCI target

configuration space where the v3.0 core is the PCI initiator.

PLB transactions that are supported are limited to the subset of PLB transactions that are supported by
the IPIF. This limitation is caused by the time-multiplexed architecture of the PCI bus where addressing
is required to be incremented by 4 bytes per data phase. When operating as a master, the IPIF can either
perform single transactions (i.e., 1-8 bytes) or bursts of an arbitrary length. The length is determined by
the PCI initiator supplying the data and/or by how fast the PCI initiator supplies/accepts the data.
When the IPIF is operating as a PLB slave, it performs single transfers of 1-8 bytes, burst transfers of
any number of double words, and 4, 8 or 16-word line transactions. The IPIF always performs line read
requests on the IPIC with the address double word aligned, independent of the target word requested.
This is required because the PCI time-multiplexed address and data bus requires sequential
addressing. PCI commands that are supported include I/O read, I/O write, memory read, memory
write, memory read multiple, memory read line, and memory write invalidate.

Table 15

shows the

translations of PLB transactions to PCI commands, while in

Table 16

shows the translations of PCI

commands to PLB transactions.

The PCI transactions that are supported is limited to a subset of all PCI transactions because some
features on the PCI are not supported on the PLB. Specifically, dynamic byte enable during multiple
data phase transfers is not supported in burst transactions on the PLB. The PLB supports only full
double words in burst read and write transactions. It is the user’s responsibility to insure that all byte
enables are asserted for remote PCI initiator transactions with multiple data phases.

The Sl_wait signal is utilized in bridge PLB slave responses because the latency in the bridge, and the
possibly-slower PCI clock which would not allow completion of read operations prior to a PLB IPIF
time-out. The IPIF has a timer limiting the bridge response time, however, the timer is inhibited when
Sl_wait is asserted. Bus lock is utilized to eliminate arbitration cycles when appropriate.

Table 15: Translation Table for PLB transactions to PCI commands

Remote PLB Master

Transaction

PCI I/O Space

Prefetchable or

Non-prefetchable

PCI Memory Space

Prefetchable

PCI Memory Space

Non-prefetchable

Single Read (<=8 bytes)

I/O Read

Memory Read

Not Supported

Read Burst transfer double

word

I/O Read

Memory Read Multiple

Not Supported

Advertising