PLB PCI Full Bridge (v1.00a)
DS508 March 21, 2006
www.xilinx.com
45
Product Specification
EAR
LY
ACCESS
number of double words are written, the IPIF master burst writes starts after the PCI transaction ends.
The bridge attempts to burst write all the data to the PLB slave device.
Although dynamic byte enable is supported on the PCI bus, dynamic byte enable is not supported by
the PLB PCI bridge due to the fact that the PLB protocol requires all byte enables to be asserted during
burst writes on the PLB. Consequently, it is the user’s responsibility to insure that all byte enables be
asserted on the PCI in burst write operations to the PLB PCI bridge.
A PCI initiator can write any number of double words of data in a burst operation to the PLB PCI
bridge and the bridge will attempt to burst the data to the PLB slave in a burst write operation on the
PLB. The slave may terminate the PLB burst or the FIFO may empty because the FIFO is not filled as
fast as the data is transmitted over the PLB.
Only one PCI initiator write to a PLB slave is supported at a time. It is possible for the PLB PCI Bridge
to be completing a posted write operation when another write command is received. When this
happens, the PLB PCI Bridge will force the v3.0 to disconnect without data until the posted write
operation to a remote PLB slave has completed.
A write to a remote slave that is teminated before the FIFO is emptied is automatically retried by the
PLB/v3.0 bridge. Address bookkeeping is performed in the IPIF to permit the correct sequence of PLB
transactions as either bursts or single transactions and/or combinations of the two as required to
complete the transfer.
Abnormal Terminations
• If an address parity error is detected, the v3.0 core will either claim the transaction and issue a
target abort, or will not claim the transaction and a master abort will occur (see v3.0 core
documentation). If enabled, the v3.0 core asserts SERR_N when address phase parity errors are
detected.
• If SERR_N is asserted by a remote agent in a data phase, the bridge disconnects without data for
burst transfers and the PLB-side PCI Initiator Write SERR interrupt is asserted. If the SERR occurs
after the IP master device has started a PLB transaction, the PLB transaction is terminated as soon
as possible. The PLB PCI Bridge flushes any data and resets for a subsequent transaction. It is left to
the PCI initiator to report the error on the PCI-side and initiate any recovery effort that may be
needed.
• If a PERR error is detected on a write transfer, the v3.0 core asserts the PERR signal, if enabled, and
sets the Detected PERR error in the status register. The PLB PCI Bridge disconnects without data for
burst transfers. On the PLB-side, the bridge terminates the PLB transfer as soon as possible if the
transaction is in progress. Due to the latency in PERR, the data for which the PERR was detected
most likely has been written to the PLB slave. It is left to the PCI initiator to report the error and
initiate any recovery effort that may be needed.
• If at any time while data from the PCI2PLB_FIFO is being written to a PLB slave, a PLB rearbitrate
occurs, the PLB PCI Bridge will perform up to a parameterized number of write retries per PCI
write command. The parameter
C_NUM_IPIF_RETRIES_IN_WRITES
will be set at build time and is an
independent parameter from the one that sets the number of PCI write retries attempted in PLB
Master writes to a PCI target. The wait time between write retries is the PLB arbitration time plus
one PLB clock cycle. This is not a parameterized wait time like in the PLB Master to PCI write
operation. Furthermore, the PLB PCI Bridge IP master write state machine is tied up during the
retry operation, therefore, PCI initiator writes are inhibited. Target disconnects without data (PCI
retry) will be asserted for subsequent PCI transactions when the transactions are inhibited.
If the