Arria® 10 and Cyclone® 10 GX Avalon® Memory-Mapped (Avalon-MM) Interface for PCI Express* User Guide

ID 683724
Date 4/13/2024
Public
Document Table of Contents

E.1. Document Revision History for the Arria® 10 and Cyclone® 10 GX Avalon® Memory Mapped (Avalon-MM) Interface for PCIe* Solutions User Guide

Date

Version

Changes Made

2024.04.13 18.0
  • Changed the signal name from altpcietb_bfm_driver_avmm.v to altpcietb_bfm_driver_downstream.v in section Avalon-MM Test Driver Module.
  • Made some editorial changes in section Avalon-MM Endpoint Testbench.
2023.11.29 18.0 Removed the configurations Gen3x8 - 256 bits, and Gen3x4 - 256 bits, from the table in the Recommended Speed Grades section as they are no longer supported.
2021.06.03 18.0 Mentioned in the Features section that this IP supports the Separate Reference Clock No Spread Spectrum (SRNS) architecture and not the Separate Reference Clock with Independent Spread Spectrum (SRIS) architecture.
2021.04.20 18.0 Updated the file where the parameter serial_sim_hwtcl needs to be set to 0 for PIPE simulations from altpcie_<dev>_tbed_hwtcl.v to DUT_pcie_tb_ip.v.
2021.04.06 18.0 Added the Hard IP Reconfiguration chapter containing descriptions of the registers that you can update using the Hard IP Reconfiguration interface.
2019.12.20 18.0 Changed the name of the 1A state of the ltssmstate signals to Recovery.Speed to follow the PCIe Specifications.
2019.10.09 18.0 Added State 1F (Recovery.Equalization, Done) for ltssmstate[4:0].
2019.09.30 18.0 Added more details about byte enable support in the Arria® 10 Root Port design example (in the Preliminary Support for Root Port section in the Appendix).
2019.05.23 18.0 Added the note clarifying that the 24-bit Class Code register is divided into three 8-bit fields: Base Class Code, Sub-Class Code and Programming Interface.
2018.08.13 18.0 Added the step to invoke Vsim to the instructions for running ModelSim simulations.
2018.08.03 18.0 Made the following changes to the user guide:
  • Removed a reference to the internal descriptor controller since that is an Avalon® -MM DMA feature and is covered in that User Guide.
  • Added text descriptions for the interfaces shown in Figure 27.
  • Updated signal names in Figure 27 to change rxm_bar0_* signals to rxm_bar<n>_* signals, where n is the BAR number and can range from 0 to 5.
  • Updated Tables 26 and 27 to change rxm_bar0_* signals to rxm_bar<n>_* signals.
  • Changed the title of Figure 30 to "Simultaneous RXM Read and RXM Write".
2018.05.07 18.0 Made the following changes to the user guide:
  • Changed Cyclone® 10 name to Cyclone® 10 GX.
  • Added CRA Read and Write timing diagrams.
  • Added missing link speeds/widths combinations to the Recommended Speed Grades table.
  • Removed any mention of static example designs in the Design Examples section.
  • Moved the topic on creating the .stp file from the Design Implementation chapter to the Debugging chapter.
  • Changed the title of the Optional Features chapter to Additional Features .
2017.10.06 17.1 Made the following changes to the user guide.
  • Added support for Cyclone® 10 GX devices.
  • Added Enable RX-polarity inversion soft logic parameter.
  • Corrected Feature Comparison for all Hard IP for PCI Express IP Core table: The Avalon-MM DMA interface does not automatically handle out-of-order completion s.
  • Rebranded as Intel.
2017.05.26 17.0 Made the following changes to the user guide:
  • Added note that starting with the Quartus® Prime Software, version 17.0, the QSF assignments in the following answer What assignments do I need for a PCIe Gen1, Gen2 or Gen3 design that targets an Arria® 10 ES2, ES3 or production device? are already included in the design.
2017.05.08 17.0

Made the following changes the IP core:

  • Added option soft DFE Controller IP on the PHY tab of the parameter editor to improve BER margin. The default for this option is off because it is typically not required. Short reflective links may benefit from this soft DFE controller IP. This parameter is available only for Gen3 configurations.

Made the following changes to the user guide:

  • Updated PCI Express Gen3 Bank Usage Restrictions status. These restrictions affect all Arria 10 ES and production devices.
  • Corrected Feature Comparison for all Hard IP for PCI Express IP Cores table. Out-of-order Completions are not supported transparently for the Avalon-MM with DMA interface.
  • Added Gen3 x8 Root Port to the Recommended Speed Grades for All Avalon-MM Widths and Frequencies table.
  • Corrected default values for the Uncorrectable Internal Error Mask Register and Correctable Internal Error Mask Register registers.
  • Corrected minor errors and typos.
2017.03.15 17.0
  • Removed Gen3x8 256-bit interface from Recommended Speed Grades table. This configuration is not supported for the Avalon-MM interface.
  • Added statement that Arria® 10 devices do not support the Create timing and resource estimates for third-party EDA synthesis tools option on the Generate > Generate HDL menu.
  • Rebranded as Intel.
