User guide
Virtex-5 FPGA Integrated Endpoint Block www.xilinx.com 65
UG197 (v1.5) July 22, 2009
R
Chapter 4
Integrated Endpoint Block Operation
Summary
This chapter presents information related to designing with the Virtex-5 FPGA Integrated
Endpoint Block. This information assist in understanding the behavior of the block. The
Endpoint Block Plus Wrapper uses this information to interface to the Endpoint Block to
provide a simple LocalLink interface for user designs. The sections include:
• “Flow Control”
• “Configuration Requests”
• “Transaction Ordering”
• “Interrupt Handling”
• “Error Detection”
• “Error Reporting”
• “Message Tags”
• “Phantom Function Support”
• “Lane Width”
• “Lane Reversal”
• “Known Restrictions”
Flow Control
The integrated Endpoint block fully implements the rules given in the PCI Express Base
Specification. Flow control information is passed from the receiving device to the
transmitting device as further credits become available as a result of sent data being read at
the receiver. This involves the receiver side of the Transaction Layer block instructing the
Data Link Layer to send Update Flow Control (UpdateFC) credit value packets to the
device at the other end of the link, normally after each packet is received. The flow control
process is automatically handled by the integrated Endpoint block.
Following the training sequences sent when the integrated Endpoint port is first connected
to another device, the Data Link Layer automatically initializes the process by sending the
requisite flow control initialization packets across the link. The Data Link Layer also
receives flow control initialization packets advertising the number of credits available in
the receive side of the device at the other end of the link.
For the system to work, the devices at each end of the link must behave correctly and never
transmit more data to the Receiver’s RX buffers than it has been told can be accepted. To
ensure this does not happen in the integrated Endpoint block, the Transaction Layer (TL)
keeps a count of the header and data credits consumed by the packets of each type that it