Last updated for Altera Complete Design Suite: 14.1
Subscribe
Send Feedback
UG-01097_avmm
2014.12.15
101 Innovation Drive
San Jose, CA 95134
www.altera.com
2014.12.15
Bridge
PCIe Hard IP
Block
PIPE
Interface
PHY IP Core
for PCIe
(PCS/PMA)
Serial Data
Transmission
Application
Layer
(User Logic)
Avalon-MM
Interface
www.altera.com
101 Innovation Drive, San Jose, CA 95134
Datasheet
1
UG-01097_avmm
Subscribe
Send Feedback
Stratix V Avalon-MM Interface for PCIe Datasheet
Altera® Stratix® V FPGAs include a configurable, hardened protocol stack for PCI Express
compliant with PCI Express Base Specification 2.1 or 3.0.
The Hard IP for PCI Express IP core using the Avalon ® Memory-Mapped (Avalon-MM) interface
removes some of the complexities associated with the PCIe protocol. For example, it handles all of the
Transaction Layer Protocol (TLP) encoding and decoding. Consequently, you can complete your design
more quickly. The Avalon-MM interface is implemented as a bridge in soft logic. It is available in Qsys.
Figure 1-1: Stratix V PCIe Variant with Avalon-MM Interface
The following figure shows the high-level modules and connecting interfaces for this variant.
®
that is
Table 1-1: PCI Express Data Throughput
The following table shows the aggregate bandwidth of a PCI Express link for Gen1, Gen2, and Gen3 for 1, 2, 4,
and 8 lanes. The protocol specifies 2.5 giga-transfers per second for Gen1, 5.0 giga-transfers per second for Gen2,
and 8.0 giga-transfers per second for Gen3. This table provides bandwidths for a single transmit (TX) or receive
(RX) channel. The numbers double for duplex operation. Gen1 and Gen2 use 8B/10B encoding which introduces
a 20% overhead. In contrast, Gen3 uses 128b/130b encoding which reduces the data throughput lost to encoding
to less than 1%.
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
Link Width in Gigabits Per Second (Gbps)
x1x2x4x8
24816
ISO
9001:2008
Registered
1-2
Features
UG-01097_avmm
2014.12.15
Link Width in Gigabits Per Second (Gbps)
x1x2x4x8
PCI Express Gen2
(5.0 Gbps)
PCI Express Gen3
(8.0 Gbps)
Refer to the PCI Express Reference Design for Stratix V Devices for more information about calculating
bandwidth for the hard IP implementation of PCI Express in many Altera FPGAs, including the Stratix V
Hard IP for PCI Express IP core.
Related Information
• PCI Express Base Specification 2.1 or 3.0
• PCI Express DMA Reference Design for Stratix V Devices
• Creating a System with Qsys
Features
New features in the Quartus® II 14.1 software release:
• Reduced Quartus II compilation warnings by 50%.
The Stratix V Hard IP for PCI Express with the Avalon-MM interface supports the following features:
481632
7.8715.7531.5163
• Complete protocol stack including the Transaction, Data Link, and Physical Layers implemented as
hard IP.
• Support for ×1, ×2, ×4, and ×8 configurations with Gen1, Gen2, or Gen3 lane rates for Root Ports and
Endpoints.
• Dedicated 16 KByte receive buffer.
• Optional hard reset controller for Gen2.
• Optional support for Configuration via Protocol (CvP) using the PCIe link allowing the I/O and core
bitstreams to be stored separately.
• Support for 32- or 64-bit addressing for the Avalon-MM interface to the Application Layer.
• Qsys example designs demonstrating parameterization, design modules, and connectivity.
• Extended credit allocation settings to better optimize the RX buffer space based on application type.
• Optional end-to-end cyclic redundancy code (ECRC) generation and checking and advanced error
reporting (AER) for high reliability applications.
• Support for Configuration Space Bypass Mode, allowing you to design a custom Configuration Space
and support multiple functions.
• Support for Gen3 PIPE simulation.
• Easy to use:
• Flexible configuration.
• No license requirement.
• Example designs to get started.
Altera Corporation
Datasheet
Send Feedback
UG-01097_avmm
2014.12.15
Table 1-2: Feature Comparison for all Hard IP for PCI Express IP Cores
The table compares the features of the four Hard IP for PCI Express IP Cores.
Not supportedSupportedSupportedNot supported
completions
(transparent to
the Application
Layer)
Requests that
Not supportedSupportedSupportedSupported
cross 4 KByte
address
boundary
(transparent to
the Application
Layer)
Polarity
SupportedSupportedSupportedSupported
Inversion of
PIPE interface
signals
Avalon‑MM DMAAvalon‑ST Interface with SR-
IOV
ECRC
SupportedNot supportedNot supportedNot supported
forwarding on
RX and TX
Number of MSI
requests
1, 2, 4, 8, 16, or 321, 2, 4, 8, 16, or 321, 2, 4, 8, 16, or 321, 2, 4, 8, 16, or 32 (for
Physical Functions)
MSI-XSupportedSupportedSupportedSupported
Legacy
SupportedSupportedSupportedSupported
interrupts
Expansion
SupportedNot supportedNot supportedNot supported
ROM
The Stratix VAvalon-MM Interface for PCIe Solutions User Guide explains how to use this IP core and not
the PCI Express protocol. Although there is inevitable overlap between these two purposes, use this
document only in conjunction with an understanding of the PCI Express Base Specification.
Note:
This release provides separate user guides for the different variants. The Related Information
provides links to all versions.
Related Information
Datasheet
• Stratix V Avalon-MM Interface for PCIe Solutions User Guide
• Stratix V Avalon-ST Interface for PCIe Solutions User Guide
• Stratix V Avalon-ST Interface with SR-IOV for PCIe Solutions User Guide
Altera Corporation
Send Feedback
1-6
Release Information
• V-Series Avalon-MM DMA Interface for PCIe Solutions User Guide
Release Information
Table 1-3: Hard IP for PCI Express Release Information
ItemDescription
Version14.1
Release DateDecember 2014
Ordering CodesNo ordering code is required
Product IDsThere are no encrypted files for the Stratix V Hard
IP for PCI Express. The Product ID and Vendor ID
Vendor ID
are not required because this IP core does not
require a license.
UG-01097_avmm
2014.12.15
Device Family Support
Table 1-4: Device Family Support
Device FamilySupport
Stratix VFinal. The IP core is verified with final timing
models. The IP core meets all functional and timing
requirements for the device family and can be used
in production designs.
Other device familiesRefer to the Related Information below for other
device families:
Related Information
• Arria V Avalon-MM Interface for PCIe Solutions User Guide
• Arria V Avalon-ST Interface for PCIe Solutions User Guide
• Arria V GZ Avalon-MM Interface for PCIe Solutions User Guide
• Arria V GZ Avalon-ST Interface for PCIe Solutions User Guide
• Arria 10 Avalon-MM Interface for PCIe Solutions User Guide
• Arria 10 Avalon-MM DMA Interface for PCIe Solutions User Guide
• Arria 10 Avalon-ST Interface for PCIe Solutions User Guide
• Cyclone V Avalon-MM Interface for PCIe Solutions User Guide
• Cyclone V Avalon-ST Interface for PCIe Solutions User Guide
• IP Compiler for PCI Express User Guide
Altera Corporation
Datasheet
Send Feedback
Altera FPGA
User Application
Logic
PCIe
Hard IP
RP
PCIe
Hard IP
EP
User Application
Logic
PCI Express Link
Altera FPGA
UG-01097_avmm
2014.12.15
Configurations
The Avalon-MM Stratix V Hard IP for PCI Express includes a full hard IP implementation of the PCI
Express stack comprising the following layers:
• Physical (PHY), including:
• Media Access Control (MAC)
• Data Link Layer (DL)
• Transaction Layer (TL)
When configured as an Endpoint, the Stratix V Hard IP for PCI Express using the Avalon-MM supports
memory read and write requests and completions with or without data.
Figure 1-2: PCI Express Application with a Single Root Port and Endpoint
The following figure shows a PCI Express link between two Stratix V FPGAs.
• Physical Media Attachment (PMA)
• Physical Coding Sublayer (PCS)
Configurations
1-7
Datasheet
Figure 1-3: PCI Express Application Using Configuration via Protocol
The Stratix V design below includes the following components:
• A Root Port that connects directly to a second FPGA that includes an Endpoint.
• Two Endpoints that connect to a PCIe switch.
• A host CPU that implements CvP using the PCI Express link connects through the switch. For more
information about configuration over a PCI Express link, refer to Configuration via Protocol (CvP)
on page 13-1.
Send Feedback
Altera Corporation
PCIe Link
PCIe Hard IP
RP
Switch
PCIe
Hard IP
RP
User Application
Logic
PCIe Hard IP
EP
PCIe Link
PCIe Link
User Application
Logic
Altera FPGA Hard IP for PCI Express
Altera FPGA with Hard IP for PCI Express
Active Serial or
Active Quad
Device Configuration
Configuration via Protocol (CvP)
using the PCI Express Link
Serial or
Quad Flash
USB
Download
cable
PCIe
Hard IP
EP
User
Application
Logic
Altera FPGA with Hard IP for PCI Express
Config
Control
CVP
USB
Host CPU
PCIe
1-8
Example Designs
UG-01097_avmm
2014.12.15
Related Information
Configuration via Protocol (CvP)Implementation in Altera FPGAs User Guide
Example Designs
The following Qsys example designs are available for the Avalon-MM Stratix V Hard IP for PCI Express
IP Core. You can download them from the <install_dir>/ip/altera/altera_pcie/altera_pcie_<dev>__hip_avmm/
example_designs directory:
• ep_g1x1.qsys
• ep_g1x4.qsys
• ep_g1x8.qsys
• ep_g2x1.qsys
• ep_g2x4.qsys
• ep_g2x8.qsys
Related Information
Getting Started with the Avalon-MM Stratix V Hard IP for PCI Express on page 2-1
Altera Corporation
Datasheet
Send Feedback
UG-01097_avmm
2014.12.15
Debug Features
Debug features allow observation and control of the Hard IP for faster debugging of system-level
problems.
Related Information
Debugging on page 14-1
IP Core Verification
To ensure compliance with the PCI Express specification, Altera performs extensive verification. The
simulation environment uses multiple testbenches that consist of industry-standard bus functional
models (BFMs) driving the PCI Express link interface. Altera performs the following tests in the
simulation environment:
• Directed and pseudorandom stimuli are applied to test the Application Layer interface, Configuration
Space, and all types and sizes of TLPs
• Error injection tests that inject errors in the link, TLPs, and Data Link Layer Packets (DLLPs), and
check for the proper responses
• PCI-SIG® Compliance Checklist tests that specifically test the items in the checklist
• Random tests that test a wide range of traffic patterns
Debug Features
1-9
Altera provides the following two example designs that you can leverage to test your PCBs and complete
compliance base board testing (CBB testing) at PCI-SIG.
Related Information
• PCI SIG Gen3 x8 Merged Design - Stratix V
• PCI SIG Gen2 x8 Merged Design - Stratix V
Compatibility Testing Environment
Altera has performed significant hardware testing to ensure a reliable solution. In addition, Altera
internally tests every release with motherboards and PCI Express switches from a variety of manufac‐
turers. All PCI-SIG compliance tests are run with each IP core release.
Performance and Resource Utilization
Because the PCIe protocol stack is implemented in hardened logic, it uses less than 1% of device
resources.
The Avalon-MM soft logic bridge functions as a front end to the hardened protocol stack. The following
table shows the typical device resource utilization for selected configurations using the current version of
the Quartus II software. With the exception of M20K memory blocks, the numbers of ALMs and logic
registers are rounded up to the nearest 50.
Datasheet
Altera Corporation
Send Feedback
1-10
Recommended Speed Grades
Table 1-5: Performance and Resource Utilization Avalon-MM Hard IP for PCI Express
Note: Soft calibration of the transceiver module requires additional logic. The amount of logic required
depends upon the configuration.
UG-01097_avmm
2014.12.15
Related Information
Fitter Resources Reports
Recommended Speed Grades
Table 1-6: Stratix V Recommended Speed Grades for All Avalon-MM Widths and Frequencies
Lane RateLink WidthInterface WidthApplication Clock
Frequency (MHz)
Gen1×8128 Bits125–1, –2, –3, –4
×4128 bits125–1, –2, –3, –4
Gen2
×8128 bits250–1, –2, –3
×2128 bits125–1, –2, –3
Gen3
×4128 bits250–1, –2, –3
Recommended Speed Grades
(2)
(2)
(2)
The -4 speed grade is also possible for this configuration; however, it requires significant effort by the end
user to close timing.
Altera Corporation
×8256 bits250–1, –2, –3
Send Feedback
(2)
Datasheet
UG-01097_avmm
2014.12.15
Related Information
• Area and Timing Optimization
• Altera Software Installation and Licensing Manual
• Setting up and Running Analysis and Synthesis
Steps in Creating a Design for PCI Express
Before you begin
Select the PCIe variant that best meets your design requirements.
• Is your design an Endpoint or Root Port?
• What Generation do you intend to implement?
• What link width do you intend to implement?
• What bandwidth does your application require?
• Does your design require CvP?
1. Select parameters for that variant.
2. Simulate using an Altera-provided example design. All of Altera's PCI Express example designs are
available under <install_dir>/ip/altera/altera_pcie/. Alternatively, create a simulation model and use your
own custom or third-party BFM. The Qsys Generate menu generates simulation models. Altera
supports ModelSim-Altera for all IP. The PCIe cores support the Aldec RivieraPro, Cadence NCsim,
Mentor Graphics ModelSim, and Synopsys VCS and VCS-MX simulators.
3. Compile your design using the Quartus II software. If the versions of your design and the Quartus II
software you are running do not match, regenerate your PCIe design.
4. Download your design to an Altera development board or your own PCB. Click on the All Develop‐
ment Kits link below for a list of Altera's development boards.
5. Test the hardware. You can use Altera's SignalTap® II Logic Analyzer or a third-party protocol
analyzer to observe behavior.
6. Substitute your Application Layer logic for the Application Layer logic in Altera's testbench. Then
repeat Steps 3–6. In Altera's testbenches, the PCIe core is typically called the DUT (device under test).
The Application Layer logic is typically called APPS.
Steps in Creating a Design for PCI Express
1-11
Datasheet
Related Information
• Parameter Settings on page 3-1
• Getting Started with the Avalon-MM Stratix V Hard IP for PCI Express on page 2-1
• All Development Kits
Altera Corporation
Send Feedback
Getting Started with the Avalon‑MM Stratix V
Transaction,
Data Link,
and PHY
Layers
O n-C hip
Memory
DMA
Qsys System Design for PCI Express
PCI Express
Link
PCI
Express
Avalon-MM
Bridge
Interconnect
Avalon-MM Hard IP for PCI Express
Transceiver
Reconfiguration
Controller
www.altera.com
101 Innovation Drive, San Jose, CA 95134
Hard IP for PCI Express
2014.12.15
UG-01097_avmm
Subscribe
You can download a design example for the Avalon-MM Stratix V Hard IP for PCI Express from the
<install_dir>/ip/altera/altera_pcie/altera_pcie-<dev>_hip_avmm/example_designs directory. This walkthrough
uses a Gen2 x4 Endpoint, ep_g2x4.qsys.
The design examples contain the following components:
• Avalon-MM Stratix V Hard IP for PCI Express IP core
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
ISO
9001:2008
Registered
2-2
Running Qsys
The design example transfers data between an on-chip memory buffer located on the Avalon-MM side
and a PCI Express memory buffer located on the root complex side. The data transfer uses the DMA
component which is programmed by the PCI Express software application running on the Root Complex
processor.
The example design also includes the Transceiver Reconfiguration Controller which allows you to
dynamically reconfigure transceiver settings. This component is necessary for high performance
transceiver designs.
Related Information
• Generating the Example Design on page 2-3
• Creating a System with Qsys
This document provides an introduction to Qsys.
Running Qsys
1. Choose Programs > Altera > Quartus II><version_number> (Windows Start menu) to run the
Quartus II software. Alternatively, you can also use the Quartus II Web Edition software.
2. On the File menu, select New, then Qsys System File.
3. Open the ep_g2x4.qsys example design.
UG-01097_avmm
2014.12.15
The following figure shows a Qsys system that includes the Transceiver Reconfiguration Controller and
the Altera PCIe Reconfig Driver IP Cores. The Transceiver Reconfiguration Controller performs dynamic
reconfiguration of the analog transceiver settings to optimize signal quality. You must include these
components to the Qsys system to run successfully in hardware.
Figure 2-2: Qsys Avalon-MM Design for PCIe with Transceiver Reconfiguration Components
Altera Corporation
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
UG-01097_avmm
2014.12.15
Refer to Creating a System with Qsys in volume 1 of the Quartus II Handbook for more information about
how to use Qsys. For an explanation of each Qsys menu item, refer to About Qsys in Quartus II Help.
Related Information
• Creating a System with Qsys
• About Qsys
Generating the Example Design
1. On the Generate menu, select Generate Testbench System. The Generation dialog box appears.
2. Under Testbench System, set the following options:
a. For Create testbench Qsys system, select Standard, BFMs for standard Qsys interfaces.
b. For Create testbench simulation model, select Verilog.
3. You can retain the default values for all other parameters.
4. Click Generate.
5. After Qsys reports Generation Completed, click Close.
6. On the File menu, click Save.
The following table lists the testbench and simulation directories Qsys generates.
Generating the Example Design
2-3
Table 2-1: Qsys System Generated Directories
DirectoryLocation
Qsys system
Testbench
Simulation Model
The design example simulation includes the following components and software:
• The Qsys system
• A testbench. You can view this testbench in Qsys by opening <project_dir>/ep_g2x4/testbench/ep_g2x4_
tb.qsys.
• The ModelSim software
Note:
You can also use any other supported third-party simulator to simulate your design.
Complete the following steps to run the Qsys testbench:
1. In a terminal window, change to the <project_dir>/ep_g2x4/testbench/mentor directory.
2. Start the ModelSim® simulator.
3. Type the following commands in a terminal window:
<project_dir>/ep_g2x4
<project_dir>/ep_g2x4/testbench/<cad_vendor>
<project_dir>/ep_g2x4/testbench/ep_g2x4_tb/
simulation/
a. do msim_setup.tcl
b. ld_debug
c. run 140000 ns
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
Altera Corporation
2-4
Generating the Example Design
The driver performs the following transactions with status of the transactions displayed in the ModelSim
simulation message window:
1. Various configuration accesses to the Avalon-MM Stratix V Hard IP for PCI Express in your system
after the link is initialized
2. Setup of the Address Translation Table for requests that are coming from the DMA component
3. Setup of the DMA controller to read 512 Bytes of data from the Transaction Layer Direct BFM shared
memory
4. Setup of the DMA controller to write the same data back to the Transaction Layer Direct BFM shared
memory
5. Data comparison and report of any mismatch
The following example shows the transcript from a successful simulation run.
Example 2-1: Transcript from ModelSim Simulation of Gen2 x4 Endpoint
# 464 ns Completed initial configuration of Root Port.
# INFO: 2657 ns EP LTSSM State: DETECT.ACTIVE
# INFO: 3661 ns RP LTSSM State: DETECT.ACTIVE
# INFO: 6049 ns EP LTSSM State: POLLING.ACTIVE
# INFO: 6909 ns RP LTSSM State: POLLING.ACTIVE
# INFO: 9037 ns RP LTSSM State: POLLING.CONFIG
# INFO: 9441 ns EP LTSSM State: POLLING.CONFIG
# INFO: 10657 ns EP LTSSM State:CONFIG.LINKWIDTH.START
# INFO: 10829 ns RP LTSSM State: CONFIG.LINKWIDTH.START
# INFO: 11713 ns EP LTSSM State: CONFIG.LINKWIDTH.ACCEPT
# INFO: 12253 ns RP LTSSM State: CONFIG.LINKWIDTH.ACCEPT
# INFO: 12573 ns RP LTSSM State: CONFIG.LANENUM.WAIT
# INFO: 13505 ns EP LTSSM State: CONFIG.LANENUM.WAIT
# INFO: 13825 ns EP LTSSM State: CONFIG.LANENUM.ACCEPT
# INFO: 13853 ns RP LTSSM State: CONFIG.LANENUM.ACCEPT
# INFO: 14173 ns RP LTSSM State: CONFIG.COMPLETE
# INFO: 14721 ns EP LTSSM State: CONFIG.COMPLETE
# INFO: 16001 ns EP LTSSM State: CONFIG.IDLE
# INFO: 16093 ns RP LTSSM State: CONFIG.IDLE
# INFO: 16285 ns RP LTSSM State: L0
# INFO: 16545 ns EP LTSSM State: L0
# INFO: 19112 ns Configuring Bus 001, Device 001, Function 00
# INFO: 19112 ns EP Read Only Configuration Registers:
# INFO: 19112 ns Vendor ID: 0000
# INFO: 19112 ns Device ID: 0001
# INFO: 19112 ns Revision ID: 01
# INFO: 19112 ns Class Code: 000000
# INFO: 19112 ns Subsystem Vendor ID: 0000
# INFO: 19112 ns Subsystem ID: 0000
# INFO: 19112 ns Interrupt Pin: INTA used
# INFO: 20584 ns PCI MSI Capability Register:
# INFO: 20584 ns 64-Bit Address Capable: Supported
# INFO: 20584 ns Messages Requested: 4
# INFO: 28136 ns EP PCI Express Link Status Register (1041):
# INFO: 28136 ns Negotiated Link Width: x4
# INFO: 28136 ns Slot Clock Config: System Reference Clock Used
# INFO: 29685 ns RP LTSSM State: RECOVERY.RCVRLOCK
# INFO: 30561 ns EP LTSSM State: RECOVERY.RCVRLOCK
# INFO: 31297 ns EP LTSSM State: RECOVERY.RCVRCFG
# INFO: 31381 ns RP LTSSM State: RECOVERY.RCVRCFG
# INFO: 32661 ns RP LTSSM State: RECOVERY.IDLE
# INFO: 32961 ns EP LTSSM State: RECOVERY.IDLE
# INFO: 33153 ns EP LTSSM State: L0
# INFO: 33237 ns RP LTSSM State: L0
# INFO: 34696 ns Current Link Speed: 2.5GT/s INFO: 34696 ns
UG-01097_avmm
2014.12.15
Altera Corporation
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
UG-01097_avmm
2014.12.15
Generating the Example Design
# INFO: 36168 ns EP PCI Express Link Control Register (0040):
# INFO: 36168 ns Common Clock Config: System Reference Clock Used
# INFO: 37960 ns EP PCI Express Capabilities Register (0002):
# INFO: 37960 ns Capability Version: 2
# INFO: 37960 ns Port Type: Native Endpoint
# INFO: 37960 ns EP PCI Express Device Capabilities Register(00008020):
# INFO: 37960 ns Max Payload Supported: 128 Bytes
# INFO: 37960 ns Extended Tag: Supported
# INFO: 37960 ns Acceptable L0s Latency: Less Than 64 ns
# INFO: 37960 ns Acceptable L1 Latency: Less Than 1 us
# INFO: 37960 ns Attention Button: Not Present
# INFO: 37960 ns Attention Indicator: Not Present
# INFO: 37960 ns Power Indicator: Not Present
# INFO: 37960 ns EP PCI Express Link Capabilities Register (01406041):
# INFO: 37960 ns Maximum Link Width: x4
# INFO: 37960 ns Supported Link Speed: 2.5GT/s
# INFO: 37960 ns L0s Entry: Not Supported
# INFO: 37960 ns L1 Entry: Not Supported
# INFO: 37960 ns L0s Exit Latency: 2 us to 4 us
# INFO: 37960 ns L1 Exit Latency: Less Than 1 us
# INFO: 37960 ns Port Number: 01
# INFO: 37960 ns Surprise Dwn Err Report: Not Supported
# INFO: 37960 ns DLL Link Active Report: Not Supported
# INFO: 37960 ns EP PCI Express Device Capabilities 2 Register (0000001F):
# INFO: 37960 ns Completion Timeout Rnge: ABCD (50us to 64s)
# INFO: 39512 ns EP PCI Express Device Control Register (0110):
# INFO: 39512 ns Error Reporting Enables: 0
# INFO: 39512 ns Relaxed Ordering: Enabled
# INFO: 39512 ns Error Reporting Enables: 0
# INFO: 39512 ns Relaxed Ordering: Enabled
# INFO: 39512 ns Max Payload: 128 Bytes
# INFO: 39512 ns Extended Tag: Enabled
# INFO: 39512 ns Max Read Request: 128 Bytes
# INFO: 39512 ns EP PCI Express Device Status Register (0000):
# INFO: 41016 ns EP PCI Express Virtual Channel Capability:
# INFO: 41016 ns Virtual Channel: 1
# INFO: 41016 ns Low Priority VC: 0
# INFO: 46456 ns BAR Address Assignments:
# INFO: 46456 ns BAR Size Assigned Address Type
# INFO: 46456 ns BAR1:0 4 MBytes 00000001 00000000 Prefetchable
# INFO: 46456 ns BAR2 32 KBytes 00200000 Non-Prefetchable
# INFO: 46456 ns BAR3 Disabled
# INFO: 46456 ns BAR4 Disabled
# INFO: 46456 ns BAR5 Disabled
# INFO: 46456 ns ExpROM Disabled
# INFO: 48408 ns Completed configuration of Endpoint BAR
# INFO: 50008 ns Starting Target Write/Read Test.
# INFO: 50008 ns Target BAR = 0
# INFO: 50008 ns Length = 000512, Start Offset = 000000
# INFO: 54368 ns Target Write and Read compared okay!
# INFO: 54368 ns Starting DMA Read/Write Test.
# INFO: 54368 ns Setup BAR = 2
# INFO: 54368 ns Length = 000512, Start Offset = 000000
# INFO: 60609 ns Interrupt Monitor: Interrupt INTA Asserted
# INFO: 60609 ns Clear Interrupt INTA
# INFO: 62225 ns Interrupt Monitor: Interrupt INTA Deasserted
# INFO: 69361 ns MSI recieved!
# INFO: 69361ns DMA Read and Write compared okay!
# SUCCESS: Simulation stopped due to successful completion! # Break
at .ep_g1x4_tb/simulation/submodules//altpcietb_bfm_log.v line 78
2-5
Related Information
Simulating Altera Designs
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
Altera Corporation
2-6
Understanding Simulation Log File Generation
Understanding Simulation Log File Generation
Starting with the Quartus II 14.0 software release, simulation automatically creates a log file, altpcie_
monitor_<dev>_dlhip_tlp_file_log.log in your simulation directory.
The PCI Express testbenches run simulations at the register transfer level (RTL). However, it is possible to
create you own gate-level simulations. Contact your Altera Sales Representative for instructions and an
example that illustrate how to create a gate-level simulation from the RTL testbench.
Simulating the Single DWord Design
You can use the same testbench to simulate the Completer-Only Single Dword IP core by changing the
settings in the driver file.
TLP Header
1. In a terminal window, change to the <project_dir>/<variant>/testbench/<variant>_tb/simulation/submodules
2. Open altpcietb_bfm_driver_avmm.v in your text editor.
3. To enable target memory tests and specify the completer-only single dword variant, specify the
4. Change to the <project_dir>/variant/testbench/mentor directory.
5. Start the ModelSim simulator.
6. To run the simulation, type the following commands in a terminal window:
Altera Corporation
directory.
following parameters:
a. parameter RUN_TGT_MEM_TST = 1;
b. parameter RUN_DMA_MEM_TST = 0;
c. parameter AVALON_MM_LITE = 1;
a. do msim_setup.tcl
b. ld_debug (The debug suffix stops optimizations, improving visibility in the ModelSim waveforms.)
c. run 140000 ns
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
UG-01097_avmm
2014.12.15
Generating Quartus II Synthesis Files
1. On the Generate menu, select Generate HDL.
2. For Create HDL design files for synthesis, select Verilog.
You can leave the default settings for all other items.
3. Click Generate to generate files for Quartus II synthesis.
4. Click Finish when the generation completes.
Creating a Quartus II Project
You can create a new Quartus II project with the New Project Wizard, which helps you specify the
working directory for the project, assign the project name, and designate the name of the top-level design
entity.
1. On the Quartus II File menu, click then New Project Wizard, then Next.
2. Click Next in the New Project Wizard: Introduction (The introduction does not appear if you
previously turned it off.)
3. On the Directory, Name, Top-Level Entity page, enter the following information:
Generating Quartus II Synthesis Files
2-7
a. For What is the working directory for this project, browse to <project_dir>/ep_g2x4/synthesis/.
b. For What is the name of this project, select ep_g2x4.v from the synthesis directory.
4. Click Next.
5. On the Add Files page, add<project_dir>/ep_g2x4/synthesis/ep_g2_x4.qip to your Quartus II project. This
file lists all necessary files for Quartus II compilation.
6. Click Next to display the Family & Device Settings page.
7. On the Device page, choose the following target device family and options:
a. In the Family list, select Stratix V (GS/GT/GX/E).
b. In the Devices list, select Stratix V GX PCIe.
c. In the Available devices list, select 5SGXEA7K2F40C2.
8. Click Next to close this page and display the EDA Tool Settings page.
9. From the Simulation list, select ModelSim. From the Format list, select the HDL language you intend
to use for simulation.
10.Click Next to display the Summary page.
11.Check the Summary page to ensure that you have entered all the information correctly.
Compiling the Design
1. Before compiling, you need to make a few changes to your top-level Verilog HDL file to create a design
that you can successfully download to a PCB.
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
Altera Corporation
2-8
Programming a Device
a. In the <project_dir>/ep_g2x4_avmm128/synth/, open ep_g2x4_avmm128.v.
b. Comment out the declaration for pcie_a10_hip_0_hip_ctrl_test_in.
c. Add a wire [31:0] pcie_a10_hip_0_hip_ctrl_test_in declaration to the same the same file.
d. Assign pcie_a10_hip_0_hip_ctrl_test_in = 0x000000A8.
e. Connect pcie_a10_hip_0_hip_ctrl_test_in to the test_in port on the Stratix V Hard IP for
PCI Express instance.
2. On the Quartus II Processing menu, click Start Compilation.
3. After compilation, expand the TimeQuest Timing Analyzer folder in the Compilation Report. Note
whether the timing constraints are achieved in the Compilation Report.
If your design does not initially meet the timing constraints, you can find the optimal Fitter settings for
your design by using the Design Space Explorer. To use the Design Space Explorer, click Launch DesignSpace Explorer on the Tools menu.
Programming a Device
After you compile your design, you can program your targeted Altera device and verify your design in
hardware.
For more information about programming Altera FPGAs, refer to Quartus II Programmer.
UG-01097_avmm
2014.12.15
Related Information
Quartus II Programmer
Understanding Channel Placement Guidelines
Stratix V transceivers are organized in banks of six channels. The transceiver bank boundaries are
important for clocking resources, bonding channels, and fitting. Refer to the channel placement figures
following Serial Interface Signals for illustrations of channel placement for x1, x2, x4, and x8 variants.
Related Information
Channel Placement in Arria V GZ and Stratix V GX/GT/GS Devices on page 4-29
Altera Corporation
Getting Started with the Avalon‑MM Stratix V Hard IP for PCI Express
Send Feedback
2014.12.15
www.altera.com
101 Innovation Drive, San Jose, CA 95134
Parameter Settings
3
UG-01097_avmm
Subscribe
Send Feedback
Stratix V and Arria V GZ Avalon-MM System Settings
Table 3-1: System Settings for PCI Express
ParameterValueDescription
Number of Lanesx1, x2, x4, x8Specifies the maximum number of lanes supported.
Lane RateGen1 (2.5 Gbps)
Gen2 (2.5/5.0 Gbps)
Gen3 (2.5/5.0/8.0
Gbps)
Port typeNative Endpoint
Root Port
Specifies the maximum data rate at which the link can operate.
Specifies the port type. Altera recommends Native Endpoint
for all new Endpoint designs. Select Legacy Endpoint only
when you require I/O transaction support for compatibility.
The Endpoint stores parameters in the Type 0 Configuration
Space. The Root Port stores parameters in the Type 1 Configu‐
ration Space.
RX Buffer credit
allocation performance for
received requests
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
Minimum
Low
Balanced
Determines the allocation of posted header credits, posted
data credits, non-posted header credits, completion header
credits, and completion data credits in the 16 KByte RX buffer.
The 5 settings allow you to adjust the credit allocation to
optimize your system. The credit allocation for the selected
setting displays in the message pane.
Refer to the Throughput Optimization chapter for more
information about optimizing performance. The Flow Control
chapter explains how the RX credit allocation and the
Maximum payload RX Buffer credit allocation and the
Maximum payload size that you choose affect the allocation
ISO
9001:2008
Registered
3-2
Stratix V and Arria V GZ Avalon-MM System Settings
ParameterValueDescription
of flow control credits. You can set the Maximum payload
size parameter on the Device tab.
The Message window dynamically updates the number of
credits for Posted, Non-Posted Headers and Data, and
Completion Headers and Data as you change this selection.
• Minimum—configures the minimum PCIe specification
allowed for non-posted and posted request credits, leaving
most of the RX Buffer space for received completion
header and data. Select this option for variations where
application logic generates many read requests and only
infrequently receives single requests from the PCIe link.
• Low—configures a slightly larger amount of RX Buffer
space for non-posted and posted request credits, but still
dedicates most of the space for received completion header
and data. Select this option for variations where application
logic generates many read requests and infrequently
receives small bursts of requests from the PCIe link. This
option is recommended for typical endpoint applications
where most of the PCIe traffic is generated by a DMA
engine that is located in the endpoint application layer
logic.
• Balanced—configures approximately half the RX Buffer
space to received requests and the other half of the RX
Buffer space to received completions. Select this option for
variations where the received requests and received
completions are roughly equal.
UG-01097_avmm
2014.12.15
Reference clock
frequency
Altera Corporation
100 MHz
125 MHz
The PCI Express Base Specification 3.0 requires a
100 MHz ±300 ppm reference clock. The 125 MHz reference
clock is provided as a convenience for systems that include a
125 MHz clock source. For more information about Gen3
operation, refer to 4.3.8 Refclk Specifications for 8.0 GT/sin the
specification.
For Gen3, Altera recommends using a common reference
clock (0 ppm) because when using separate reference clocks
(non 0 ppm), the PCS occasionally must insert SKP symbols,
potentially causes the PCIe link to go to recovery. Stratix V
PCIe Hard IP in Gen1 or Gen2 modes are not affected by this
issue. Systems using the common reference clock (0 ppm) are
not affected by this issue. The primary repercussion of this is a
slight decrease in bandwidth. On Gen3 x8 systems, this
bandwidth impact is negligible. If non 0 ppm mode is
required, so that separate reference clocks are being used,
please contact Altera for further information and guidance.
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
Base Address Register (BAR) Settings
ParameterValueDescription
3-3
Use 62.5 MHz
On/OffThis mode is only available only for Gen1 ×1.
application clock
Enable configu‐
ration via PCI
Express (CvP)
On/OffWhen On, the Quartus II software places the Endpoint in the
location required for configuration via protocol (CvP). For
more information about CvP, click the Configuration viaProtocol (CvP) link below.
Use ATX PLLOn/OffWhen enabled, the Hard IP for PCI Express uses the ATX PLL
instead of the CMU PLL. For other configurations, using the
ATX PLL instead of the CMU PLL reduces the number of
transceiver channels that are necessary. This option requires
the use of the soft reset controller and does not support the
CvP flow.
Enable Hard IP
reset pulse at
power-up when
using the soft
reset controller
On/Off
When On, the soft reset controller generates a pulse at power
up to reset the Hard IP. This pulse ensures that the Hard IP is
reset after programming the device, regardless of the behavior
of the dedicated PCI Express reset pin, perstn. This option is
available for Gen2 and Gen3 designs that use a soft reset
controller.
Related Information
PCI Express Base Specification 2.1 or 3.0
Base Address Register (BAR) Settings
You can configure up to six 32-bit BARs or three 64-bit BARs.
Table 3-2: BAR Registers
ParameterValueDescription
Type
64-bit prefetchable memory
32-bit non-prefetchable memory
32-bit prefetchable memory
Parameter Settings
Disabled
I/O address space
Defining memory as prefetchable allows data in the
region to be fetched ahead anticipating that the
requestor may require more data from the same
region than was originally requested. If you specify
that a memory is prefetchable, it must have the
following 2 attributes:
• Reads do not have side effects
• Write merging is allowed
The 32-bit prefetchable memory and I/O address
space BARs are only available for the Legacy
Endpoint.
Altera Corporation
Send Feedback
3-4
Device Identification Registers
ParameterValueDescription
UG-01097_avmm
2014.12.15
Size
Not configurable
Specifies the memory size calculated from other
parameters you enter.
Device Identification Registers
Table 3-3: Device ID Registers
The following table lists the default values of the read-only Device ID registers. You can use the parameter editor
to change the values of these registers. Refer to Type 0 Configuration Space Registers for the layout of the Device
Identification registers.
Register NameRangeDefault ValueDescription
Vendor ID16 bits0x00000000Sets the read-only value of the Vendor ID register. This
parameter cannot be set to 0xFFFF, per the PCI ExpressSpecification.
Address offset: 0x000.
Device ID16 bits0x00000001Sets the read-only value of the Device ID register. This
register is only valid in the Type 0 (Endpoint) Configu‐
ration Space.
Address offset: 0x000.
Revision ID8 bits0x00000001Sets the read-only value of the Revision ID register.
Address offset: 0x008.
Class code24 bits0x00000000Sets the read-only value of the Class Code register.
Address offset: 0x008.
Subsystem
Vendor ID
16 bits0x00000000Sets the read-only value of the Subsystem Vendor ID
register in the PCI Type 0 Configuration Space. This
parameter cannot be set to 0xFFFF per the PCI ExpressBase Specification. This value is assigned by PCI-SIG to
the device manufacturer. This register is only valid in
the Type 0 (Endpoint) Configuration Space.
Address offset: 0x02C.
Subsystem
Device ID
16 bits0x00000000Sets the read-only value of the Subsystem Device ID
register in the PCI Type 0 Configuration Space.
Address offset: 0x02C
Altera Corporation
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
Related Information
PCI Express Base Specification 2.1 or 3.0
PCI Express and PCI Capabilities Parameters
This group of parameters defines various capability properties of the IP core. Some of these parameters
are stored in the PCI Configuration Space - PCI Compatible Configuration Space. The byte offset
indicates the parameter address.
Device Capabilities
Table 3-4: Capabilities Registers
ParameterPossible ValuesDefault ValueDescription
PCI Express and PCI Capabilities Parameters
3-5
Maximum
payload size
Completion
timeout
range
128 bytes
256 bytes
ABCD
BCD
ABC
AB
B
A
None
128 bytesSpecifies the maximum payload size supported. This
parameter sets the read-only value of the max payload
size supported field of the Device Capabilities register
(0x084[2:0]). Address: 0x084.
ABCDIndicates device function support for the optional
completion timeout programmability mechanism. This
mechanism allows the system software to modify the
completion timeout value. This field is applicable only to
Root Ports and Endpoints that issue requests on their
own behalf. Completion timeouts are specified and
enabled in the Device Control 2 register (0x0A8) of the
PCI Express Capability Structure Version. For all other
functions this field is reserved and must be hardwired to
0x0000b. Four time value ranges are defined:
• Range A: 50 us to 10 ms
• Range B: 10 ms to 250 ms
• Range C: 250 ms to 4 s
• Range D: 4 s to 64 s
Bits are set to show timeout value ranges supported. The
function must implement a timeout value in the range
50 sto 50 ms. The following values specify the range:
Parameter Settings
Send Feedback
• None—Completion timeout programming is not
supported
• 0001 Range A
• 0010 Range B
• 0011 Ranges A and B
• 0110 Ranges B and C
Altera Corporation
3-6
Error Reporting
ParameterPossible ValuesDefault ValueDescription
• 0111 Ranges A, B, and C
• 1110 Ranges B, C and D
• 1111 Ranges A, B, C, and D
All other values are reserved. Altera recommends that
the completion timeout mechanism expire in no less
than 10 ms.
UG-01097_avmm
2014.12.15
Implement
completion
timeout
disable
On/OffOnFor Endpoints using PCI Express version 2.1 or 3.0, this
option must be On. The timeout range is selectable.
When On, the core supports the completion timeout
disable mechanism via the PCI Express Device
Control Register 2. The Application Layer logic must
implement the actual completion timeout mechanism
for the required ranges.
Error Reporting
Table 3-5: Error Reporting
ParameterValueDefault ValueDescription
Advanced
error
reporting
(AER)
Enable
ECRC
checking
On/OffOffWhen On, enables the Advanced Error Reporting (AER)
capability.
On/OffOffWhen On, enables ECRC checking. Sets the read-only
value of the ECRC check capable bit in the Advanced
Error Capabilities and Control Register. This
parameter requires you to enable the AER capability.
Enable
ECRC
generation
Altera Corporation
On/OffOff
When On, enables ECRC generation capability. Sets the
read-only value of the ECRC generation capable bit in
the Advanced Error Capabilities and Control
Register. This parameter requires you to enable the
AER capability.
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
ParameterValueDefault ValueDescription
Link Capabilities
3-7
Enable
ECRC
forwarding
on the
Avalon-ST
interface
On/OffOffWhen On, enables ECRC forwarding to the Application
Layer. On the Avalon-ST RX path, the incoming TLP
contains the ECRC dword
(1)
and the TD bit is set if an
ECRC exists. On the transmit the TLP from the Applica‐
tion Layer must contain the ECRC dword and have the
TD bit set.
Not applicable for Avalon-MM or Avalon-MM DMA
interfaces.
Track RX
completion
buffer
overflow on
the AvalonST interface
On/OffOffWhen On, the core includes the rxfx_cplbuf_ovf
output status signal to track the RX posted completion
buffer overflow status.
Not applicable for Avalon-MM or Avalon-MM DMA
interfaces.
Note:
1. Throughout this user guide, the terms word, dword and qword have the same meaning that they have
in the PCI Express Base Specification. A word is 16 bits, a dword is 32 bits, and a qword is 64 bits.
Related Information
PCI Express Base Specification Revision 2.1 or 3.0
Link Capabilities
Table 3-6: Link Capabilities
ParameterValueDescription
Link port
number
Slot clock
configuration
0x01Sets the read-only value of the port number field in the Link
Capabilities Register.
On/OffWhen On, indicates that the Endpoint or Root Port uses the
same physical reference clock that the system provides on the
connector. When Off, the IP core uses an independent clock
regardless of the presence of a reference clock on the
connector.
Parameter Settings
Send Feedback
Altera Corporation
3-8
MSI and MSI-X Capabilities
MSI and MSI-X Capabilities
Table 3-7: MSI and MSI-X Capabilities
ParameterValueDescription
UG-01097_avmm
2014.12.15
MSI messages
requested
1, 2, 4, 8, 16Specifies the number of messages the Application Layer can
request. Sets the value of the Multiple Message Capable
field of the Message Control register, 0x050[31:16].
MSI-X Capabilities
Implement MSI-XOn/OffWhen On, enables the MSI-X functionality.
Bit Range
Table size[10:0]System software reads this field to determine the MSI-X Table
size <n>, which is encoded as <n–1>. For example, a returned
value of 2047 indicates a table size of 2048. This field is readonly. Legal range is 0–2047 (211).
Address offset: 0x068[26:16]
Table Offset[31:0]Points to the base of the MSI-X Table. The lower 3 bits of the
table BAR indicator (BIR) are set to zero by software to form a
32-bit qword-aligned offset. This field is read-only.
Table BAR
Indicator
[2:0]Specifies which one of a function’s BARs, located beginning at
0x10 in Configuration Space, is used to map the MSI-X table
into memory space. This field is read-only. Legal range is 0–5.
Pending Bit Array
(PBA) Offset
PBA BAR Indicator
Related Information
PCI Express Base Specification Revision 2.1 or 3.0
Altera Corporation
[31:0]Used as an offset from the address contained in one of the
function’s Base Address registers to point to the base of the
MSI-X PBA. The lower 3 bits of the PBA BIR are set to zero by
software to form a 32-bit qword-aligned offset. This field is
read-only.
[2:0]Specifies the function Base Address registers, located
beginning at 0x10 in Configuration Space, that maps the MSIX PBA into memory space. This field is read-only. Legal range
is 0–5.
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
Power Management
Table 3-8: Power Management Parameters
ParameterValueDescription
Power Management
3-9
Endpoint L0s
acceptable
latency
Endpoint L1
acceptable
latency
Maximum of 64 ns
Maximum of 128 ns
Maximum of 256 ns
Maximum of 512 ns
Maximum of 1 us
Maximum of 2 us
Maximum of 4 us
No limit
Maximum of 1 us
Maximum of 2 us
Maximum of 4 us
Maximum of 8 us
Maximum of 16 us
Maximum of 32 us
No limit
This design parameter specifies the maximum acceptable
latency that the device can tolerate to exit the L0s state for any
links between the device and the root complex. It sets the
read-only value of the Endpoint L0s acceptable latency field of
the Device Capabilities Register (0x084).
This Endpoint does not support the L0s or L1 states. However,
in a switched system there may be links connected to switches
that have L0s and L1 enabled. This parameter is set to allow
system configuration software to read the acceptable latencies
for all devices in the system and the exit latencies for each link
to determine which links can enable Active State Power
Management (ASPM). This setting is disabled for Root Ports.
The default value of this parameter is 64 ns. This is the safest
setting for most designs.
This value indicates the acceptable latency that an Endpoint
can withstand in the transition from the L1 to L0 state. It is an
indirect measure of the Endpoint’s internal buffering. It sets
the read-only value of the Endpoint L1 acceptable latency field
of the Device Capabilities Register.
This Endpoint does not support the L0s or L1 states. However,
a switched system may include links connected to switches
that have L0s and L1 enabled. This parameter is set to allow
system configuration software to read the acceptable latencies
for all devices in the system and the exit latencies for each link
to determine which links can enable Active State Power
Management (ASPM). This setting is disabled for Root Ports.
Parameter Settings
Send Feedback
The default value of this parameter is 1 µs. This is the safest
setting for most designs.
Altera Corporation
3-10
Avalon Memory‑Mapped System Settings
Avalon Memory‑Mapped System Settings
Table 3-9: Avalon Memory-Mapped System Settings
ParameterValueDescription
UG-01097_avmm
2014.12.15
Avalon-MM data width
Avalon-MM address width
Peripheral mode
64-bit
128-bit
32-bit
64-bit
Requester/
Completer
Completer-Only
Specifies the data width for the Application Layer to
Transaction Layer interface. Refer to Application
Layer Clock Frequencies for All Combinations of Link
Width, Data Rate and Application Layer Interface
Widths for all legal combinations of data width,
number of lanes, Application Layer clock frequency,
and data rate.
Specifies the address width for Avalon-MM RX
master ports that access Avalon-MM slaves in the
Avalon address domain. When you select 32-bit
addresses, the PCI Express Avalon-MM Bridge
performs address translation. When you specify 64bits addresses, no address translation is performed in
either direction. The destination address specified is
forwarded to the Avalon-MM interface without any
changes.
For the Avalon-MM interface with DMA, this value
must be set to 64.
Specifies whether the Avalon-MM Stratix V Hard IP
for PCI Express is capable of sending requests to the
upstream PCI Express devices, and whether the
incoming requests are pipelined.
Altera Corporation
Requester/Completer—In this mode, the Hard IP
can send request packets on the PCI Express TX link
and receive request packets on the PCI Express RX
link.
Completer-Only—In this mode, the Hard IP can
receive requests, but cannot initiate upstream
requests. However, it can transmit completion packets
on the PCI Express TX link. This mode removes the
Avalon-MM TX slave port and thereby reduces logic
utilization.
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
Avalon Memory‑Mapped System Settings
ParameterValueDescription
3-11
Single DW CompleterOn/Off
Control register access
On/Off
(CRA) Avalon-MM slave
port
Enable multiple MSI/MSI-X
On/Off
support
This is a non-pipelined version of Completer Only
mode. At any time, only a single request can be
outstanding. Single dword completer uses fewer
resources than Completer Only. This variant is
targeted for systems that require simple read and
write register accesses from a host CPU. If you select
this option, the width of the data for RXM BAR
masters is always 32 bits, regardless of the Avalon-MM width.
For the Avalon-MM interface with DMA, this value
must be Off .
Allows read and write access to bridge registers from
the interconnect fabric using a specialized slave port.
This option is required for Requester/Completer
variants and optional for Completer Only variants.
Enabling this option allows read and write access to
bridge registers, except in the Completer-Only single
dword variations.
When you turn this option On, the core exports
top-level MSI and MSI-X interfaces that you can use
to implement a Customer Interrupt Handler for MSI
and MSI-X interrupts. For more information about
the Custom Interrupt Handler, refer to Interrupts for
End Points Using the Avalon-MM Interface with
-
Multiple MSI/MSI
X Support. If you turn this option
Off, the core handles interrupts internally.
Auto enabled PCIe interrupt
(enabled at power-on)
Parameter Settings
Send Feedback
On/Off
Turning on this option enables the Avalon-MM
Stratix V Hard IP for PCI Express interrupt register at
power-up. Turning off this option disables the
interrupt register at power-up. The setting does not
affect run-time configuration of the interrupt enable
register.
For the Avalon-MM interface with DMA, this value
must be Off.
Altera Corporation
3-12
Avalon Memory‑Mapped System Settings
ParameterValueDescription
Enable hard IP status busOn/OffWhen you turn this option on, your top-level variant
includes the signals necessary to connect to the
Transceiver Reconfiguration Controller IP Core, your
variant, including:
• Link status signals
• ECC error signals
• TX and RX parity error signals
• Completion header and data signals, indicating the
total number of Completion TLPs currently stored
in the RX buffer
Altera recommends that you include the Transceiver
Reconfiguration Controller IP Core in your design to
improve signal quality.
UG-01097_avmm
2014.12.15
Enable hard IP status
On/OffWhen you turn this option on, your top-level variant
extension bus
Avalon to PCIe Address Translation Settings
Number of address pages1, 2, 4, 8, 16, 32,
64, 128, 256, 512
includes signals that are useful for debugging,
including link training and status, error, and the
Transaction Layer Configuration Space signals. The
top-level variant also includes signals showing the
start and end of packets, error, ready, and BAR signals
for the native Avalon-ST interface that connects to the
Transaction Layer. The following signals are included
in the top-level variant:
• Link status signals
• ECC error signals
• Transaction Layer Configuration Space signals
• Avalon-ST packet, error, ready, and BAR signals
Specifies the number of pages required to translate
Avalon-MM addresses to PCI Express addresses
before a request packet is sent to the Transaction
Layer. Each of the 512 possible entries corresponds to
a base address of the PCI Express memory segment of
a specific size. This parameter is only necessary when
you select 32-bit addressing.
Size of address pages4 KBytes–4
Altera Corporation
GBytes
Specifies the size of each memory segment. Each
memory segment must be the same size. Refer to
Avalon-MM-to-PCI Express Address Translation
Algorithm for 32-Bit Bridge for more information
about address translation. This parameter is only
necessary when you select 32-bit addressing.
Parameter Settings
Send Feedback
UG-01097_avmm
2014.12.15
Related Information
Clock Domains on page 6-5
Avalon Memory‑Mapped System Settings
3-13
Parameter Settings
Send Feedback
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the
www.altera.com
101 Innovation Drive, San Jose, CA 95134
Application Layer
2014.12.15
UG-01097_avmm
Subscribe
This chapter describes the top-level signals of the Stratix V Hard IP for PCI Express using the AvalonMM interface to the Application Layer. The Avalon-MM bridge translates PCI Express read, write and
completion TLPs into standard Avalon-MM read and write commands for the Avalon-MM RX Master
Port interface. For the Avalon-MM TX Slave Port interface, the bridge translates Avalon-MM reads and
writes into PCI Express TLPs. The Avalon-MM read and write commands are the same as those used by
master and slave interfaces to access memories and registers. Consequently, you do not need a detailed
understanding of the PCI Express TLPs to use this Avalon-MM variant.
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Figure 4-1: 64- or 128-Bit Avalon-MM Interface to the Application Layer
UG-01097_avmm
2014.12.15
Altera Corporation
Note: Signals listed for BAR0 are the same as those for BAR1–BAR5 when those BARs are enabled in the
Variations using the Avalon-MM interface implement the Avalon-MM protocol described in the AvalonInterface Specifications. Refer to this specification for information about the Avalon-MM protocol,
including timing diagrams.
Related Information
Avalon Interface Specifications
parameter editor.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
32-Bit Non-Bursting Avalon-MM Control Register Access (CRA) Slave Signals
32-Bit Non-Bursting Avalon-MM Control Register Access (CRA) Slave
Signals
The optional CRA port for the full-featured IP core allows upstream PCI Express devices and external
Avalon-MM masters to access internal control and status registers.
Table 4-1: Avalon-MM CRA Slave Interface Signals
4-3
Signal NameDirectio
CraIrq_o
CraReadData_o[31:0]
CraWaitRequest_o
CraAddress_i[13:0]
CraByteEnable_i[3:0]
CraChipSelect_i
CraRead_i
CraWrite_i
Description
n
Output Interrupt request. A port request for an Avalon-MM interrupt.
Output Read data lines
Output Wait request to hold off more requests
InputAn address space of 16,384 bytes is allocated for the control
registers. Avalon-MM slave addresses provide address
resolution down to the width of the slave data bus. Because all
addresses are byte addresses, this address logically goes down
to bit 2. Bits 1 and 0 are 0.
InputByte enable
InputChip select signal to this slave
InputRead enable
InputWrite request
CraWriteData_i[31:0]
InputWrite data
RX Avalon-MM Master Signals
This Avalon-MM master port propagates PCI Express requests to the Qsys interconnect fabric. For the
full-feature IP core it propagates requests as bursting reads or writes. A separate Avalon-MM master port
corresponds to each BAR.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-4
RX Avalon-MM Master Signals
Table 4-2: Avalon-MM RX Master Interface Signals
Signals that include Bar number 0 also exist for BAR1–BAR5 when additional BARs are enabled.
Signal NameDirectionDescription
UG-01097_avmm
2014.12.15
RxmWrite<n>
RxmAddress_<n>_o[31:0]
RxmWriteData_<n>_o[<w>-1:0]
RxmByteEnable_<n>_o[<w>-1:0]
RXMBurstCount_<n>_o[6 or
5:0]
RXMWaitRequest_<n>_o
RXMRead_<n>_o
RXMReadData_<n>_o[<w>-1:0]
OutputAsserted by the core to request a write to an Avalon-
MM slave.
OutputThe address of the Avalon-MM slave being accessed.
OutputRX data being written to slave. <w> = 64 or 128 for the
full-featured IP core. <w> = 32 for the completer-only
IP core.
OutputByte enable for write data.
OutputThe burst count, measured in qwords, of the RX write or
read request. The width indicates the maximum data
that can be requested. The maximum data in a burst is
512 bytes.
InputAsserted by the external Avalon-MM slave to hold data
transfer.
OutputAsserted by the core to request a read.
InputRead data returned from Avalon-MM slave in response
to a read request. This data is sent to the IP core through
the TX interface. <w> = 64 or 128 for the full-featured
IP core. <w> = 32 for the completer-only IP core.
RXMReadDataValid_<n>_i
RxmIrq_<n>[<m>:0], <m>< 16
The following figure illustrates the RX master port propagating requests to the Application Layer and also
shows simultaneous, DMA read and write activity
Altera Corporation
InputAsserted by the system interconnect fabric to indicate
that the read data on is valid.
InputIndicates an interrupt request asserted from the system
interconnect fabric. This signal is only available when
the CRA port is enabled. Qsys-generated variations have
as many as 16 individual interrupt signals (<m>≤15). If
rxm_irq_<n>[<m>:0] is asserted on consecutive cycles
without the deassertion of all interrupt inputs, no MSI
message is sent for subsequent interrupts. To avoid
losing interrupts, software must ensure that all interrupt
sources are cleared for each MSI message received.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
RxmRead_o
RxmReadDataValid_i
RxmReadData_i[63:0]
RxmResetRequest_o
RxmAddress_o[31:0]
RxmWaitRequest_i
RxmWrite_o
RxmBurstCount_o[9:0]
RxmByteEnable_o[7:0]
RxmWriteData_o[63:0]
RxmIrq_i
TxsWrite_i
TxsWriteData_i[63:0]
TxsBurstCount_i[9:0]
TxsByteEnable_i[7:0]
TxsAddress_i[17:0]
TxsWaitRequest_o
TxsRead_i
TxsReadDataValid_o
TxsReadData_o[63:0]
TxsChipSelect_i
.. .. .
8000010080000180
010
.
FFFF
..
000000000002080F
.......
001080
040000408004000
00000..0 .
UG-01097_avmm
2014.12.15
Figure 4-2: Simultaneous DMA Read, DMA Write, and Target Access
64- or 128-Bit Bursting TX Avalon-MM Slave Signals
4-5
64- or 128-Bit Bursting TX Avalon-MM Slave Signals
This optional Avalon-MM bursting slave port propagates requests from the interconnect fabric to the fullfeatured Avalon-MM Stratix V Hard IP for PCI Express. Requests from the interconnect fabric are
translated into PCI Express request packets. Incoming requests can be up to 512 bytes. For better
performance, Altera recommends using smaller read request size (a maximum of 512 bytes).
64- or 128-Bit Avalon-MM Interface to the Application Layer
Altera Corporation
Send Feedback
4-6
64- or 128-Bit Bursting TX Avalon-MM Slave Signals
Table 4-3: Avalon-MM TX Slave Interface Signals
Signal NameDirectionDescription
UG-01097_avmm
2014.12.15
TxsChipSelect_i
TxsRead_i
TxsWrite_i
TxsWriteData[127 or 63:0]
TxsBurstCount[6 or 5:0]
TxsAddress_i[<w>-1:0]
InputThe system interconnect fabric asserts this signal to
select the TX slave port.
InputRead request asserted by the system interconnect fabric
to request a read.
InputWrite request asserted by the system interconnect fabric
to request a write.
InputWrite data sent by the external Avalon-MM master to
the TX slave port.
InputAsserted by the system interconnect fabric indicating
the amount of data requested. The count unit is the
amount of data that is transferred in a single cycle, that
is, the width of the bus. The burst count is limited to 512
bytes.
InputAddress of the read or write request from the external
Avalon-MM master. This address translates to 64-bit or
32-bit PCI Express addresses based on the translation
table. The <w> value is determined when the system is
created.
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
64- or 128-Bit Bursting TX Avalon-MM Slave Signals
Signal NameDirectionDescription
4-7
TxsByteEnable_i[<w>-1:0]
InputWrite byte enable for data. A burst must be continuous.
Therefore all intermediate data phases of a burst must
have a byte enable value of 0xFF. The first and final data
phases of a burst can have other valid values.
For the 128-bit interface, the following restrictions
apply:
• All bytes of a single dword must either be enabled or
disabled
• If more than 1 dword is enabled, the enabled dwords
must be contiguous. The following patterns are legal:
• 16'bF000
• 16'b0F00
• 16'b00F0
• 16'b000F
• 16'bFF00
• 16'b0FF0
• 16'b00FF
• 16'bFFF0
• 16'b0FFF
• 16'bFFFF
TxsReadDataValid_o
TxsReadData_o[127 or 63:0]
TxsWaitrequest_o
OutputAsserted by the bridge to indicate that read data is valid.
OutputThe bridge returns the read data on this bus when the
RX read completions for the read have been received
and stored in the internal buffer.
OutputAsserted by the bridge to hold off read or write data
when running out of buffer space. If this signal is
asserted during an operation, the master should
maintain the TxsRead_i signal (or TxsWrite_i signal
and TxsWriteData) stable until after TxsWaitrequest_
o is deasserted. txs_Read must be deasserted when
TxsWaitrequest_o is deasserted.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-8
Clock Signals
Clock Signals
Table 4-4: Clock Signals
SignalDirectionDescription
UG-01097_avmm
2014.12.15
refclk
coreclkout
InputReference clock for the IP core. It must have the frequency
specified under the System Settings heading in the parameter
editor. This is a dedicated free running input clock to the
dedicated REFCLK pin.
If your design meets the following criteria:
• Enables CvP
• Includes an additional transceiver PHY connected to the same
Transceiver Reconfiguration Controller
then you must connect refclk to the mgmt_clk_clk signal of the
Transceiver Reconfiguration Controller and the additional
transceiver PHY. In addition, if your design includes more than
one Transceiver Reconfiguration Controller on the same side of
the FPGA, they all must share the mgmt_clk_clk signal.
OutputThis is a fixed frequency clock used by the Data Link and
Transaction Layers. To meet PCI Express link bandwidth
constraints, this clock has minimum frequency requirements as
listed in Application Layer Clock Frequency for All Combination
of Link Width, Data Rate and Application Layer Interface Width
in the Reset and Clocks chapter .
Related Information
Clocks on page 6-5
Reset
Refer to Reset and Clocks for more information about the reset sequence and a block diagram of the reset
logic.
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
Table 4-5: Reset Signals
SignalDirectionDescription
Reset
4-9
npor
nreset_status
pin_perst
InputActive low reset signal. In the Altera hardware example designs,
npor is the OR of pin_perst and local_rstn coming from the
software Application Layer. If you do not drive a soft reset signal
from the Application Layer, this signal must be derived from
pin_perst. You cannot disable this signal. Resets the entire IP
Core and transceiver. Asynchronous.
In systems that use the hard reset controller, this signal is edge,
not level sensitive; consequently, you cannot use a low value on
this signal to hold custom logic in reset. For more information
about the hard and soft reset controllers, refer to Reset.
Output
Active low reset signal. It is derived from npor or pin_perstn.
You can use this signal to reset the Application Layer.
InputActive low reset from the PCIe reset pin of the device. pin_perst
resets the datapath and control registers. Configuration via
Protocol (CvP) requires this signal. For more information about
CvP refer to Configuration via Protocol (CvP).
Stratix V devices can have up to 4 instances of the Hard IP for
PCI Express. Each instance has its own pin_perst signal. You
must connect the pin_perst of each Hard IP instance to the
corresponding nPERST pin of the device. These pins have the
following locations:
• NPERSTL0: bottom left Hard IP and CvP blocks
• NPERSTL1: top left Hard IP block
• NPERSTR0: bottom right Hard IP block
• NPERSTR1: top right Hard IP block
For example, if you are using the Hard IP instance in the bottom
left corner of the device, you must connect pin_perst to
NPERSL0.
For maximum use of the Stratix V device, Altera recommends
that you use the bottom left Hard IP first. This is the only
location that supports CvP over a PCIe link. If your design does
not require CvP, you may select other Hard IP blocks.
Refer to the appropriate device pinout for correct pin assignment
for more detailed information about these pins. The PCI ExpressCard Electromechanical Specification 2.0 specifies this pin
requires 3.3 V. You can drive this 3.3V signal to the nPERST*
64- or 128-Bit Avalon-MM Interface to the Application Layer
Altera Corporation
Send Feedback
npor
IO_POF_Load
PCIe_LinkTraining_Enumeration
dl_ltssm[4:0]
detect
detect.active polling.active
L0
4-10
Reset
SignalDirectionDescription
UG-01097_avmm
2014.12.15
even if the V
VCCPGM
of the bank is not 3.3V if the following 2
conditions are met:
• The input signal meets the VIH and VIL specification for
LVTTL.
• The input signal meets the overshoot specification for 100°C
operation as specified by the “Maximum Allowed Overshoot
and Undershoot Voltage” section in volume 3 of the Stratix VDevice Handbook.
Figure 4-3: Reset and Link Training Timing Relationships
The following figure illustrates the timing relationship between npor and the LTSSM L0 state.
Note: To meet the 100 ms system configuration time, you must use the fast passive parallel configuration
scheme with CvP and a 32-bit data width (FPP x32) or use the CvP in autonomous mode.
Table 4-6: Status and Link Training Signals
SignalDirectionDescription
cfg_par_err
OutputIndicates that a parity error in a TLP routed to the internal
Configuration Space. This error is also logged in the Vendor
Specific Extended Capability internal error register. You must
reset the Hard IP if this error occurs.
derr_cor_ext_rcvOutputIndicates a corrected error in the RX buffer. This signal is for
debug only. It is not valid until the RX buffer is filled with data.
This is a pulse, not a level, signal. Internally, the pulse is
generated with the 500 MHz clock. A pulse extender extends the
signal so that the FPGA fabric running at 250 MHz can capture
it. Because the error was corrected by the IP core, no Application
Layer intervention is required.
(3)
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
derr_cor_ext_rplOutputIndicates a corrected ECC error in the retry buffer. This signal is
SignalDirectionDescription
for debug only. Because the error was corrected by the IP core,
no Application Layer intervention is required.
(3)
Reset
4-11
derr_rplOutputIndicates an uncorrectable error in the retry buffer. This signal is
for debug only.
dlup
OutputWhen asserted, indicates that the Hard IP block is in the Data
(3)
Link Control and Management State Machine (DLCMSM) DL_
Up state.
dlup_exit
OutputThis signal is asserted low for one pld_clk cycle when the IP
core exits the DLCMSM DL_Up state, indicating that the Data
Link Layer has lost communication with the other end of the
PCIe link and left the Up state. When this pulse is asserted, the
Application Layer should generate an internal reset signal that is
asserted for at least 32 cycles.
ev128ns
ev1us
hotrst_exit
OutputAsserted every 128 ns to create a time base aligned activity.
OutputAsserted every 1µs to create a time base aligned activity.
OutputHot reset exit. This signal is asserted for 1 clock cycle when the
LTSSM exits the hot reset state. This signal should cause the
Application Layer to be reset. This signal is active low. When this
pulse is asserted, the Application Layer should generate an
internal reset signal that is asserted for at least 32 cycles.
int_status[3:0]
OutputThese signals drive legacy interrupts to the Application Layer as
follows:
• int_status[0]: interrupt signal A
• int_status[1]: interrupt signal B
• int_status[2]: interrupt signal C
• int_status[3]: interrupt signal D
ko_cpl_spc_data[11:0]
OutputThe Application Layer can use this signal to build circuitry to
prevent RX buffer overflow for completion data. Endpoints must
advertise infinite space for completion data; however, RX buffer
space is finite. ko_cpl_spc_data is a static signal that reflects the
total number of 16 byte completion data units that can be stored
in the completion RX buffer.
(3)
Altera does not rigorously test or verify debug signals. Only use debug signals to observe behavior. Do
not use debug signals to drive custom logic.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-12
Reset
SignalDirectionDescription
UG-01097_avmm
2014.12.15
ko_cpl_spc_
header[7:0]
OutputThe Application Layer can use this signal to build circuitry to
prevent RX buffer overflow for completion headers. Endpoints
must advertise infinite space for completion headers; however,
RX buffer space is finite. ko_cpl_spc_header is a static signal
that indicates the total number of completion headers that can be
stored in the RX buffer.
l2_exit
OutputL2 exit. This signal is active low and otherwise remains high. It is
asserted for one cycle (changing value from 1 to 0 and back to 1)
after the LTSSM transitions from l2.idle to detect. When this
pulse is asserted, the Application Layer should generate an
internal reset signal that is asserted for at least 32 cycles.
lane_act[3:0]OutputLane Active Mode: This signal indicates the number of lanes that
configured during link training. The following encodings are
defined:
• 4’b0001: 1 lane
• 4’b0010: 2 lanes
• 4’b0100: 4 lanes
• 4’b1000: 8 lanes
ltssmstate[4:0]
OutputLTSSM state: The LTSSM state machine encoding defines the
following states:
• 00000: Detect.Quiet
• 00001: Detect.Active
• 00010: Polling.Active
• 00011: Polling.Compliance
• 00100: Polling.Configuration
• 00101: Polling.Speed
• 00110: config.Linkwidthstart
• 00111: Config.Linkaccept
• 01000: Config.Lanenumaccept
• 01001: Config.Lanenumwait
• 01010: Config.Complete
• 01011: Config.Idle
• 01100: Recovery.Rcvlock
• 01101: Recovery.Rcvconfig
• 01110: Recovery.Idle
• 01111: L0
• 10000: Disable
• 10001: Loopback.Entry
• 10010: Loopback.Active
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
SignalDirectionDescription
• 10011: Loopback.Exit
• 10100: Hot.Reset
• 10101: L0s
• 11001: L2.transmit.Wake
• 11010: Speed.Recovery
• 11011: Recovery.Equalization, Phase 0
• 11100: Recovery.Equalization, Phase 1
• 11101: Recovery.Equalization, Phase 2
• 11110: recovery.Equalization, Phase 3
Reset
4-13
rx_par_err
tx_par_err[1:0]
OutputWhen asserted for a single cycle, indicates that a parity error was
detected in a TLP at the input of the RX buffer. This error is
logged as an uncorrectable internal error in the VSEC registers.
For more information, refer to Uncorrectable Internal ErrorStatus Register. You must reset the Hard IP if this error occurs
because parity errors can leave the Hard IP in an unknown state.
OutputWhen asserted for a single cycle, indicates a parity error during
TX TLP transmission. These errors are logged in the VSEC
register. The following encodings are defined:
• 2’b10: A parity error was detected by the TX Transaction
Layer. The TLP is nullified and logged as an uncorrectable
internal error in the VSEC registers. For more information,
refer to Uncorrectable Internal Error Status Register.
• 2’b01: Some time later, the parity error is detected by the TX
Data Link Layer which drives 2’b01 to indicate the error.
Reset the IP core when this error is detected. Contact Altera
technical support if resetting becomes unworkable.
Note that not all simulation models assert the Transaction Layer
error bit in conjunction with the Data Link Layer error bit.
• Configuration via Protocol (CvP) Implementation in Altera FPGAs User Guide
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-14
Interrupts for Endpoints when Multiple MSI/MSI‑X Support Is Enabled
UG-01097_avmm
Interrupts for Endpoints when Multiple MSI/MSI‑X Support Is Enabled
Table 4-7: Exported Interrupt Signals for Endpoints when Multiple MSI/MSI‑X Support is Enabled
The following table describes the IP core’s exported interrupt signals when you turn on Enable multiple MSI/
MSI-X support under the Avalon-MM System Settings banner in the parameter editor.
SignalDirectionDescription
2014.12.15
MsiIntfc_o[81:0]
MsiControl_o[15:0]
MsixIntfc_o[15:0]
OutputThis bus provides the following MSI address, data, and enabled
signals:
• MsiIntf_o[81]: Master enable
• MsiIntf_o[80}: MSI enable
• MsiIntf_o[79:64]: MSI data
• MsiIntf_o[63:0]: MSI address
OutputProvides for system software control of MSI as defined in Section
6.8.1.3 Message Control for MSI in the PCI Local Bus Specifica‐
tion, Rev. 3.0. The following fields are defined:
• MsiControl_o[15:9]: Reserved
• MsiControl_o[8]: Per-vector masking capable
• MsiControl_o[7]: 64-bit address capable
• MsiControl_o[6:4]: Multiple Message Enable
• MsiControl_o[3:1]: MSI Message Capable
• MsiControl_o[0]: MSI Enable.
OutputProvides for system software control of MSI-X as defined in
Section 6.8.2.3 Message Control for MSI-X in the PCI Local BusSpecification, Rev. 3.0. The following fields are defined:
IntxReq_i
Altera Corporation
Input
• MsixIntfc_o[15]: Enable
• MsixIntfc_o[14]: Mask
• MsixIntfc_o[13:11]: Reserved
• MsixIntfc_o[10:0]: Table size
When asserted, the Endpoint is requesting attention from the
interrupt service routine unless MSI or MSI-X interrupts are
enabled. Remains asserted until the device driver clears the
pending request.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
clk
IntxReq_i
IntAck_o
clk
IntxReq_i
IntAck_o
UG-01097_avmm
2014.12.15
Physical Layer Interface Signals
SignalDirectionDescription
4-15
IntxAck_o
OutputThis signal is the acknowledge for IntxReq_i. It is asserted for at
least one cycle either when either of the following events occur:
• The Assert_INTA message TLP has been transmitted in
response to the assertion of the IntxReq_i.
• The Deassert_INTA message TLP has been transmitted in
response to the deassertion of the IntxReq_i signal.
Refer to the timing diagrams below.
The following figure illustrates interrupt timing for the legacy interface. In this figure the assertion of
IntxReq_i instructs the Hard IP for PCI Express to send an Assert_INTA message TLP.
Figure 4-4: Legacy Interrupt Assertion
The following figure illustrates the timing for deassertion of legacy interrupts. The assertion of IntxReq_i
instructs the Hard IP for PCI Express to send a Deassert_INTA message.
Figure 4-5: Legacy Interrupt Deassertion
Physical Layer Interface Signals
Altera provides an integrated solution with the Transaction, Data Link and Physical Layers. The IP
Parameter Editor generates a SERDES variation file, <variation>_serdes.v or .vhd , in addition to the Hard
IP variation file, <variation>.v or .vhd. The SERDES entity is included in the library files for PCI Express.
Transceiver Reconfiguration
Dynamic reconfiguration compensates for variations due to process, voltage and temperature (PVT).
Among the analog settings that you can reconfigure are VOD, pre-emphasis, and equalization.
You can use the Altera Transceiver Reconfiguration Controller to dynamically reconfigure analog
settings. For more information about instantiating the Altera Transceiver Reconfiguration Controller IP
core refer to Hard IP Reconfiguration .
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-16
Transceiver Reconfiguration
Table 4-8: Transceiver Control Signals
In this table, <n> is the number of interfaces required.
Signal NameDirectionDescription
UG-01097_avmm
2014.12.15
reconfig_from_
xcvr[(<n>46)-1:0]
reconfig_to_xcvr[(<n>
70)-1:0]
OutputReconfiguration signals to the Transceiver Reconfiguration
Controller.
InputReconfiguration signals from the Transceiver Reconfiguration
Controller.
The following table shows the number of logical reconfiguration and physical interfaces required for
various configurations. The Quartus II Fitter merges logical interfaces to minimize the number of physical
interfaces configured in the hardware. Typically, one logical interface is required for each channel and one
for each PLL. The ×8 variants require an extra channel for PCS clock routing and control. The ×8 variants
use channel 4 for clocking.
Table 4-9: Number of Logical and Physical Reconfiguration Interfaces
VariantLogical Interfaces
Gen1 and Gen2 ×12
Gen1 and Gen2 ×23
Gen1 and Gen2 ×45
Gen1 and Gen2 ×810
Gen3 ×13
Gen3 ×24
Gen3 ×46
Gen3 ×811
For more information about the Transceiver Reconfiguration Controller, refer to the Transceiver Reconfi‐guration Controller chapter in the Altera Transceiver PHY IP Core User Guide .
Related Information
Altera Transceiver PHY IP Core User Guide
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
Hard IP Status Extension
Table 4-10: Hard IP Status Extension Signals
This optional bus adds signals that are useful for debugging to the top-level variant, including:
• The most important native Avalon-ST RX signals
• The Configuration Space signals
• The BAR
• The ECC error
• The signal indicating that the pld_clk is in use
SignalDirectionDescription
Hard IP Status Extension
4-17
pld_clk_inuse
pme_to_sr
OutputWhen asserted, indicates that the Hard IP Transaction Layer is
using the pld_clk as its clock and is ready for operation with the
Application Layer. For reliable operation, hold the Application
Layer in reset until pld_clk_inuse is asserted.
OutputPower management turn off status register.
Root Port—This signal is asserted for 1 clock cycle when the Root
Port receives the pme_turn_off acknowledge message.
Endpoint—This signal is asserted for 1 cycle when the Endpoint
receives the PME_turn_off message from the Root Port.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-18
Hard IP Status Extension
SignalDirectionDescription
UG-01097_avmm
2014.12.15
rx_st_bar[7:0]
OutputThe decoded BAR bits for the TLP. Valid for MRd, MWr, IOWR, and
IORD TLPs. Ignored for the completion or message TLPs. Valid
during the cycle in which rx_st_sop is asserted.
The following encodings are defined for Endpoints:
• Bit 0: BAR 0
• Bit 1: BAR 1
• Bit 2: Bar 2
• Bit 3: Bar 3
• Bit 4: Bar 4
• Bit 5: Bar 5
• Bit 6: Reserved
• Bit 7: Reserved
The following encodings are defined for Root Ports:
• Bit 0: BAR 0
• Bit 1: BAR 1
• Bit 2: Primary Bus number
• Bit 3: Secondary Bus number
• Bit 4: Secondary Bus number to Subordinate Bus number
window
• Bit 5: I/O window
• Bit 6: Non-Prefetchable window
• Bit 7: Prefetchable window
rx_st_data[
rx_st_eopOutputIndicates that this is the last cycle of the TLP when rx_st_valid
rx_st_err
Altera Corporation
<n>-1:0]
OutputReceive data bus. Note that the position of the first payload
dword depends on whether the TLP address is qword aligned.
The mapping of message TLPs is the same as the mapping of
TLPs with 4-dword headers.
is asserted.
OutputIndicates that there is an ECC error in the internal RX buffer.
Active when ECC is enabled. ECC is automatically enabled by the
Quartus II assembler. ECC corrects single-bit errors and detects
double-bit errors on a per byte basis.
When an uncorrectable ECC error is detected, rx_st_err is
asserted for at least 1 cycle while rx_st_valid is asserted.
Altera recommends resetting the Stratix V Hard IP for PCI
Express when an uncorrectable double-bit ECC error is detected.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
Hard IP Status Extension
SignalDirectionDescription
4-19
rx_st_sop
OutputIndicates that this is the first cycle of the TLP when rx_st_valid
is asserted.
rx_st_valid OutputClocks rx_st_data into the Application Layer. Deasserts within
2 clocks of rx_st_ready deassertion and reasserts within 2 clocks
of rx_st_ready assertion if more data is available to send.
serr_out
OutputSystem Error: This signal only applies to Root Port designs that
report each system error detected, assuming the proper enabling
bits are asserted in the Root Control and Device Control
registers. If enabled, serr_out is asserted for a single clock cycle
when a system error occurs. System errors are described in the
PCI Express Base Specification 2.1 or 3.0 in the Root Control
register.
tl_cfg_add[3:0]
OutputAddress of the register that has been updated. This signal is an
index indicating which Configuration Space register information
is being driven onto tl_cfg_ctl.
tl_cfg_sts[52:0]
OutputConfiguration status bits. This information updates every pld_
clk cycle. The following table provides detailed descriptions of
the status bits.
tx_st_readyOutputIndicates that the Transaction Layer is ready to accept data for
transmission. The core deasserts this signal to throttle the data
stream. tx_st_ready may be asserted during reset. The Applica‐
tion Layer should wait at least 2 clock cycles after the reset is
released before issuing packets on the Avalon-ST TX interface.
The reset_status signal can also be used to monitor when the
IP core has come out of reset.
If asserted by the Transaction Layer on cycle <n>tx_st_ready ,
then <n + readyLatency> is a ready cycle, during which the
Application Layer may assert tx_st_valid and transfer data.
When tx_st_ready, tx_st_valid and tx_st_data are
registered (the typical case), Altera recommends a readyLatency
of 2 cycles to facilitate timing closure; however, a readyLatency
of 1 cycle is possible. If no other delays are added to the
read-valid latency, the resulting delay corresponds to a readyLa-
tency of 2.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-20
Hard IP Status Extension
Table 4-11: Mapping Between tl_cfg_sts and Configuration Space Registers
tl_cfg_stsConfiguration Space RegisterDescription
[52:49]Device Status Register[3:0]Records the following errors:
• Bit 3: unsupported request detected
• Bit 2: fatal error detected
• Bit 1: non-fatal error detected
• Bit 0: correctable error detected
[48]Slot Status Register[8]Data Link Layer state changed
UG-01097_avmm
2014.12.15
[47]
Slot Status Register[4]Command completed. (The hot plug
controller completed a command.)
Note: For Root Ports, you enable the
Slot register by turning on UseSlot Power Register in the
parameter editor. When enabled,
access to Command Completed
Interrupt Enable bit of the Slot
Control register remains Read/
Write. This bit should be
hardwired to 1b'0. You should not
write this bit.
[46:31]Link Status Register[15:0]Records the following link status informa‐
tion:
• Bit 15: link autonomous bandwidth status
• Bit 14: link bandwidth management status
• Bit 13: Data Link Layer link active
• Bit 12: Slot clock configuration
• Bit 11: Link Training
• Bit 10: Undefined
• Bits[9:4]: Negotiated Link Width
• Bits[3:0] Link Speed
[30]
Altera Corporation
Link Status 2 Register[0]Current de-emphasis level.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
tl_cfg_stsConfiguration Space RegisterDescription
[29:25]Status Register[15:11]Records the following 5 primary command
[24]Secondary Status Register[8]Master data parity error
[23:6]Root Status Register[17:0]Records the following PME status informa‐
Configuration Space Register Access
status errors:
• Bit 15: detected parity error
• Bit 14: signaled system error
• Bit 13: received master abort
• Bit 12: received target abort
• Bit 11: signalled target abort
tion:
• Bit 17: PME pending
• Bit 16: PME status
• Bits[15:0]: PME request ID[15:0]
4-21
[5:1]Secondary Status Register[15:11]Records the following 5 secondary command
status errors:
• Bit 15: detected parity error
• Bit 14: received system error
• Bit 13: received master abort
• Bit 12: received target abort
• Bit 11: signalled target abort
[0]Secondary Status Register[8]Master Data Parity Error
The tl_cfg_ctl signal is a multiplexed bus that contains the contents of Configuration Space registers as
shown in the figure below. Information stored in the Configuration Space is accessed in round robin
order where tl_cfg_add indicates which register is being accessed. The following table shows the layout
of configuration information that is multiplexed on tl_cfg_ctl.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
0
1
cfg_dev_ctrl[15:0]
31
24
23
16
15
8
7
0
2
3
4
5
6
7
8
9
A
B
C
D
E
F
cfg_dev_ctrl2[15:0]
cfg_link_ctrl[15:0]cfg_link_ctrl2[15:0]
cfg_dev_ctrl[14:12] =
Max Read Req Size
16’h0000cfg_slot_ctrl[15:0]
8’h00cfg_root_ctrl[7:0]
cfg_secbus[7:0]cfg_subbus[7:0]cfg_sec_ctrl[15:0]
cfg_msi_addr[11:0]cfg_io_bas[19:0]
cfg_dev_ctrl[7:5] =
Max Payload
cfg_pgm_cmd[15:0]
cfg_msi_addr[43:32]cfg_io_lim[19:0]
8’h00cfg_np_bas[11:0]cfg_np_lim[11:0]
cfg_msi_addr[31:12]cfg_pr_bas[43:32]
cfg_pr_bas[31:0]
cfg_msi_addr[63:44]cfg_pr_lim[43:32]
cfg_pr_lim[31:0]
cfg_msixcsr[15:09]cfg_msicsr[15:0]
cfg_pmcsr[31:0]
6’h00, tx_ecrcgen[25],
rx_ecrccheck[24]
cfg_tcvcmap[23:0]
cfg_msi_data[15:0]3’b00 0
cfg_busdev[12:0]
4-22
Configuration Space Register Access
Figure 4-6: Multiplexed Configuration Register Information Available on tl_cfg_ctl
Fields in blue are available only for Root Ports.
UG-01097_avmm
2014.12.15
Table 4-12: Configuration Space Register Descriptions
Altera Corporation
RegisterWidthDirectionDescription
cfg_dev_ctrl
cfg_dev_ctrl2
cfg_slot_ctrl
16Outputcfg_devctrl[15:0] is Device Control for the PCI
16Outputcfg_dev2ctrl[15:0] is Device Control 2 for the
16Outputcfg_slot_ctrl[15:0] is the Slot Status of the PCI
Express capability structure.
PCI Express capability structure.
Express capability structure. This register is only
available in Root Port mode.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
Configuration Space Register Access
RegisterWidthDirectionDescription
4-23
cfg_link_ctrl
cfg_link_ctrl2
16Outputcfg_link_ctrl[15:0]is the primary Link Control
of the PCI Express capability structure.
For Gen2 or Gen3 operation, you must write a 1’b1
to the Retrain Link bit (Bit[5] of the cfg_link_
ctrl) of the Root Port to initiate retraining to a
higher data rate after the initial link training to
Gen1 L0 state. Retraining directs the Link Training
and Status State Machine (LTSSM) to the Recovery
state. Retraining to a higher data rate is not
automatic for the Stratix V Hard IP for PCI Express
IP Core even if both devices on the link are capable
of a higher data rate.
16Outputcfg_link_ctrl2[31:16] is the secondary Link
Control register of the PCI Express capability
structure for Gen2 operation.
When tl_cfg_addr=4'b0010, tl_cfg_ctl returns
the primary and secondary Link Control registers,
{ {cfg_link_ctrl[15:0], cfg_link_
ctrl2[15:0]}. The primary Link Status register
contents are available on tl_cfg_sts[46:31].
cfg_prm_cmd
cfg_root_ctrl
cfg_sec_ctrl
cfg_secbus
cfg_subbus
For Gen1 variants, the link bandwidth notification
bit is always set to 0. For Gen2 variants, this bit is
set to 1.
16OutputBase/Primary Command register for the PCI
Configuration Space.
8OutputRoot control and status register of the PCI Express
capability. This register is only available in Root
Port mode.
16OutputSecondary bus Control and Status register of the
PCI Express capability. This register is available
only in Root Port mode.
8OutputSecondary bus number. This register is available
only in Root Port mode.
8OutputSubordinate bus number. This register is available
only in Root Port mode.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-24
Configuration Space Register Access
RegisterWidthDirectionDescription
UG-01097_avmm
2014.12.15
cfg_msi_addr
cfg_io_bas
cfg_io_lim
cfg_np_bas
cfg_np_lim
cfg_pr_bas
64Outputcfg_msi_add[63:32] is the message signaled
interrupt (MSI) upper message address. cfg_msi_
add[31:0] is the MSI message address.
20OutputThe upper 20 bits of the I/O limit registers of the
Type1 Configuration Space. This register is only
available in Root Port mode.
20OutputThe upper 20 bits of the IO limit registers of the
Type1 Configuration Space. This register is only
available in Root Port mode.
12OutputThe upper 12 bits of the memory base register of the
Type1 Configuration Space. This register is only
available in Root Port mode.
12OutputThe upper 12 bits of the memory limit register of
the Type1 Configuration Space. This register is only
available in Root Port mode.
44OutputThe upper 44 bits of the prefetchable base registers
of the Type1 Configuration Space. This register is
only available in Root Port mode.
cfg_pr_lim
cfg_pmcsr
cfg_msixcsr
cfg_msicsr
44OutputThe upper 44 bits of the prefetchable limit registers
of the Type1 Configuration Space. Available in Root
Port mode.
32Outputcfg_pmcsr[31:16] is Power Management Control
and cfg_pmcsr[15:0]is the Power Management
Status register.
16OutputMSI-X message control.
16OutputMSI message control. Refer to the following table
for the fields of this register.
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Field and Bit Map
0134678951
reserved
mask
capability
64-bit
address
capability
multiple message enable multiple message capable
MSI
enable
UG-01097_avmm
2014.12.15
Configuration Space Register Access
RegisterWidthDirectionDescription
4-25
cfg_tcvcmap
24OutputConfiguration traffic class (TC)/virtual channel
(VC) mapping. The Application Layer uses this
signal to generate a TLP mapped to the appropriate
channel based on the traffic class of the packet.
• cfg_tcvcmap[2:0]: Mapping for TC0 (always 0)
• cfg_tcvcmap[5:3]: Mapping for TC1.
• cfg_tcvcmap[8:6]: Mapping for TC2.
• cfg_tcvcmap[11:9]: Mapping for TC3.
• cfg_tcvcmap[14:12]: Mapping for TC4.
• cfg_tcvcmap[17:15]: Mapping for TC5.
• cfg_tcvcmap[20:18]: Mapping for TC6.
• cfg_tcvcmap[23:21]: Mapping for TC7.
cfg_msi_data
cfg_busdev
16Outputcfg_msi_data[15:0] is message data for MSI.
13OutputBus/Device Number captured by or programmed in
the Hard IP.
Figure 4-7: Configuration MSI Control Status Register
.
Table 4-13: Configuration MSI Control Status Register Field Descriptions
Bit(s)FieldDescription
[15:9]ReservedN/A
[8]mask capabilityPer-vector masking capable. This bit is hardwired to 0 because the
[7]64-bit address
capability
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
function does not support the optional MSI per-vector masking
using the Mask_Bits and Pending_Bits registers defined in the
PCI Local Bus Specification. Per-vector masking can be
implemented using Application Layer registers.
64-bit address capable.
• 1: function capable of sending a 64-bit message address
• 0: function not capable of sending a 64-bit message address
Altera Corporation
pld_clk
tl_cfg_add[3:0]
tl_cfg_ctl[31:0]
23456789AB89ABCDE
00... 00...00...7F...
0000000000000000
00...00...
4-26
Configuration Space Register Access Timing
Bit(s)FieldDescription
UG-01097_avmm
2014.12.15
[6:4]multiple message
enable
[3:1]
multiple message
capable
This field indicates permitted values for MSI signals. For example,
if “100” is written to this field 16 MSI signals are allocated.
• 3’b000: 1 MSI allocated
• 3’b001: 2 MSI allocated
• 3’b010: 4 MSI allocated
• 3’b011: 8 MSI allocated
• 3’b100: 16 MSI allocated
• 3’b101: 32 MSI allocated
• 3’b110: Reserved
• 3’b111: Reserved
This field is read by system software to determine the number of
requested MSI messages.
• 3’b000: 1 MSI requested
• 3’b001: 2 MSI requested
• 3’b010: 4 MSI requested
• 3’b011: 8 MSI requested
• 3’b100: 16 MSI requested
• 3’b101: 32 MSI requested
• 3’b110: Reserved
[0]MSI EnableIf set to 0, this component is not permitted to use MSI.
Related Information
• PCI Express Base Specification 2.1 or 3.0
• PCI Local Bus Specification, Rev. 3.0
Configuration Space Register Access Timing
Figure 4-8: tl_cfg_ctl Timing
The following figure shows typical traffic on the tl_cfg_ctl bus. The tl_cfg_add index increments on
the rising edge of the pld_clk. The address specifies which Configuration Space register data value is
being driven onto tl_cfg_ctl.
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
Serial Data Signals
Table 4-14: 1-Bit Interface Signals
SignalDirectionDescription
Serial Data Signals
4-27
(1)
(1)
OutputTransmit output. These signals are the serial outputs of lanes 7–0.
InputReceive input. These signals are the serial inputs of lanes 7–0.
tx_out[7:0]
rx_in[7:0]
Note:
1. The x1 IP core only has lane 0. The x2 IP core only has lanes 1–0. The x4 IP core only has lanes 3–0.
Refer to
Pin-out Files for Altera Devices for pin-out tables for all Altera devices in .pdf, .txt, and .xls
formats.
Transceiver channels are arranged in groups of six. For GX devices, the lowest six channels on the left side
of the device are labeled GXB_L0, the next group is GXB_L1, and so on. Channels on the right side of the
device are labeled GXB_R0, GXB_R1, and so on. Be sure to connect the Hard IP for PCI Express on the
left side of the device to appropriate channels on the left side of the device, as specified in the Pin-out Filesfor Altera Devices.
Related Information
Pin-out Files for Altera Devices
Physical Layout of Hard IP in Stratix V GX/GT/GS Devices
Stratix V devices include one, two, or four Hard IP for PCI Express IP cores. The following figures
illustrate the placement of the PCIe IP cores, transceiver banks, and channels for the largest Stratix V
devices. Note that the bottom left hard IP block includes the CvP functionality for flip chip packages. For
other package types, the CvP functionality is in the bottom right block. All other Hard IP blocks do not
include the CvP functionality.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
3 Ch
6 Ch
6 Ch
6 Ch
6 Ch
6 Ch
3 Ch
6 Ch
6 Ch
6 Ch
6 Ch
6 Ch
PCIe
Hard
IP
PCIe
Hard
IP
PCIe
Hard
IP
IOBANK_B5R
IOBANK_B4R
IOBANK_B3R
IOBANK_B2R
IOBANK_B1R
IOBANK_B0R
IOBANK_B5L
IOBANK_B4L
IOBANK_B3L
IOBANK_B2L
IOBANK_B1L
IOBANK_B0L
Number of Channels
Per Bank
Transceiver
Bank Names
Number of Channels
Per Bank
Transceiver
Bank Names
Ch 5
Ch 4
Ch 3
Ch 2
Ch 1
Ch 0
PCIe
Hard
IP
with
CvP
4-28
Physical Layout of Hard IP in Stratix V GX/GT/GS Devices
Figure 4-9: Stratix V GX/GT/GS Devices with Four PCIe Hard IP Blocks
UG-01097_avmm
2014.12.15
Altera Corporation
Smaller devices include the following PCIe Hard IP Cores:
• One Hard IP for PCIe IP core - bottom left IP core with CvP, located at GX banks L0 and L1
• Two Hard IP for PCIe IP cores - bottom left IP core with CvP and bottom right IP Core, located at
banks L0 and L1, and banks R0 and R1
Refer to Stratix V GX/GT Channel and PCIe Hard IP (HIP) Layout for comprehensive information on the
number of Hard IP for PCIe IP cores available in various Stratix V packages.
Related Information
• Transceiver Architecture in Stratix V Devices
• Pin-Out Files for Altera Devices
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
CMU PLLATX PLL1
PCIe Hard IP
Ch0
Ch1
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
CMU PLL
PCIe Hard IP
ATX PLL1
Ch0
Ch1
Ch2
Ch3
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
CMU PLL
ATX PLL1
Ch0
Ch1
Ch2
Ch3
Ch11
Ch9
Ch8
Ch7
Ch6
Ch10
PCIe Hard IP
Ch5
Ch6
Ch7
Ch4
Ch5
Ch3
Ch2
CMU PLL
Ch0
ATX PLL0
Ch4ATX PLL1
PCIe Hard IP
x1
x8
x2
x4
Ch0
UG-01097_avmm
2014.12.15
Channel Placement in Arria V GZ and Stratix V GX/GT/GS Devices
Channel Placement in Arria V GZ and Stratix V GX/GT/GS Devices
Figure 4-10: Arria V GZ and Stratix V GX/GT/GS Gen1 and Gen2 Channel Placement Using the CMU PLL
In the following figures the channels shaded in blue provide the transmit CMU PLL generating the highspeed serial clock.
4-29
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
Ch5
Ch3
Ch2
CMU PLL
Ch0
ATX PLL0 Gen3
Ch4
PCIe Hard IP
Ch0
Ch5
Ch3
Ch2
PCIe Hard IP
Ch0
Ch1
Ch0
Ch5
Ch3
Ch2
Ch1
Ch1
Ch0
PCIe Hard IP
Ch0
Ch1
Ch2
Ch3
ATX PLL1 Gen3
ATX PLL0
ATX PLL1 Gen3
ATX PLL0
Ch5
Ch3
Ch2
Ch1
Ch0Ch0
Ch1
Ch2
Ch3
Ch11
Ch9
Ch8
Ch7
Ch6
Ch10
PCIe Hard IP
Ch5
Ch6
Ch7
Ch4
ATX PLL0
ATX PLL1 Gen3
ATX PLL0
CMU PLL
ATX PLL1
x1
x8
x2
x4
CMU PLL
CMU PLL
ATX PLL1
4-30
Channel Placement in Arria V GZ and Stratix V GX/GT/GS Devices
Figure 4-11: Arria V GZ and Stratix V GX/GT/GS Gen3 Channel Placement Using the CMU and ATX PLLs
Gen3 requires two PLLs to facilitate rate switching between the Gen1, Gen2, and Gen3 data rates.
Channels shaded in blue provide the transmit CMU PLL generating the high-speed serial clock. The ATX
PLL shaded in blue is the ATX PLL used in these configurations.
UG-01097_avmm
2014.12.15
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
ATX PLL0
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
Ch4
PCIe Hard IP
ATX PLL1
Ch0
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
Ch4ATX PLL1
PCIe Hard IP
Ch0
Ch1
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
ATX PLL0
Ch4
PCIe Hard IP
ATX PLL1
Ch0
Ch1
Ch2
Ch3
Ch5
Ch3
Ch2
Ch1
Ch0
ATX PLL0
ATX PLL1Ch4
ATX PLL1
Ch0
Ch1
Ch2
Ch3
Ch11
Ch9
Ch8
Ch7
Ch6
Ch10
PCIe Hard IP
Ch5
Ch6
Ch7
Ch4
x1
x8
x2
x4
UG-01097_avmm
2014.12.15
Figure 4-12: Arria V GZ and Stratix V GX/GT/GS Gen1 and Gen2 Channel Placement Using the ATX PLL
PIPE Interface Signals
Selecting the ATX PLL has the following advantages over selecting the CMU PLL:
• The ATX PLL saves one channel in Gen1 and Gen2 ×1, ×2, and ×4 configurations.
• The ATX PLL has better jitter performance than the CMU PLL.
Note: You must use the soft reset controller when you select the ATX PLL and you cannot use CvP.
4-31
PIPE Interface Signals
These PIPE signals are available for Gen1, Gen2, and Gen3 variants so that you can simulate using either
the serial or the PIPE interface. Simulation is much faster using the PIPE interface because the PIPE
simulation bypasses the SERDES model . By default, the PIPE interface is 8 bits for Gen1 and Gen2 and 32
bits for Gen3. You can use the PIPE interface for simulation even though your actual design includes a
serial interface to the internal transceivers. However, it is not possible to use the Hard IP PIPE interface in
hardware, including probing these signals using SignalTap® II Embedded Logic Analyzer.
Note:
The Altera Root Port BFM bypasses Gen3 Phase 2 and Phase 3 Equalization. However, Gen3
variants can perform Phase 2 and Phase 3 equalization if instructed by a third-party BFM.
In the following table, signals that include lane number 0 also exist for lanes 1-7.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-32
PIPE Interface Signals
Table 4-15: PIPE Interface Signals
SignalDirectionDescription
UG-01097_avmm
2014.12.15
txdata0[7:0]
txdatak0
OutputTransmit data <n>. This bus transmits data on lane <n>.
OutputTransmit data control <n>. This signal serves as the control bit
for txdata<n>.
txblkst0
OutputFor Gen3 operation, indicates the start of a block in the transmit
direction.
txdataskip0OutputFor Gen3 operation. Allows the MAC to instruct the TX interface
to ignore the TX data interface for one clock cycle. The following
encodings are defined:
• 1’b0: TX data is invalid
• 1’b1: TX data is valid
tx_deemph0
OutputTransmit de-emphasis selection. The Stratix V Hard IP for PCI
Express sets the value for this signal based on the indication
received from the other end of the link during the Training
Sequences (TS). You do not need to change this value.
(2)
(2)
InputReceive data <n>. This bus receives data on lane <n>.
InputReceive data <n>. This bus receives data on lane <n>. Bit 0
rxdata0[7:0]
rxdatak0
corresponds to the lowest-order byte of rxdata, and so on. A
value of 0 indicates a data byte. A value of 1 indicates a control
byte. For Gen1 and Gen2 only.
rxblkst0InputFor Gen3 operation, indicates the start of a block in the receive
txdetectrx0OutputTransmit detect receive <n>. This signal tells the PHY layer to
txelecidleOutputTransmit electrical idle <n>. This signal forces the TX output to
txcompl0OutputTransmit compliance <n>. This signal forces the running
rxpolarity0OutputReceive polarity <n>. This signal instructs the PHY layer to
Altera Corporation
direction.
start a receive detection operation or to begin loopback.
electrical idle.
disparity to negative in Compliance Mode (negative COM
character).
invert the polarity of the 8B/10B receiver decoding block.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
powerdown0[1:0]OutputPower down <n>. This signal requests the PHY to change its
SignalDirectionDescription
power state to the specified state (P0, P0s, P1, or P2).
PIPE Interface Signals
4-33
currentcoeff0[17:0]
OutputFor Gen3, specifies the coefficients to be used by the transmitter.
The 18 bits specify the following coefficients:
• [5:0]: C
• [11:6]: C
• [17:12]: C
currentrxpreset0[2:0]
tx_margin[2:0]OutputTransmit V
OutputFor Gen3 designs, specifies the current preset.
-1
0
+1
margin selection. The value for this signal is based
OD
on the value from the Link Control 2Register. Available for
simulation only.
txswing
OutputWhen asserted, indicates full swing for the transmitter voltage.
When deasserted indicates half swing.
txsynchd0[1:0]OutputFor Gen3 operation, specifies the transmit block type. The
following encodings are defined:
• 2'b01: Ordered Set Block
• 2'b10: Data Block
rxsynchd0[1:0]InputFor Gen3 operation, specifies the receive block type. The
following encodings are defined:
• 2'b01: Ordered Set Block
• 2'b10: Data Block
rxvalid0
(1)
InputReceive valid <n>. This signal indicates symbol lock and valid
data on rxdata<n> and rxdatak<n>.
phystatus0
(1)
InputPHY status <n>. This signal communicates completion of several
PHY requests.
rxelecidle0
(1)
InputReceive electrical idle <n>. When asserted, indicates detection of
an electrical idle.
rxstatus0[2:0]
(1)
InputReceive status <n>. This signal encodes receive status, including
error codes for the receive data stream and receiver detection.
simu_mode_pipeInputWhen set to 1, the PIPE interface is in simulation mode.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Altera Corporation
Send Feedback
4-34
PIPE Interface Signals
SignalDirectionDescription
UG-01097_avmm
2014.12.15
sim_pipe_rate[1:0]
sim_pipe_pclk_in
sim_pipe_pclk_out
sim_pipe_clk250_out
sim_pipe_clk500_out
sim_pipe_
ltssmstate0[4:0]
OutputThe 2-bit encodings have the following meanings:
• 2’b00: Gen1 rate (2.5 Gbps)
• 2’b01: Gen2 rate (5.0 Gbps)
• 2’b1X: Gen3 rate (8.0 Gbps)
InputThis clock is used for PIPE simulation only, and is derived from
the refclk. It is the PIPE interface clock used for PIPE mode
simulation.
OutputTX datapath clock to the BFM PHY. pclk_out is derived from
refclk and provides the source synchronous clock for TX data
from the PHY.
OutputUsed to generate pclk.
OutputUsed to generate pclk.
Input and
Output
LTSSM state: The LTSSM state machine encoding defines the
following states:
• 5’b00000: Detect.Quiet
• 5’b 00001: Detect.Active
• 5’b00010: Polling.Active
• 5’b 00011: Polling.Compliance
• 5’b 00100: Polling.Configuration
• 5’b00101: Polling.Speed
• 5’b00110: config.LinkwidthsStart
• 5’b 00111: Config.Linkaccept
• 5’b 01000: Config.Lanenumaccept
• 5’b01001: Config.Lanenumwait
• 5’b01010: Config.Complete
• 5’b 01011: Config.Idle
• 5’b01100: Recovery.Rcvlock
• 5’b01101: Recovery.Rcvconfig
• 5’b01110: Recovery.Idle
• 5’b 01111: L0
• 5’b10000: Disable
• 5’b10001: Loopback.Entry
• 5’b10010: Loopback.Active
• 5’b10011: Loopback.Exit
• 5’b10100: Hot.Reset
• 5’b10101: L0s
• 5’b11001: L2.transmit.Wake
Altera Corporation
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
UG-01097_avmm
2014.12.15
SignalDirectionDescription
• 5’b11010: Speed.Recovery
• 5’b11011: Recovery.Equalization, Phase 0
• 5’b11100: Recovery.Equalization, Phase 1
• 5’b11101: Recovery.Equalization, Phase 2
• 5’b11110: Recovery.Equalization, Phase 3
• 5’b11111: Recovery.Equalization, Done
PIPE Interface Signals
4-35
rxfreqlocked0
(1)
InputWhen asserted indicates that the pclk_in used for PIPE
simulation is valid.
rxdataskip0OutputFor Gen3 operation. Allows the PCS to instruct the RX interface
to ignore the RX data interface for one clock cycle. The following
encodings are defined:
• 1’b0: RX data is invalid
• 1’b1: RX data is valid
eidleinfersel0[2:0]
OutputElectrical idle entry inference mechanism selection. The
following encodings are defined:
• 3'b0xx: Electrical Idle Inference not required in current
LTSSM state
• 3'b100: Absence of COM/SKP Ordered Set in the 128 us
window for Gen1 or Gen2
• 3'b101: Absence of TS1/TS2 Ordered Set in a 1280 UI interval
for Gen1 or Gen2
• 3'b110: Absence of Electrical Idle Exit in 2000 UI interval for
Gen1 and 16000 UI interval for Gen2
• 3'b111: Absence of Electrical idle exit in 128 us window for
Gen1
Notes:
1. These signals are for simulation only. For Quartus II software compilation, these pipe signals can be
left floating.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
Altera Corporation
4-36
Test Signals
Test Signals
Table 4-16: Test Interface Signals
The test_in bus provides run-time control and monitoring of the internal state of the IP core.
SignalDirectionDescription
UG-01097_avmm
2014.12.15
test_in[31:0]
InputThe bits of the test_in bus have the following definitions:
• [0]: Simulation mode. This signal can be set to 1 to accelerate
initialization by reducing the value of many initialization
counters.
• [1]: Reserved. Must be set to 1’b0
• [2]: Descramble mode disable. This signal must be set to 1
during initialization in order to disable data scrambling. You
can use this bit in simulation for both Endpoints and Root
Ports to observe descrambled data on the link. Descrambled
data cannot be used in open systems because the link partner
typically scrambles the data.
• [4:3]: Reserved. Must be set to 4’b01.
• [5]: Compliance test mode. Disable/force compliance mode.
When set, prevents the LTSSM from entering compliance
mode. Toggling this bit controls the entry and exit from the
compliance state, enabling the transmission of Gen1, Gen2
and Gen3 compliance patterns.
• [6]: Forces entry to compliance mode when a timeout is
reached in the polling.active state and not all lanes have
detected their exit condition.
• [7]: Disable low power state negotiation. Altera recommends
setting thist bit.
• [31:8]: Reserved. Set to all 0s.
Related Information
How can I observe the Hard IP for PCI Express PIPE interface signals for Arria V GZ and Stratix V
devices?
Altera Corporation
For more information about using the test_in to debug, refer to
the Knowledge Base Solution How can I observe the Hard IP for
PCI Express PIPE interface signals for Arria V GZ and Stratix V
devices? in the Related Links below.
64- or 128-Bit Avalon-MM Interface to the Application Layer
Send Feedback
2014.12.15
www.altera.com
101 Innovation Drive, San Jose, CA 95134
Registers
5
UG-01097_avmm
Subscribe
Send Feedback
Correspondence between Configuration Space Registers and the PCIe
Specification
Table 5-1: Correspondence between Configuration Space Capability Structures and PCIe Base
Specification Description
For the Type 0 and Type 1 Configuration Space Headers, the first line of each entry lists Type 0 values and the
second line lists Type 1 values when the values differ.
Byte AddressHard IP Configuration Space RegisterCorresponding Section in PCIe Specification
0x000:0x03CPCI Header Type 0 Configuration RegistersType 0 Configuration Space Header
0x000:0x03CPCI Header Type 1 Configuration RegistersType 1 Configuration Space Header
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
ISO
9001:2008
Registered
5-2
Correspondence between Configuration Space Registers and the PCIe Specification
Byte AddressHard IP Configuration Space RegisterCorresponding Section in PCIe Specification
The Altera-Defined Vendor Specific Extended Capability. This extended capability structure supports
Configuration via Protocol (CvP) programming and detailed internal error reporting.
BitsRegister DescriptionValueAccess
[15:0]PCI Express Extended Capability ID. Altera-defined value for
[19:16]Version. Altera-defined value for VSEC version.0x1RO
VSEC Capability ID.
[31:20]Next Capability Offset. Starting address of the next Capability
Structure implemented, if any.
Registers
Send Feedback
0x000BRO
VariableRO
Altera Corporation
5-10
CvP Registers
Table 5-3: Altera‑Defined Vendor Specific Header
You can specify these values when you instantiate the Hard IP. These registers are read-only at run-time.
BitsRegister DescriptionValueAccess
[15:0]VSEC ID. A user configurable VSEC ID.User enteredRO
[19:16]VSEC Revision. A user configurable VSEC revision.VariableRO
[31:20]VSEC Length. Total length of this structure in bytes.0x044RO
Table 5-4: Altera Marker Register
BitsRegister DescriptionValueAccess
UG-01097_avmm
2014.12.15
[31:0]Altera Marker. This read only register is an additional marker. If
you use the standard Altera Programmer software to configure
A Device
Value
the device with CvP, this marker provides a value that the
programming software reads to ensure that it is operating with
the correct VSEC.
Table 5-5: JTAG Silicon ID Register
BitsRegister DescriptionValueAccess
[127:96]
JTAG Silicon ID DW3
Application
Specific
[95:64]
JTAG Silicon ID DW2
Application
Specific
[63:32]
JTAG Silicon ID DW1
Application
Specific
[31:0]JTAG Silicon ID DW0. This is the JTAG Silicon ID that CvP
programming software reads to determine that the correct SRAM
Application
Specific
object file (.sof) is being used.
RO
RO
RO
RO
RO
Table 5-6: User Device or Board Type ID Register
BitsRegister DescriptionValueAccess
[15:0]Configurable device or board type ID to specify to CvP the
correct .sof.
CvP Registers
Altera Corporation
VariableRO
Registers
Send Feedback
UG-01097_avmm
2014.12.15
Table 5-7: CvP Status
The CvP Status register allows software to monitor the CvP status signals.
BitsRegister DescriptionReset ValueAccess
[31:26]Reserved0x00RO
CvP Registers
5-11
[25]PLD_CORE_READY. From FPGA fabric. This status bit is
VariableRO
provided for debug.
[24]PLD_CLK_IN_USE. From clock switch module to fabric. This
VariableRO
status bit is provided for debug.
[23]CVP_CONFIG_DONE. Indicates that the FPGA control block has
VariableRO
completed the device configuration via CvP and there were
no errors.
[22]ReservedVariableRO
[21]USERMODE. Indicates if the configurable FPGA fabric is in user
VariableRO
mode.
[20]CVP_EN. Indicates if the FPGA control block has enabled CvP
VariableRO
mode.
[19]CVP_CONFIG_ERROR. Reflects the value of this signal from the
VariableRO
FPGA control block, checked by software to determine if
there was an error during configuration.
[18]CVP_CONFIG_READY. Reflects the value of this signal from the
VariableRO
FPGA control block, checked by software during
programming algorithm.
[17:0]ReservedVariableRO
Table 5-8: CvP Mode Control
The CvP Mode Control register provides global control of the CvP operation.
BitsRegister DescriptionReset ValueAccess
[31:16]Reserved.0x0000RO
[15:8]CVP_NUMCLKS.
0x00RW
This is the number of clocks to send for every CvP data write. Set
this field to one of the values below depending on your configura‐
tion image:
• 0x01 for uncompressed and unencrypted images
• 0x04 for uncompressed and encrypted images
• 0x08 for all compressed images
[7:3]Reserved.0x0RO
[2]CVP_FULLCONFIG. Request that the FPGA control block
1’b0RW
reconfigure the entire FPGA including the Stratix V Hard IP for
PCI Express, bring the PCIe link down.
Registers
Altera Corporation
Send Feedback
5-12
CvP Registers
BitsRegister DescriptionReset ValueAccess
UG-01097_avmm
2014.12.15
[1]HIP_CLK_SEL. Selects between PMA and fabric clock when USER_
MODE = 1 and PLD_CORE_READY = 1. The following encodings are
defined:
• 1: Selects internal clock from PMA which is required for CVP_
MODE.
• 0: Selects the clock from soft logic fabric. This setting should
only be used when the fabric is configured in USER_MODE with
a configuration file that connects the correct clock.
To ensure that there is no clock switching during CvP, you should
only change this value when the Hard IP for PCI Express has been
idle for 10 µs and wait 10 µs after changing this value before
resuming activity.
[0]CVP_MODE. Controls whether the IP core is in CVP_MODE or normal
mode. The following encodings are defined:
• 1:CVP_MODE is active. Signals to the FPGA control block active
and all TLPs are routed to the Configuration Space. This CVP_
MODE cannot be enabled if CVP_EN = 0.
• 0: The IP core is in normal mode and TLPs are routed to the
FPGA fabric.
Table 5-9: CvP Data Registers
1’b0RW
1’b0RW
The following table defines the CvP Data registers. For 64-bit data, the optional CvP Data2 stores the upper 32
bits of data. Programming software should write the configuration data to these registers. If you Every write to
these register sets the data output to the FPGA control block and generates <n> clock cycles to the FPGA control
block as specified by the CVP_NUM_CLKS field in the CvP ModeControl register. Software must ensure that all bytes
in the memory write dword are enabled. You can access this register using configuration writes, alternatively,
when in CvP mode, these registers can also be written by a memory write to any address defined by a memory
space BAR for this device. Using memory writes should allow for higher throughput than configuration writes.
BitsRegister DescriptionReset ValueAccess
[31:0]Upper 32 bits of configuration data to be transferred to the FPGA
0x00000000RW
control block to configure the device. You can choose 32- or 64bit data.
[31:0]Lower 32 bits of configuration data to be transferred to the FPGA
0x00000000RW
control block to configure the device.
Table 5-10: CvP Programming Control Register
This register is written by the programming software to control CvP programming.
BitsRegister DescriptionReset ValueAccess
[31:2]Reserved.0x0000RO
Altera Corporation
Registers
Send Feedback
Transaction,
Data Link,
and PHY
Qsys Generated Endpoint (Altera FPGA)
PCI Express Avalon-MM Bridge
Interconnect
Avalon-MM Hard IP for PCI Express
Control and Status Registers
Control Register Access (CRA)
PCIe TLP Address
RX
PCIe
Link
0x0000-0x0FFF: PCIe processors
0x1000-0x1FFF: Addr translation
0x2000-0x2FFF: Root Port TLP Data
0x3000-0x3FFF: Avalon-MM processors
Host
CPU
Avalon-MM
32-Bit Byte Address
Avalon-MM Slave
UG-01097_avmm
2014.12.15
64- or 128-Bit Avalon-MM Bridge Register Descriptions
BitsRegister DescriptionReset ValueAccess
5-13
[1]START_XFER. Sets the CvP output to the FPGA control block
indicating the start of a transfer.
[0]CVP_CONFIG. When asserted, instructs that the FPGA control
block begin a transfer via CvP.
64- or 128-Bit Avalon-MM Bridge Register Descriptions
The CRA Avalon-MM slave module provides access control and status registers in the PCI Express
Avalon-MM bridge. In addition, it provides access to selected Configuration Space registers and link
status registers in read-only mode. This module is optional. However, you must include it to access the
registers.
The control and status register address space is 16 KBytes. Each 4-KByte sub-region contains a set of
functions, which may be specific to accesses from the PCI Express Root Complex only, from Avalon-MM
processors only, or from both types of processors. Because all accesses come across the interconnect fabric
—requests from the Avalon-MM Stratix V Hard IP for PCI Express are routed through the interconnect
fabric—hardware does not enforce restrictions to limit individual processor access to specific regions.
However, the regions are designed to enable straight-forward enforcement by processor software. The
following figure illustrates accesses to the Avalon-MM control and status registers from the Host CPU
and PCI Express link.
1’b0RW
1’b0RW
Figure 5-9: Accesses to the Avalon-MM Bridge Control and Status Register
Registers
Send Feedback
Altera Corporation
5-14
64- or 128-Bit Avalon-MM Bridge Register Descriptions
The following table describes the four subregions.
Table 5-11: Avalon-MM Control and Status Register Address Spaces
AddressRangeAddress Space Usage
0x0000-0x0FFFRegisters typically intended for access by PCI Express link partner only. This includes
PCI Express interrupt enable controls, write access to the PCI Express Avalon-MM
bridge mailbox registers, and read access to Avalon-MM-to-PCI Express mailbox
registers.
0x1000-0x1FFFAvalon-MM-to-PCI Express address translation tables. Depending on the system
design these may be accessed by the PCI Express link partner, Avalon-MM processors,
or both.
0x2000-0x2FFFRoot Port request registers. An embedded processor, such as the Nios II processor,
programs these registers to send the data for Configuration TLPs, I/O TLPs, single
dword Memory Read and Write requests, and receive interrupts from an Endpoint.
0x3000-0x3FFFRegisters typically intended for access by Avalon-MM processors only. Provides host
access to selected Configuration Space and status registers.
UG-01097_avmm
2014.12.15
Note: The data returned for a read issued to any undefined address in this range is unpredictable.
The following table lists the complete address map for the PCI Express Avalon-MM bridge registers.
Note:
In the following table the text in green are links to the detailed register description
0x0900–x091FAvalon-MM to PCI Express Mailbox Registers
0x1000–0x1FFFAvalon-MM to PCI Express Address Translation Table
0x2000–0x2FFFRoot Port TLP Data Registers
0x3060Avalon-MM to PCI Express Interrupt Status Registers for Root Ports
0x3060PCI Express to Avalon-MM Interrupt Status Register for Endpoints
Altera Corporation
Registers
Send Feedback
UG-01097_avmm
2014.12.15
Address RangeRegister
0x3070INT-X Interrupt Enable Register for Root Ports
0x3070INT-X Interrupt Enable Register for Endpoints
0x3A00-0x3A1F Avalon-MM to PCI Express Mailbox Registers
0x3B00-0x3B1FPCI Express to Avalon-MM Mailbox Registers
Avalon-MM to PCI Express Interrupt Registers
5-15
0x3C00-0x3C6C
Host (Avalon-MM master) access to selected Configuration Space and status registers.
Avalon-MM to PCI Express Interrupt Registers
Avalon-MM to PCI Express Interrupt Status Registers
These registers contain the status of various signals in the PCI Express Avalon-MM bridge logic and allow
PCI Express interrupts to be asserted when enabled. Only Root Complexes should access these registers;
however, hardware does not prevent other Avalon-MM masters from accessing them.
Table 5-13: Avalon-MM to PCI Express Interrupt Status Register, 0x0040
BitNameAccessDescription
[31:24] ReservedN/AN/A
[23]
[22]
[21]
A2P_MAILBOX_INT7
A2P_MAILBOX_INT6
A2P_MAILBOX_INT5
RW1C1 when the A2P_MAILBOX7 is written to
RW1C1 when the A2P_MAILBOX6 is written to
RW1C1 when the A2P_MAILBOX5 is written to
Registers
[20]
[19]
[18]
[17]
[16]
Send Feedback
A2P_MAILBOX_INT4
A2P_MAILBOX_INT3
A2P_MAILBOX_INT2
A2P_MAILBOX_INT1
A2P_MAILBOX_INT0
RW1C1 when the A2P_MAILBOX4 is written to
RW1C1 when the A2P_MAILBOX3 is written to
RW1C1 when the A2P_MAILBOX2 is written to
RW1C1 when the A2P_MAILBOX1 is written to
RW1C1 when the A2P_MAILBOX0 is written to
Altera Corporation
5-16
Avalon-MM to PCI Express Interrupt Enable Registers
BitNameAccessDescription
[15:0]AVL_IRQ_ASSERTED[15:0]ROCurrent value of the Avalon-MM interrupt
(IRQ) input ports to the Avalon-MM RX
master port:
• 0—Avalon-MM IRQ is not being
signaled.
• 1—Avalon-MM IRQ is being signaled.
A Qsys-generated IP Compiler for PCI
Express has as many as 16 distinct IRQ
input ports. Each AVL_IRQ_ASSERTED[] bit
reflects the value on the corresponding IRQ
input port.
Avalon-MM to PCI Express Interrupt Enable Registers
A PCI Express interrupt can be asserted for any of the conditions registered in the Avalon-MM to PCI
Express Interrupt Status register by setting the corresponding bits in the Avalon-MM-to-PCI Express
Interrupt Enable register. Either MSI or legacy interrupts can be generated as explained in the section
Enabling MSI or Legacy Interrupts
UG-01097_avmm
2014.12.15
Table 5-14: Avalon-MM to PCI Express Interrupt Enable Register, 0x0050
BitsNameAccessDescription
[31:24] ReservedN/AN/A
[23:16]
A2P_MB_IRQ
RWEnables generation of PCI Express
interrupts when a specified mailbox is
written to by an external Avalon-MM
master.
[4:0]
AVL_IRQ[15:0]
RWEnables generation of PCI Express
interrupts when a specified Avalon-MM
interrupt signal is asserted. Your Qsys
system may have as many as 16
individual input interrupt signals.
interconnect fabric. The host software
should read this register after being
interrupted and determine the servicing
priority.
PCI Express Mailbox Registers
The PCI Express Root Complex typically requires write access to a set of PCI Express-to-Avalon-MM
mailbox registers and read-only access to a set of Avalon-MM-to-PCI Express mailbox registers. Eight
mailbox registers are available.
The PCI Express-to-Avalon-MM Mailbox registers are writable at the addresses shown in the following
table. Writing to one of these registers causes the corresponding bit in the Avalon-MM Interrupt
The Avalon-MM-to-PCI Express Mailbox registers are read at the addresses shown in the following
table. The PCI Express Root Complex should use these addresses to read the mailbox information after
being signaled by the corresponding bits in the AvalonMM to PCI Express Interrupt Status register.
The Avalon-MM-to-PCI Express address translation table is writable using the CRA slave port. Each
entry in the PCI Express address translation table is 8 bytes wide, regardless of the value in the current
PCI Express address width parameter. Therefore, register addresses are always the same width, regardless
of PCI Express address width.
UG-01097_avmm
2014.12.15
These table entries are repeated for each address specified in the Number of address pages parameter. If
Number of address pages is set to the maximum of 512, 0x1FF8 contains A2P_ADDR_MAP_LO511 and
RWLower bits of Avalon-MM-to-PCI Express address map
entry 1.
This entry is only implemented if the number of
address translation table entries is greater than 1.
RWUpper bits of Avalon-MM-to-PCI Express address map
entry 1.
This entry is only implemented if the number of
address translation table entries is greater than 1.
PCI Express to Avalon-MM Interrupt Status and Enable Registers for Endpoints
The registers in this section contain status of various signals in the PCI Express Avalon-MM bridge logic
and allow Avalon interrupts to be asserted when enabled. A processor local to the interconnect fabric that
processes the Avalon-MM interrupts can access these registers.
Note:
The following table describes the Interrupt Status register when you configure the core as an Endpoint. It
records the status of all conditions that can cause an Avalon-MM interrupt to be asserted.
Table 5-19: PCI Express to Avalon-MM Interrupt Status Register for Endpoints, 0x3060
BitsNameAccessDescription
0
These registers must not be accessed by the PCI Express Avalon-MM bridge master ports; however,
there is nothing in the hardware that prevents a PCI Express Avalon-MM bridge master port from
accessing these registers.
ERR_PCI_WRITE_FAILURE
RW1CWhen set to 1, indicates a PCI Express
write failure. This bit can also be cleared
by writing a 1 to the same bit in the
Avalon MM to PCI Express
Interrupt Status register.
Registers
Altera Corporation
Send Feedback
5-20
PCI Express to Avalon-MM Interrupt Status and Enable Registers for Endpoints
BitsNameAccessDescription
UG-01097_avmm
2014.12.15
1
ERR_PCI_READ_FAILURE
RW1CWhen set to 1, indicates the failure of a
PCI Express read. This bit can also be
cleared by writing a 1 to the same bit in
the AvalonMM to PCI Express
Interrupt Status register.
[15:2]Reserved——
[16]
[17]
[18]
[19]
[20]
[21]
[22]
P2A_MAILBOX_INT0
P2A_MAILBOX_INT1
P2A_MAILBOX_INT2
P2A_MAILBOX_INT3
P2A_MAILBOX_INT4
P2A_MAILBOX_INT5
P2A_MAILBOX_INT6
RW1C1 when the P2A_MAILBOX0 is written
RW1C1 when the P2A_MAILBOX1 is written
RW1C1 when the P2A_MAILBOX2 is written
RW1C1 when the P2A_MAILBOX3 is written
RW1C1 when the P2A_MAILBOX4 is written
RW1C1 when the P2A_MAILBOX5 is written
RW1C1 when the P2A_MAILBOX6 is written
[23]
P2A_MAILBOX_INT7
RW1C1 when the P2A_MAILBOX7 is written
[31:24]Reserved——
An Avalon-MM interrupt can be asserted for any of the conditions noted in the Avalon-MM Interrupt
Status register by setting the corresponding bits in the PCI Express to Avalon-MM Interrupt Enable
register.
PCI Express interrupts can also be enabled for all of the error conditions described. However, it is likely
that only one of the Avalon-MM or PCI Express interrupts can be enabled for any given bit. Typically, a
single process in either the PCI Express or Avalon-MM domain handles the condition reported by the
interrupt.
Altera Corporation
Registers
Send Feedback
UG-01097_avmm
2014.12.15
Table 5-20: INT‑X Interrupt Enable Register for Endpoints, 0x3070
BitsNameAccessDescription
Avalon-MM Mailbox Registers
5-21
[31:0]
PCI Express to Avalon-MM
Interrupt Enable
Avalon-MM Mailbox Registers
A processor local to the interconnect fabric typically requires write access to a set of Avalon-MM-to-PCI
Express Mailbox registers and read-only access to a set of PCI Express-to-Avalon-MM Mailbox
registers. Eight mailbox registers are available.
The Avalon-MM-to-PCI Express Mailbox registers are writable at the addresses shown in the following
table. When the Avalon-MM processor writes to one of these registers the corresponding bit in the
Avalon MM to PCI Express Interrupt Status register is set to 1.
RWWhen set to 1, enables the interrupt for
the corresponding bit in the PCI
Express to Avalon MM Interrupt
Status register to cause the Avalon
Interrupt signal (cra_Irq_o) to be
asserted.
Only bits implemented in the PCI
Express to Avalon MM Interrupt
Status register are implemented in the
Enable register. Reserved bits cannot be
set to a 1.
Table 5-21: Avalon-MM to PCI Express Mailbox Registers, 0x3A00–0x3A1F
AddressNameAccessDescription
0x3A00
0x3A04
0x3A08
0x3A0C
0x3A10
0x3A14
0x3A18
0x3A1C
A2P_MAILBOX0
A2P_MAILBOX1
A2P _MAILBOX2
A2P _MAILBOX3
A2P _MAILBOX4
A2P _MAILBOX5
A2P _MAILBOX6
A2P_MAILBOX7
RWAvalon-MM-to-PCI Express mailbox 0
RWAvalon-MM-to-PCI Express mailbox 1
RWAvalon-MM-to-PCI Express mailbox 2
RWAvalon-MM-to-PCI Express mailbox 3
RWAvalon-MM-to-PCI Express mailbox 4
RWAvalon-MM-to-PCI Express mailbox 5
RWAvalon-MM-to-PCI Express mailbox 6
RWAvalon-MM-to-PCI Express mailbox 7
Registers
Altera Corporation
Send Feedback
5-22
Control Register Access (CRA) Avalon-MM Slave Port
The PCI Express-to-Avalon-MM Mailbox registers are read-only at the addresses shown in the
following table. The Avalon-MM processor reads these registers when the corresponding bit in the PCI
Express to Avalon-MM Interrupt Status register is set to 1.
Table 5-22: PCI Express to Avalon-MM Mailbox Registers, 0x3B00–0x3B1F
UG-01097_avmm
2014.12.15
AddressNameAccess
0x3B00
0x3B04
0x3B08
0x3B0C
0x3B10
0x3B14
0x3B18
0x3B1C
P2A_MAILBOX0
P2A_MAILBOX1
P2A_MAILBOX2
P2A_MAILBOX3
P2A_MAILBOX4
P2A_MAILBOX5
P2A_MAILBOX6
P2A_MAILBOX7
Control Register Access (CRA) Avalon-MM Slave Port
Description
Mode
ROPCI Express-to-Avalon-MM mailbox 0
ROPCI Express-to-Avalon-MM mailbox 1
ROPCI Express-to-Avalon-MM mailbox 2
ROPCI Express-to-Avalon-MM mailbox 3
ROPCI Express-to-Avalon-MM mailbox 4
ROPCI Express-to-Avalon-MM mailbox 5
ROPCI Express-to-Avalon-MM mailbox 6
ROPCI Express-to-Avalon-MM mailbox 7
Table 5-23: Configuration Space Register Descriptions
For registers that are less than 32 bits, the upper bits are unused.
Byte Offset
14'h3C00cfg_dev_ctrl[15:0]
RegisterDirDescription
Ocfg_devctrl[15:0] is device control for the PCI
Express capability structure.
14'h3C04cfg_dev_ctrl2[15:0]
Ocfg_dev2ctrl[15:0] is device control 2 for the
PCI Express capability structure.
Altera Corporation
Registers
Send Feedback
UG-01097_avmm
2014.12.15
Control Register Access (CRA) Avalon-MM Slave Port
5-23
Byte Offset
RegisterDirDescription
14'h3C08cfg_link_ctrl[15:0]
14'h3C0Ccfg_link_ctrl2[15:0]
Ocfg_link_ctrl[15:0]is the primary Link Control
of the PCI Express capability structure.
For Gen2 or Gen3 operation, you must write a 1’b1
to Retrain Link bit (Bit[5] of the cfg_link_ctrl) of
the Root Port to initiate retraining to a higher data
rate after the initial link training to Gen1 L0 state.
Retraining directs the LTSSM to the Recovery state.
Retraining to a higher data rate is not automatic for
the Stratix V Hard IP for PCI Express IP Core even
if both devices on the link are capable of a higher
data rate.
Ocfg_link_ctrl2[31:16] is the secondary Link
Control register of the PCI Express capability
structure for Gen2 operation.
When tl_cfg_addr=2, tl_cfg_ctl returns the
primary and secondary Link Control registers,
{cfg_link_ctrl[15:0], cfg_link_
ctrl2[15:0]}, the primary Link Status register
contents is available on tl_cfg_sts[46:31].
14'h3C10cfg_prm_cmd[15:0]
14'h3C14cfg_root_ctrl[7:0]
14'h3C18cfg_sec_ctrl[15:0]
14'h3C1Ccfg_secbus[7:0]
14'h3C20cfg_subbus[7:0]
14'h3C24cfg_msi_addr_low[31:0]
For Gen1 variants, the link bandwidth notification
bit is always set to 0. For Gen2 variants, this bit is
set to 1.
OBase/Primary Command register for the PCI
Configuration Space.
ORoot control and status register of the PCI-Express
capability. This register is only available in Root
Port mode.
OSecondary bus Control and Status register of the
PCI-Express capability. This register is only
available in Root Port mode.
OSecondary bus number. Available in Root Port
mode.
OSubordinate bus number. Available in Root Port
mode.
Ocfg_msi_add[31:0] is the MSI message address.
Registers
Altera Corporation
Send Feedback
5-24
Control Register Access (CRA) Avalon-MM Slave Port
UG-01097_avmm
2014.12.15
Byte Offset
RegisterDirDescription
14'h3C28cfg_msi_addr_hi[63:32]
14'h3C2Ccfg_io_bas[19:0]
14'h3C30cfg_io_lim[19:0]
14'h3C34cfg_np_bas[11:0]
14'h3C38cfg_np_lim[11:0]
14'h3C3Ccfg_pr_bas_low[31:0]
Ocfg_msi_add[63:32] is the MSI upper message
address.
OThe IO base register of the Type1 Configuration
Space. This register is only available in Root Port
mode.
OThe IO limit register of the Type1 Configuration
Space. This register is only available in Root Port
mode.
OThe non-prefetchable memory base register of the
Type1 Configuration Space. This register is only
available in Root Port mode.
OThe non-prefetchable memory limit register of the
Type1 Configuration Space. This register is only
available in Root Port mode.
OThe lower 32 bits of the prefetchable base register of
the Type1 Configuration Space. This register is only
available in Root Port mode.
14'h3C40cfg_pr_bas_hi[43:32]
14'h3C44cfg_pr_lim_low[31:0]
14'h3C48cfg_pr_lim_hi[43:32]
14'h3C4Ccfg_pmcsr[31:0]
14'h3C50cfg_msixcsr[15:0]
14'h3C54cfg_msicsr[15:0]
OThe upper 12 bits of the prefetchable base registers
of the Type1 Configuration Space. This register is
only available in Root Port mode.
OThe lower 32 bits of the prefetchable limit registers
of the Type1 Configuration Space. Available in Root
Port mode.
OThe upper 12 bits of the prefetchable limit registers
of the Type1 Configuration Space. Available in Root
Port mode.
Ocfg_pmcsr[31:16] is Power Management Control
and cfg_pmcsr[15:0]is the Power Management
Status register.
OMSI-X message control register.
OMSI message control.
Altera Corporation
Registers
Send Feedback
UG-01097_avmm
2014.12.15
Control Register Access (CRA) Avalon-MM Slave Port
5-25
Byte Offset
RegisterDirDescription
14'h3C58cfg_tcvcmap[23:0]
14'h3C5Ccfg_msi_data[15:0]
14'h3C60cfg_busdev[12:0]
OConfiguration traffic class (TC)/virtual channel
(VC) mapping. The Application Layer uses this
signal to generate a TLP mapped to the appropriate
channel based on the traffic class of the packet.
The following encodings are defined:
• cfg_tcvcmap[2:0]: Mapping for TC0 (always 0)
.
• cfg_tcvcmap[5:3]: Mapping for TC1.
• cfg_tcvcmap[8:6]: Mapping for TC2.
• cfg_tcvcmap[11:9]: Mapping for TC3.
• cfg_tcvcmap[14:12]: Mapping for TC4.
• cfg_tcvcmap[17:15]: Mapping for TC5.
• cfg_tcvcmap[20:18]: Mapping for TC6.
• cfg_tcvcmap[23:21]: Mapping for TC7.
Ocfg_msi_data[15:0] is message data for MSI.
OBus/Device Number captured by or programmed in
the Hard IP.
14'h3C64ltssm_reg[4:0]
O
Specifies the current LTSSM state. The LTSSM state
machine encoding defines the following states:
• 00000: Detect.Quiet
• 00001: Detect.Active
• 00010: Polling.Active
• 00011: Polling.Compliance
• 00100: Polling.Configuration
• 00101: Polling.Speed
• 00110: config.Linkwidthstart
• 00111: Config.Linkaccept
• 01000: Config.Lanenumaccept
• 01001: Config.Lanenumwait
• 01010: Config.Complete
• 01011: Config.Idle
• 01100: Recovery.Rcvlock
• 01101: Recovery.Rcvconfig
• 01110: Recovery.Idle
• 01111: L0
• 10000: Disable
• 10001: Loopback.Entry
• 10010: Loopback.Active
Registers
Altera Corporation
Send Feedback
5-26
Programming Model for Avalon‑MM Root Port
UG-01097_avmm
2014.12.15
Byte Offset
RegisterDirDescription
14'h3C68current_speed_reg[1:0]
14'h3C6Clane_act_reg[3:0]
• 10011: Loopback.Exit
• 10100: Hot.Reset
• 10101: LOs
• 11001: L2.transmit.Wake
• 11010: Speed.Recovery
• 11011: Recovery.Equalization, Phase 0
• 11100: Recovery.Equalization, Phase 1
• 11101: Recovery.Equalization, Phase 2
• 11110: recovery.Equalization, Phase 3
OIndicates the current speed of the PCIe link. The
following encodings are defined:
• 2b’00: Undefined
• 2b’01: Gen1
• 2b’10: Gen2
• 2b’11: Gen3
OLane Active Mode: This signal indicates the number
of lanes that configured during link training. The
following encodings are defined:
• 4’b0001: 1 lane
• 4’b0010: 2 lanes
• 4’b0100: 4 lanes
• 4’b1000: 8 lanes
Related Information
• PCI Express Base Specification 2.1 or 3.0
• PCI Local Bus Specification, Rev. 3.0
Programming Model for Avalon‑MM Root Port
The Application Layer writes the Root Port TLP TX Data registers with TLP formatted data for Configu‐
ration Read and Write Requests, Message TLPs, I/O Read and Write Requests, or single dword Memory
Read and Write Requests. Software should check the Root Port Link Status register (offset 0x92) to
ensure the Data Link Layer Link Active bit is set to 1'b1 before issuing a Configuration request to
downstream ports.
The Application Layer data must be in the appropriate TLP format with the data payload aligned to the
TLP address. Aligning the payload data to the TLP address may result in the payload data being either
aligned or unaligned to the qword. The following figure illustrates three dword TLPs with data that is
aligned and unaligned to the qword.
Altera Corporation
Registers
Send Feedback
Header 1 [63:32]
Cycle 1
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Data Unaligned to
QWord Boundary
Data Aligned to
QWord Boundary
Cycle 2
Header 0 [31:0]
Data [63:32]
Header 2 [31:0]
Header 1 [63:32]
Cycle 1
Header 0 [31:0]
Cycle 2
Header 2 [31:0]
Cycle 3
Data [31:0]
Unused, but must
be written
Unused, but must
be written
Header 1 [63:32]
Cycle 1
Data Unaligned to
QWord Boundary
Data Aligned to
QWord Boundary
Cycle 2
Header 0 [31:0]
Header 3[63:32]
Header 2 [31:0]
Data [63:32]
Header 1 [63:32]
Header 0 [31:0]
Header 2 [31:0]
Cycle 1
Cycle 2
Cycle 3
Cycle 3
Data [31:0]
Unused, but must
be written
Unused, but must
be written
Header 3[63:32]
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
Register 1
Register 0
UG-01097_avmm
2014.12.15
Figure 5-10: Layout of Data with 3 Dword Headers
Programming Model for Avalon‑MM Root Port
5-27
The following figure illustrates four dword TLPs with data that are aligned and unaligned to the qword.
Figure 5-11: Layout of Data with 4 Dword Headers
Registers
Send Feedback
Altera Corporation
5-28
Sending a Write TLP
The TX TLP programming model scales with the data width. The Application Layer performs the same
writes for both the 64- and 128-bit interfaces. The Application Layer can only have one outstanding nonposted request at a time. The Application Layer must use tags 16–31 to identify non-posted requests.
Note: For Root Ports, the Avalon-MM bridge does not filter Type 0 Configuration Requests by device
number. Application Layer software should filter out all requests to Avalon-MM Root Port
registers that are not for device 0. Application Layer software should return an Unsupported
Request Completion Status.
Sending a Write TLP
The Application Layer performs the following sequence of Avalon-MM accesses to the CRA slave port to
send a Memory Write Request:
1. Write the first 32 bits of the TX TLP to RP_TX_REG0.
2. Write the next 32 bits of the TX TLP to RP_TX_REG1.
3. Write the RP_TX_CNTRL.SOP to 1’b1 to push the first two dwords of the TLP into the Root Port TX
FIFO.
4. Repeat Steps 1 and 2. The second write to RP_TX_REG1 is required, even for three dword TLPs with
aligned data.
5. If the packet is complete, write RP_TX_CNTRL to 2’b10 to indicate the end of the packet. If the packet is
not complete, write 2’b00 to RP_TX_CNTRL.
6. Repeat this sequence to program a complete TLP.
UG-01097_avmm
2014.12.15
When the programming of the TX TLP is complete, the Avalon-MM bridge schedules the TLP with
higher priority than TX TLPs coming from the TX slave port.
Sending a Read TLP or Receiving a Non-Posted Completion TLP
The TLPs associated with the Non-Posted TX requests are stored in the RP_RX_CPL FIFO buffer and
subsequently loaded into RP_RXCPL registers. The Application Layer performs the following sequence to
retrieve the TLP.
1. Polls the RP_RXCPL_STATUS.SOP to determine when it is set to 1’b1.
2. Then RP_RXCPL_STATUS.SOP = 1’b’1, reads RP_RXCPL_REG0 and RP_RXCPL_REG1 to retrieve dword 0
and dword 1 of the TLP.
3. Read the RP_RXCPL_STATUS.EOP.
• If RP_RXCPL_STATUS.EOP = 1’b0, read RP_RXCPL_REG0 and RP_RXCPL_REG1 to retrieve dword 2
and dword 3 of the TLP, then repeat step 3.
• If RP_RXCPL_STATUS.EOP = 1’b1, read RP_RXCPL_REG0 and RP_RXCPL_REG1 to retrieve final
dwords of TLP.
PCI Express to Avalon-MM Interrupt Status and Enable Registers for Root Ports
The Root Port supports MSI, MSI-X and legacy (INTx) interrupts. MSI and MSI-X interrupts are memory
writes from the Endpoint to the Root Port. MSI and MSI-X requests are forwarded to the interconnect
without asserting CraIrq_o.
Altera Corporation
Registers
Send Feedback
UG-01097_avmm
2014.12.15
PCI Express to Avalon-MM Interrupt Status and Enable Registers for Root Ports
Table 5-24: Avalon‑MM Interrupt Status Registers for Root Ports, 0x3060
5-29
BitsNameAccess
Mode
[31:5]Reserved——
[4]
RPRX_CPL_RECEIVED
RW1CSet to 1’b1 when the Root Port has
received a Completion TLP for an
outstanding Non-Posted request from
the TLP Direct channel.
[3]
INTD_RECEIVED
RW1CThe Root Port has received INTD from
the Endpoint.
[2]
INTC_RECEIVED
RW1CThe Root Port has received INTC from
the Endpoint.
[1]
INTB_RECEIVED
RW1CThe Root Port has received INTB from
the Endpoint.
[0]
INTA_RECEIVED
RW1CThe Root Port has received INTA from
the Endpoint.
Description
Table 5-25: INT‑X Interrupt Enable Register for Root Ports, 0x3070
BitNameAccess
Mode
[31:5]Reserved——
[4]
[3]
RPRX_CPL_RECEIVED
INTD_RECEIVED_ENA
RWWhen set to 1’b1, enables the assertion
RWWhen set to 1’b1, enables the assertion
Description
of CraIrq_o when the Root Port
Interrupt Status register RPRX_CPL_
RECEIVED bit indicates it has received a
Completion for a Non-Posted request
from the TLP Direct channel.
of CraIrq_o when the Root Port
Interrupt Status register INTD_
RECEIVED bit indicates it has received
INTD.
Registers
Altera Corporation
Send Feedback
5-30
Root Port TLP Data Registers
UG-01097_avmm
2014.12.15
BitNameAccess
[2]
[1]
[0]
INTC_RECEIVED_ENA
INTB_RECEIVED_ENA
INTA_RECEIVED_ENA
Root Port TLP Data Registers
Description
Mode
RWWhen set to 1’b1, enables the assertion
of CraIrq_o when the Root Port
Interrupt Status register INTC_
RECEIVED bit indicates it has received
INTC.
RWWhen set to 1’b1, enables the assertion
of CraIrq_o when the Root Port
Interrupt Status register INTB_
RECEIVED bit indicates it has received
INTB.
RWWhen set to 1’b1, enables the assertion
of CraIrq_o when the Root Port
Interrupt Status register INTA_
RECEIVED bit indicates it has received
INTA.
The TLP data registers provide a mechanism for the Application Layer to specify data that the Root Port
uses to construct Configuration TLPs, I/O TLPs, and single dword Memory Reads and Write requests.
The Root Port then drives the TLPs on the TLP Direct Channel to access the Configuration Space, I/O
space, or Endpoint memory.
Altera Corporation
Registers
Send Feedback
RX_TX_CNTL
RP_RXCPL_
REG0
RP_RXCPL_
REG
RP_RXCPL_
STATUS
Control
Register
Access
Slave
Avalon-MM
Master
32
32
32
32
64
64
32
IRQ
RP TX
CTRL
TX
CTRL
RP_TX_FIFO
RP CPL
CTRL
RX
CTRL
RP_RXCPL_FIFO
TLP Direct Channel
to Hard IP for PCIe
Root-Port TLP Data Registers Avalon-MM Bridge -
RX_TX_Reg1
RP_TX_Reg0
UG-01097_avmm
2014.12.15
Figure 5-12: Root Port TLP Data Registers
Root Port TLP Data Registers
5-31
Note: The high performance TLPs implemented by Avalon-MM ports in the Avalon-MM Bridge are also
available for Root Ports. For more information about these TLPs, refer to Avalon-MM Bridge TLPs.
Table 5-26: Root Port TLP Data Registers, 0x2000–0x2FFF