2016.10.31 16.1

Made the following changes to the IP core:

  • Changed timing models support to final for most Arria® 10 device packages. Exceptions include some military and automotive speed grades with extended temperature ranges.
  • Added parameter to select the requested preset for Phase2 and Phase3 far-end TX equalization.

Made the following changes to the user guide:

  • Corrected the number of tags supported in the Feature Comparison for all Hard IP for PCI Express IP Cores table.
  • Removed recommendations about connecting pin_perst. These recommendations do not apply to Arria® 10 devices.
  • Added PCIe bifurcation to the Feature Comparison for all Hard IP for PCI Express IP Cores table. PCI bifurcation is not supported.
  • Changed the recommended value of test_in[31:0] from 0xa8 to 0x188.
  • Removed Configuration Space Register Access Timing timing diagram. These signals are not available at the top-level for the Avalon-MM interface.
  • Added instructions for turning on autonomous mode in the Quartus Prime software.
  • Added -3 to recommended speed grades for the 125 MHz interface.
2016.05.20 16.0

Added preliminary support for a Gen3 x8 Root Port using a 256-bit interface to the Application Layer.

Added support for Intel FPGA IP Evaluation Mode in the Quartus® Prime Pro Edition software.

Added automatic generation of basic Signal Tap Logic Analyzer files to facilitate debugging.

The PIO Design Examples included in the Quick Start Guide now support 64- and 128-bit interfaces to the Application Layer. (The 15.1 release supported only a 256-bit interface to the Application Layer interface.)

Updated figures in Physical Layout of Hard IP in Arria® 10 Devices to include more detail about transceiver banks and channel restrictions.

Revised description of TxsByteEnable_i[<w>-1:0] signal. This signal qualifies both read and write data.

Added Gen3 x2 128-bit interface with 125 MHz clock to the coreclkout_hip Application Layer Clock Frequency for All Combinations of Link Width, Data Rate and Application Layer Interface Widths table.

Clarified optimal read request size for typical systems that include the Avalon-MM TX slave interface.

In the Getting Started with the Hard IP for PCI Express with the Avalon-MM Interface chapter, changed the instructions to use specify the 10AX115S2F45I1SG device which is used on the Arria® 10 GX FPGA Development Kit - Production (not ES2) Edition.

Added Vendor Specific Extended Capability (VSEC) Revision and User Device or Board Type ID register from the Vendor Specific Extended Capability to the VSEC tab of the component GUI.

Added statement that the testbench can only simulate a single Endpoint or Root Port at a time.

Enhanced statements covering the deficiencies of the Altera-provided testbench.

Updated signal names to match those shown in the figure 64- or 128-Bit Avalon-MM Interface to the Application Layer.

Added transceiver bank usage placement restrictions for Gen3 ES3 devices.

Removed support for -3 speed grade devices.

Corrected minor errors and typos.

2015.11.02 15.1

Added new Generate Design Example option that automatically generates both simulation and hardware design examples with the parameters you specify. You can download the hardware design example directly to the Arria® 10 GX FPGA Development Kit.

Added preliminary support for Gen3 x4, Gen3 x8, and Gen2 x8 Root Port using a 256-bit Avalon-MM interface to the Application Layer.

Improved component GUI that simplifies parameterization. Among the changes is a new single parameter, HIP mode that combines all supported data rates, interface widths and frequencies as a single parameter.

Added support for Completion buffer overflow monitoring.

Improved the definition of npor.

Removed Legacy Endpoint option for Port Type parameter.

Clarified Application Layer requirements for multiple and single MSI and MSI-X support.

Corrected width of AVL_IRQ. It is 16 bits.

Added clarification for the use of byte enables with the 128-bit Avalon-MM bridge. Supported patterns for byte enables must be at the dword granularity.

Clarified Avalon-MM addressing for various data widths.

Renamed the data rate sim_pipe_rate to rate to match renaming for Arria® 10 devices.Made the following changes:

Removed support for the RP_RXCPL_STATUS field of the Root Port request register at 0x2010.

Added signal descriptions for optional hard IP status bus.

Fixed minor errors and typos.

2015.06.05 15.0 Added note in iPhysical Layout of Hard IP in Arria 10 Devices to explain Arria® 10 design constraint that requires that if the lower HIP on one side of the device is configured with a Gen3 x4 or Gen3 x8 IP core, and the upper HIP on the same side of the device is also configured with a Gen3 IP core, then the upper HIP must be configured with a x4 or x8 IP core.
2015.05.14 15.0 Made the following changes to the user guide:
  • Added Enable Hard IP Status Bus when using the AVMM interface parameter in Interface System Settings. This parameter is available in the IP core v15.0 and later.
