Stratix V Avalon-ST Interface for PCIe Solutions: User Guide

ID 683093
Date 5/03/2019
Document Table of Contents

C.1. Document Revision History Stratix V Avalon® -ST Interface for PCIe* Solutions User Guide



Changes Made

2019.12.20 18.0 Changed the name of the 1A state for the ltssmstate[4:0] signals to Recovery.Speed to follow the PCIe Specifications.
2019.12.02 18.0 Changed the description of the parameter BAR Size for Legacy Endpoint variants from 6 Bytes - 4 KB to 16 Bytes - 4 KB (for I/O space BARs).
2019.10.09 18.0 Added the 1F state (Recovery.Equalization, Done) for ltssmstate[4:0].
2019.05.22 18.0 Added a note clarifying that the 24-bit Class Code register consists of three 8-bit fields: Base Class Code, Sub-Class Code and Programming Interface.
2019.05.03 18.0 Updated the diagram for the reset sequence of the Hard IP for PCI Express IP Core and Application Layer to reflect the real behavior of reset_status.
2019.01.18 18.0

Removed the High and Maximum options for the RX buffer allocation parameter because they are not supported.

Changed the readyLatency of the RX interface to 3 cycles.

2018.12.28 18.0 Added a note clarifying that the IP core can support up to 256 tags only when in Configuration Bypass mode.
2018.09.11 18.0 Updated the description for pld_clk in the Clock Signals and Clock Summary sections. Also updated the clock domain in the timing diagrams in the Data Alignment and Timing for the 64-Bit Avalon-ST TX Interface section.
2018.08.13 18.0 Added the step to invoke Vsim to the instructions for running a ModelSim simulation.
2018.05.07 18.0

Replaced all references to Intel® Cyclone® 10 with Intel® Cyclone® 10 GX.

2017.10.14 17.1

Corrected typo: added optional parameter to invert the RX polarity, not the TX polarity.

2017.10.06 17.1 Made the following changes to the user guide:
  • Added support for Intel® Cyclone® 10 GX devices.
  • Removed the Getting Started with the Hard IP for PCI Express with the Avalon-ST Interface. The PCIe Quick Start Guide which downloads to hardware replaces it.
  • Corrected signal name, tx_cred_cons_sel should be tx_cons_cred_sel.
  • Revised the Testbench and Design Example chapter. Although the functions and tasks that implement the testbench have not changed, the organization of these functions and task in files is entirely different than in earlier device families.

  • Fixed minor errors and typos.
2017.05.12 17.0

Made the following changes to the user guide:

  • Revised discussion of Application Layer Interrupt Handler Module to include legacy interrupt generation.
  • Corrected the definition of Enable Common Clock Configuration (for lower latency).
  • 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.
  • Corrected default values for the Uncorrectable Internal Error Mask Register and Correctable Internal Error Mask Register registers.
  • Restored Configuration Space Register Access section.
  • Corrected minor errors and typos.
2016.10.31 16.1

Made the following changes to the user guide:

  • Added PCIe bifurcation to the Feature Comparison for all Hard IP for PCI Express IP Cores table. PCI bifurcation is not supported.
  • Corrected description of tl_cfg* bus. Provided sample RTL code to show how sample tl_cfg_ctl.Corrected tl_cfg_ctl Timing diagram.
  • Added instructions for turning on autonomous mode in the Quartus Prime software.
2016.05.02 16.0 Made the following changes:
  • The Quick Start Guide no longer supports the DMA design example.
  • Added figure for TX 3-dword header with qword aligned 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.
  • Added statement that the testbench can only simulate a single Endpoint or Root Port at a time.
  • Enhanced statements covering the deficiencies of the Intel-provided testbench.
  • Added simulation support for Gen3 PIPE mode using the ModelSim, VCS, and NCSim simulators.
  • Corrected minor errors and typos.
