Xilinx PLB PCI Full Bridge PLB PCI Transactions, Remote PLB Master PCI I/O Space PCI Memory Space

Page 32

PLB PCI Full Bridge (v1.00a)

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

PCI I/O Space

PCI Memory Space

PCI Memory Space

Prefetchable or

Transaction

Prefetchable

Non-prefetchable

Non-prefetchable

 

 

 

 

 

 

 

Single Read (<=8 bytes)

I/O Read

Memory Read

Not Supported

 

 

 

 

Read Burst transfer double

I/O Read

Memory Read Multiple

Not Supported

word

 

 

 

 

 

 

 

32

www.xilinx.com

DS508 March 21, 2006

 

 

Product Specification

Image 32
Contents Introduction LogiCORE FactsFeatures PLB PCI Full Bridge v1.00aPLB PCI Full Bridge v1.00a System Reset Evaluation VersionFunctional Description LogiCore Version 3.0 32-bit PCI Core RequirementsBus Interface Parameters Address TranslationExample Cpcibar LEN 1=25 Type Generic Feature Parameter Allowable Values DefaultDescription Name TYPE2 CIPIFBAR3HIGHADDR3 Cincludebaroff PCIBAR3 CplbawidthCPCIBAR2 BARIPIFBAR0 Cplbawidth LEN0PCI2IPIF Fifo Ctrigipif DEPTH-3. PCI2IPIFWrburst Occlevel 2CPCI2IPIFFIFOAConfiguration V3.0 Core Parameters GroupIpif Parameters Group PLB PCI Bus Interface I/O Signals Port Signal Name Interface DescriptionPLB PCI Bridge I/O Signals System SignalsPort Signal Name Interface Description Port Signal Name User Asserted PCI Interrupt Signal Cipifbarnum Ipif BARCIPIFBARHIGHADDR0 CIPIFBAR2PCIBAR0PLB PCI Bridge Parameters-Port Dependencies Contd Generic Cpcibarnum CPCIBAR2IPIFBAR0CPCIBARLEN0 CPCIBAR2IPIFBAR1V3.0 Core Parameters Group Supported PCI Bus Commands Command PLB PCI BridgeSupported PCI Bus Commands Code NameRegister Name PLB Address Access PLB PCI Bridge Register DescriptionsPLB PCI Bus Interface Registers Baseaddr +Register and Parameter Dependencies PLB PCI Bridge Interrupt Registers DescriptionsPLB Master Burst Write Retry Disconnect- Interrupt23 Bits Name Access Reset DescriptionPLB Master Burst Write Retry Timeout- Interrupt22 PCI Initiator Write Serr Enable- Enables this interrupt to PCI Initiator Read Serr Enable- Enables this interrupt toPLB Master Burst Write Retry Timeout Enable- Enables PLB Master Write Master Abort- Interrupt25 indicatesPLB PCI Bridge Reset Register Description Bus Number/Subordinate Bus Number Register Description Configuration Address Port Register DescriptionConfiguration Data Port Register Description IPIFBAR2PCIBARN High-Order Bits Register Description CincludebaroffsetregCIPIFSPACETYPE0=1 Host Bridge Device Number Register Description Host Bridge Device Number Bit assignment assumes 32-bit busPLB PCI Transactions Remote PLB Master PCI I/O Space PCI Memory SpaceTransaction Non-prefetchableTranslation Table for PCI commands to PLB transactions PLB Master Initiates a Read Request of a PCI target Abnormal Terminations PLB PCI Full Bridge v1.00a PLB Master Initiates a Write Request to a PCI Target PerrPLB PCI Full Bridge v1.00a Abnormal Terminations Write Perr interrupt asserted PCI Initiator Initiates a Read Request of a PLB Slave PLB PCI Full Bridge v1.00a Abnormal Terminations Serr PCI Initiator Initiates a Write Request to a PLB SlaveAbnormal condition Memory Read Memory Read Multiple Abnormal Terminations Configuration Transactions Abnormal condition Memory WriteConfiguration Space Header 0x00 0xFF 0x01 PLB PCI Full Bridge v1.00a Design Implementation Design ToolsDesign Debug Design ContraintsNET PCI AD* IOSTANDARD=PCI33 NET PCI CBE* IOSTANDARD=PCI33 Timegrp PCI Pads D OFFSET=IN Target Technology Virtex-4 SupportPLB PCI Full Bridge v1.00a Parameter CIDELAYCTRLLOC=IDELAYCTRLX2Y5-IDELAYCTRLX2Y6 BRAM# GCLK# Device Utilization and Performance BenchmarksParameter Values Device Resources Date Version Revision Reference DocumentsRevision History