2015.05.04 15.0 Made the following changes to the user guide:
  • Enhanced the descriptions in iAvalon-MM-to-PCI Express Address Translation Table.
  • Added Enable Altera Debug Master Endpoint (ADME) parameter to support optional Native PHY register programming with the Altera System Console.
  • Added support to send message TLPs with data payload of any length from a Root Port. Refer to Programming Model for Avalon-MM Root Port and to the new supported TLP entry for Avalon-MM variations in the Feature Comparison for all Hard IP for PCI Express IP Cores table in Features.
  • Added information about the new custom design examples, in the Design Examples section.
  • Added column for Avalon-ST Interface with SR-IOV variations in Feature Comparison for all Hard IP for PCI Express IP Cores table in the Features section.
  • Enhanced descriptions of channel placement, added fPLL placement for Gen1 and Gen2 data rates, and added master CGB location, in Physical Layout of Hard IP in Arria 10 Devices.
  • Updated DUT module name in testbench and design example figures.
  • Removed list of static design examples from Design Examples. You can derive the list from the installation directory where design examples are available.
  • Removed Migration and TLP Format appendices, and added new Frequently Asked Questions appendix.
  • Reorganized sections in Debugging and Setting Up Simulation. Removed Reducing Counter Values for Serial Simulations section, which is no longer relevant. Default counter values are automatically set for simulation.
  • Updated information in SDC Timing Constraints.
  • Fixed minor errors and typos.
2014.12.15 14.1 Made the following changes:
  • Revised Root Port programming model description, Receiving a Completion TLP, to cover read and non-posted completions.
  • Added Avalon-MM Testbench and Design Example chapter.
  • Added statement 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.
  • Corrected bit definitions for CvP Status register.
  • Updated definition of CVP_NUMCLKS in the CvP Mode Control register.
  • Added definitions for test_in[2], test_in[6], and test_in[7].
  • Revised discussion of SDC files to include in Quartus II project.
2014.08.18 14.0 Arria® 10

Made the following changes to the Arria® 10 Avalon-MM Hard IP for PCI Express

  • Optionally changed the cra_address to 14 bits from 12.
  • Added simulation log file, altpcie_monitor_a10_dlhip_tlp_file_log.log, that is automatically generated in your simulation directory. To simulate in the Quartus II 14.0 software release, you must regenerate your IP core to create the supporting monitor file the generates altpcie_monitor_a10_dlhip_tlp_file_log.log. Refer to Understanding Simulation Dump File Generation for details.
  • Added support for 64-bit addressing, making address translation unnecessary.
  • Removed Channel Placement for PCIe in Arria 10 Devices. Please contact your Altera sales representative for PLL and channel usage.
  • Added simulation support for Phase 2 and Phase 3 equalization when requested by third-party BFM.
  • Added restrictions on the legal patterns of enabled and disabled bytes for txs_byteenable[<w>-1:0].
  • Changed the PIPE interface to 32 bits for all data rates. This change requires you to recompile your 13.1 variant in 14.0.
Made the following changes to the user guide:
  • Changed device part number for Getting Started chapter to 10AX115R2F40I2LG.
  • Corrected frequency range for hip_reconfig_clk. It should be 100-125 MHz.
  • Clarified the behavior of the txs_waitrequest signal.
  • Added statement 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.
  • Simplified the Getting Started chapter. It copies the example from the install directory and does not include step-by-step instructions to recreate the design.
  • Removed 125 MHz clock as optional refclk frequency in Arria® 10 devices. Arria® 10 devices support an 100 MHz reference clock as specified by the PCI Express Base Specification, Rev 3.0.
  • Added definitions for test_in[2], test_in[6] and test_in[7].
  • Clarified that the Avalon-MM Bridge does not generate out-of-order Avalon-MM-to-PCI Express Read Completions even to different BARs.
  • Added sections on making analog QSF and pin assignments.
  • Enhanced the definition of Device ID and Sub-system Vendor ID to say that these registers are only valid in the Type 0 (Endpoint) Configuration Space.
  • Updated Power Supply Voltage Requirements table.
  • Removed all references to the Avalon-MM interrupt vector register. This register is not used.
  • Corrected values for Maximum payload size parameter. The sizes available are 128 or 256 bytes.
  • Removed txdatavalid0 signal from the PIPE interface. This signal is not available.
  • Updated Power Supply Voltage Requirements table.
  • Updated Physical Placement of the Arria 10 Hard IP for PCIe IP and Channels to show GT devices instead of GX devices.
  • Corrected bit definitions for CvP Status register.
  • Updated definition of CVP_NUMCLKS in the CvP Mode Control register.
  • Removed discussion of pclk. This clock is not customer accessible in Arria® 10 devices.
  • Removed PLL from channel placement figures.
  • Added fast passive parallel (FPP) to supported configuration schemes in CvP in Arria® 10 Devices figure.
  • Corrected Reset Controller in Arria® 10 Devices figure in Reset and Clocks chapter.
  • Corrected bit definitions for CvP Status register.
2013.12.02 13.1 Arria® 10 Initial release.