11.07.2015 Views

Xilinx PG054 7 Series FPGAs Integrated Block for PCI Express ...

Xilinx PG054 7 Series FPGAs Integrated Block for PCI Express ...

Xilinx PG054 7 Series FPGAs Integrated Block for PCI Express ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

General Design GuidelinesX-Ref Target - Figure 3-2AXI Bit 63 32 31 0AXI Byte+7 +6 +5 +4 +3+2 +1 +0<strong>PCI</strong>e Byte+4 +5 +6 +7 +0 +1+2+37 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0Clock 0Clock 1Requester ID TagLast DWBE1st DWR Fmt TType R TC R EBE x 0D P Attr RData[31:0] Address [31:2] RLengthFigure 3-2:Endpoint <strong>Integrated</strong> <strong>Block</strong> Byte OrderPackets sent to the core <strong>for</strong> transmission must follow the <strong>for</strong>matting rules <strong>for</strong> TransactionLayer Packets (TLPs) as specified in the “Transaction Layer Specification” chapter of the <strong>PCI</strong><strong>Express</strong> Base Specification. The User Application is responsible <strong>for</strong> ensuring its packets’validity. The core does not check that a packet is correctly <strong>for</strong>med and this can result intransferring a mal<strong>for</strong>med TLP. The exact fields of a given TLP vary depending on the type ofpacket being transmitted.Transmitting Outbound PacketsBasic TLP Transmit OperationThe 7 <strong>Series</strong> <strong>FPGAs</strong> <strong>Integrated</strong> <strong>Block</strong> <strong>for</strong> <strong>PCI</strong> <strong>Express</strong> core automatically transmits thesetypes of packets:• Completions to a remote device in response to Configuration Space requests.• Error-message responses to inbound requests that are mal<strong>for</strong>med or unrecognized bythe core.Note: Certain unrecognized requests, <strong>for</strong> example, unexpected completions, can only bedetected by the User Application, which is responsible <strong>for</strong> generating the appropriate response.The User Application is responsible <strong>for</strong> constructing these types of outbound packets:• Memory, Atomic Ops, and I/O Requests to remote devices.• Completions in response to requests to the User Application, <strong>for</strong> example, a MemoryRead Request.• Completions in response to user-implemented Configuration Space requests, whenenabled. These requests include <strong>PCI</strong> legacy capability registers beyond address BFhand <strong>PCI</strong> <strong>Express</strong> extended capability registers beyond address 1FFh.Note: For important in<strong>for</strong>mation about accessing user-implemented Configuration Space whilein a low-power state, see Power Management, page 139.When configured as an Endpoint, the 7 <strong>Series</strong> <strong>FPGAs</strong> <strong>Integrated</strong> <strong>Block</strong> <strong>for</strong> <strong>PCI</strong> <strong>Express</strong> corenotifies the User Application of pending internally generated TLPs that arbitrate <strong>for</strong> thetransmit datapath by asserting tx_cfg_req (1b). The User Application can choose to givepriority to core-generated TLPs by asserting tx_cfg_gnt (1b) permanently, withoutregard to tx_cfg_req. Doing so prevents User-Application-generated TLPs from being7 <strong>Series</strong> <strong>Integrated</strong> <strong>Block</strong> <strong>for</strong> <strong>PCI</strong>e (v1.6) www.xilinx.com 51<strong>PG054</strong> July 25, 2012

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!