2015.11.30 15.1 Made the following changes:
  • Added definition for tx_fifo_empty signal.
  • Corrected the frequency range in the Clock Summary table.
  • Added description of the Altera PCIe Reconfig Driver in the Connecting the Transceiver Reconfiguration Controller IP Core topic.
  • Added a FAQ chapter.
  • Added figure illustrating data alignment for the TX 3-dword header with qword aligned address.
  • Added TLP Support Comparison for all Hard IP for PCI Express IP Cores in Datasheet chapter.
  • Added new topic on Autonomous Mode in which the Hard IP for PCI Express begins operation when the periphery configuration completes.
  • Added create_clock to the SDC Timing Constraints topic in the Design Implementation chapter.
2014.12.15 14.1 Made the following changes to the user guide:
  • Added simulation log file, altpcie_monitor_<dev>_dlhip_tlp_file_log.log in your simulation directory. Generation of the log file requires the following simulation file, <install_dir>altera/altera_pcie/altera_pcie_<dev>_hip/altpcie_monitor_<dev>, that was not present in earlier releases of the Quartus II software.
  • 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].
  • Added 2 additional SDC timing constraints for Gen3 in SDC Timing Constraints Required for the Intel® Arria® 10 Hard IP for PCIe and Design Example.
2014.06.30 14.0

Added the following new features to the Intel® Arria® 10 Hard IP for PCI Express:

  • Added parameters to enable 256 completion tags with completion tag checking performed in Application Layer.
  • Added simulation log file, altpcie_monitor_sv_dlhip_tlp_file_log.log, that is automatically generated in your simulation directory. To simulation in the Quartus II 14.0 software release, you must regenerate your IP core to create the supporting monitor file the generates altpcie_monitor_sv_dlhip_tlp_file_log.log. Refer to Understanding Simulation Dump File Generation for details.
  • Added support for new parameter,User ID register from the Vendor Specific Extended Capability, for Endpoints.
  • Added parameter to create a reset pulse at power-up when the soft reset controller is enabled.
  • Simulation support for Phase 2 and Phase 3 equalization when requested by third-party BFM.
  • Increased size of lmi_addr to 15 bits.

Made the following changes to the user guide:

  • Added Next Steps in Creating a Design for PCI Express to Datasheet chapter.
  • Corrected frequency range for hip_reconfig_clk. It should be 100-125 MHz.
  • Corrected Maximum payload size values listed in Reconfigurable Read-Only Registers table. The maximum size is 2048 bytes.
  • Enhanced definition of Device ID and Sub-system Vendor ID to say that these registers are only valid in the Type 0 (Endpoint) Configuration Space.
  • Changed the default reset controller settings. By default Gen1 devices use the Hard Reset Controller. Gen2 and Gen3 devices use the Soft Reset Controller.
  • Corrected frequencies of pclk in Reset and Clocks chapter.
  • Removed txdatavalid0 signal from the PIPE interface. This signal is not available.
  • Removed references to the MegaWizard® Plug-In Manager. In 14.0 the IP Parameter Editor Powered by Platform Designer has replaced the MegaWizard Plug-In Manager.
  • Made the following changes to the timing diagram, Hard IP Reconfiguration Bus Timing of Read-Only Registers:
    • Added hip_reconfig_rst_n.
    • Changed timing of avmm_rdata[15:0]. Valid data returns 4 cycles after avmm_rd.
  • Added link to a Knowledge Base Solution that shows how to observe the test_in bus for debugging.
  • Removed optional 125 MHz reference clock frequency. This option has not been tested extensively in hardware.
  • Corrected channel placement diagrams for Gen3 x2 and Gen3 x4. The CMU PLL should be shown in the Channel 4 location. For Gen3 x2, the second data channel is Ch1. For Gen3 x4, the data channels are Ch0 - Ch3.
  • Corrected figure showing physical placement of PCIe Hard IP modules for Arria V GZ devices.
  • Added definition for test_in[6] and link to Knowledge Base Solution on observing the PIPE interface signals on the test_out bus.
  • Removed references to Gen2 x1 62.5 MHz configuration. This configuration is not supported.
  • Removed statement that Gen1 and Gen2 designs do not require transceiver reconfiguration. Gen1 and Gen2 designs may require transceiver reconfiguration to improve signal quality.
  • Removed reconfig_busy port from connect between PHY IP Core for PCI Express and the Transceiver Reconfiguration Controller in the Altera Transceiver Reconfiguration Controller Connectivity figure. The Transceiver Reconfiguration Controller drives reconfig_busy port to the Altera PCIe Reconfig Driver.
  • Removed soft reset controller .sdc constraints from the <install_dir>/ip/altera/altera_pcie/altera_pcie_hip_ast_ed/altpcied_<dev>.sdc example. These constraints are now in a separate file in the synthesis/submodules directory.
  • Updated Power Supply Voltage Requirements table.
  • For Arria V GZ and Stratix V devices, corrected channel placement diagrams for x8. Both Gen3 Channel Placement Using the CMU and ATX PLLs and Gen1 and Gen2 Channel Placement Using the ATX PLL show the ATX PLL1 in bank 1 being used. However, ATX PLL 1 in bank 0 is actually used.
