User guide
Table Of Contents
- Cyclone V Hard IP for PCI Express User Guide
- Contents
- 1. Datasheet
- 2. Getting Started with the Cyclone V Hard IP for PCI Express
- 3. Getting Started with the Avalon-MM Cyclone Hard IP for PCI Express
- Running Qsys
- Customizing the Cyclone VHard IP for PCI Express IP Core
- Adding the Remaining Components to the Qsys System
- Completing the Connections in Qsys
- Specifying Clocks and Interrupts
- Specifying Exported Interfaces
- Specifying Address Assignments
- Simulating the Example Design
- Simulating the Single DWord Design
- Understanding Channel Placement Guidelines
- Adding Synopsis Design Constraints
- Creating a Quartus II Project
- Compiling the Design
- Programming a Device
- 4. Parameter Settings for the Cyclone V Hard IP for PCI Express
- 5. Parameter Settings for the Avalon-MM Cyclone V Hard IP for PCI Express
- 6. IP Core Architecture
- Key Interfaces
- Protocol Layers
- Multi-Function Support
- PCI Express Avalon-MM Bridge
- Avalon-MM Bridge TLPs
- Avalon-MM-to-PCI Express Write Requests
- Avalon-MM-to-PCI Express Upstream Read Requests
- PCI Express-to-Avalon-MM Read Completions
- PCI Express-to-Avalon-MM Downstream Write Requests
- PCI Express-to-Avalon-MM Downstream Read Requests
- Avalon-MM-to-PCI Express Read Completions
- PCI Express-to-Avalon-MM Address Translation for Endpoints
- Minimizing BAR Sizes and the PCIe Address Space
- Avalon-MM-to-PCI Express Address Translation Algorithm
- Single DWord Completer Endpoint
- 7. IP Core Interfaces
- Cyclone V Hard IP for PCI Express
- Avalon-MM Hard IP for PCI Express
- Physical Layer Interface Signals
- Test Signals
- 8. Register Descriptions
- Configuration Space Register Content
- Altera-Defined Vendor Specific Extended Capability (VSEC)
- PCI Express Avalon-MM Bridge Control Register Access Content
- Avalon-MM to PCI Express Interrupt Registers
- PCI Express Mailbox Registers
- Avalon-MM-to-PCI Express Address Translation Table
- Root Port TLP Data Registers
- Programming Model for Avalon-MM Root Port
- PCI Express to Avalon-MM Interrupt Status and Enable Registers for Root Ports
- PCI Express to Avalon-MM Interrupt Status and Enable Registers for Endpoints
- Avalon-MM Mailbox Registers
- Correspondence between Configuration Space Registers and the PCIe Spec 2.1
- 9. Reset and Clocks
- 10. Transaction Layer Protocol (TLP) Details
- 11. Interrupts
- Interrupts for Endpoints Using the Avalon-ST Application Interface
- Interrupts for Root Ports Using the Avalon-ST Interface to the Application Layer
- Interrupts for Endpoints Using the Avalon-MM Interface to the Application Layer
- Interrupts for End Points Using the Avalon-MM Interface with Multiple MSI/MSI-X Support
- 12. Optional Features
- 13. Flow Control
- 14. Error Handling
- 15. Transceiver PHY IP Reconfiguration
- 16. SDC Timing Constraints
- 17. Testbench and Design Example
- Endpoint Testbench
- Root Port Testbench
- Chaining DMA Design Examples
- Test Driver Module
- Root Port Design Example
- Root Port BFM
- BFM Procedures and Functions
- 18. Debugging
- A. Transaction Layer Packet (TLP) Header Formats
- Additional Information

6–12 Chapter 6: IP Core Architecture
Multi-Function Support
Cyclone V Hard IP for PCI Express December 2013 Altera Corporation
User Guide
Multi-Function Support
The Cyclone V Hard IP for PCI Express supports up to eight functions for Endpoints.
You set up the each function under the Port Functions heading in the parameter
editor. You can configure Cyclone V devices to include both Native and Legacy
Endpoints. Each function replicates the Configuration Space Registers, including logic
for Tag Tracking and Error detection.
Because the Configuration Space is replicated for each function, some Configuration
Space Register settings may conflict. Arbitration logic resolves differences when
settings contain different values across multiple functions. The arbitration logic
implements the rules for resolving conflicts as specified in the PCI Express Base
Specification 2.1. Examples of settings that require arbitration include the following
features:
■ Link Control settings
■ Error detection and logging for non-function-specific errors
■ Error message collapsing
■ Maximum payload size (All functions use the largest specified maximum payload
setting.)
1 Altera strongly recommends that your software configure the Maximum payload size
(in the
Device Control
register) with the same value across all functions.
■ Interrupt message collapsing
You can access the Configuration Space Registers for the active function using the
LMI interface. In Root Port mode, you can also access the Configuration Space
Registers using a Configuration Type TLP. Refer to “Configuration Space Register
Content” on page 8–1 for more information about the Configuration Space Registers.
PCI Express Avalon-MM Bridge
In Qsys, the Cyclone V Hard IP for PCI Express is available with either an Avalon-ST
or an Avalon-MM interface to the Application Layer. When you select the Avalon-MM
Cyclone V Hard IP for PCI Express, an Avalon-MM bridge module connects the PCI
Express link to the interconnect fabric. The bridge facilitates the design of Root Ports
or Endpoints that include Qsys components.
The full-featured Avalon-MM bridge provides three possible Avalon-MM ports: a
bursting master, an optional bursting slave, and an optional non-bursting slave. The
Avalon-MM bridge comprises the following three modules:
■ TX Slave Module—This optional 64- or 128-bit bursting, Avalon-MM dynamic
addressing slave port propagates read and write requests of up to 4 KBytes in size
from the interconnect fabric to the PCI Express link. The bridge translates requests
from the interconnect fabric to PCI Express request packets.
■ RX Master Module—This 64- or 128-bit bursting Avalon-MM master port
propagates PCI Express requests, converting them to bursting read or write
requests to the interconnect fabric. If you select the Single dword variant, this is a
32-bit non-bursting master port.