2013.12.20 13.1 Made the following changes:
  • Divided user guide into 3 separate documents by interface type.
  • Added Design Implementation chapter.
  • In the Debugging chapter, removed section explaining how to turn off the scrambler for Gen3 because it does not work.
  • In the Debugging chapter, corrected filename that you must change to reduce counter values in simulation.
  • In Getting Started with the Avalon-MM Hard IP for PCI Express chapter, corrected connects for the Transceiver Reconfiguration Controller IP Core reset signal, alt_xcvr_reconfig_0 mgmt_rst_reset. This reset input connects to clk_0 clk_reset.
  • In Transaction Layer Routing Rules and Programming Model for Avalon-MM Root Port added the fact that Type 0 Configuration Requests sent to the Root Port are not filtered by the device number. Application Layer software must filter out requests for device number greater than 0.
  • Added illustration showing the location of the Hard IP Cores in the Intel® Arria® 10 devices.
  • Added limitation for rxm_irq_<n>[<m>:0]when interrupts are received on consecutive cycles.
  • Corrected description of cfg_prm_cmr. It is the Base/Primary Command register for the PCI Configuration Space.
  • Revised channel placement illustrations.



  • Added support for Configuration Space Bypass Mode, allowing you to design a custom Configuration Space and support multiple functions
  • Added preliminary support for a Avalon-MM 256-Bit Hard IP for PCI Express that is capable of running at the Gen3 ×8 data rate. This new IP Core. Refer to the Avalon-MM 256-Bit Hard IP for PCI Express User Guide for more information.
  • Added Gen3 PIPE simulation support.
  • Added support for 64-bit address in the Avalon-MM Hard IP for PCI Express IP Core, making address translation unnecessary
  • Added instructions for running the Single Dword variant.
  • Timing models are now final.
  • Updated the definition of refclk to include constraints when CvP is enabled.
  • Added section covering clock connectivity for reconfiguration when CvP is enabled.
  • Corrected access field in Root Port TLP Data registers.
  • Added Getting Started chapter for Configuration Space Bypass mode.
  • Added signal and register descriptions for the Gen3 PIPE simulation.
  • Added 64-bit addressing for the Avalon-MM IP Cores for PCI Express.
  • Changed descriptions of rx_st_err[1:0], tx_st_err[1:0], rx_st_valid[1:0], and tx_st_valid[1:0] buses. Bit 1 is not used.
  • Corrected definitions of RP_RXCPL_STATUS.SOP and RP_RXCPL_STATUS.EOP bits. SOP is 0x2010, bit[0] and EOP is 0x2010, bit[1].
  • Improved explanation of relaxed ordering of transactions and provided examples.
  • Revised discussion of Transceiver Reconfiguration Controller IP Core. Offset cancellation is not required for Gen1 or Gen2 operation.



Corrected typographical errors.



First release.