Arria V Avalon-ST Interface for PCIe Solutions: User Guide
                    
                        ID
                        683660
                    
                
                
                    Date
                    5/12/2017
                
                
                    Public
                
            
                
                    
                        1. Datasheet
                    
                    
                
                    
                        2. Getting Started with the Arria V Hard IP for PCI Express
                    
                    
                
                    
                        3. Parameter Settings
                    
                    
                
                    
                        4. Interfaces and Signal Descriptions
                    
                    
                
                    
                        5. Registers
                    
                    
                
                    
                        6. Interrupts
                    
                    
                
                    
                        7. Error Handling
                    
                    
                
                    
                        8. IP Core Architecture
                    
                    
                
                    
                        9. Transaction Layer Protocol (TLP) Details
                    
                    
                
                    
                        10. Throughput Optimization
                    
                    
                
                    
                        11. Design Implementation
                    
                    
                
                    
                        12. Additional Features
                    
                    
                
                    
                    
                        13. Hard IP Reconfiguration
                    
                
                    
                        14. Transceiver PHY IP Reconfiguration
                    
                    
                
                    
                        15. Testbench and Design Example
                    
                    
                
                    
                        16. Debugging
                    
                    
                
                    
                    
                        A. Frequently Asked Questions for PCI Express
                    
                
                    
                    
                        B. Lane Initialization and Reversal
                    
                
                    
                        C. Document Revision History
                    
                    
                
            
        
                        
                        
                            
                            
                                1.1. Arria V Avalon-ST Interface for PCIe Datasheet
                            
                        
                            
                            
                                1.2. Features
                            
                        
                            
                            
                                1.3. Release Information
                            
                        
                            
                            
                                1.4. Device Family Support
                            
                        
                            
                            
                                1.5. Configurations
                            
                        
                            
                            
                                1.6. Example Designs
                            
                        
                            
                            
                                1.7. Debug Features
                            
                        
                            
                                1.8. IP Core Verification
                            
                            
                        
                            
                            
                                1.9. Performance and Resource Utilization
                            
                        
                            
                            
                                1.10. Recommended Speed Grades
                            
                        
                            
                            
                                1.11. Creating a Design for PCI Express
                            
                        
                    
                
                        
                        
                            
                            
                                4.1. Clock Signals
                            
                        
                            
                            
                                4.2. Reset, Status, and Link Training Signals
                            
                        
                            
                            
                                4.3. ECRC Forwarding
                            
                        
                            
                            
                                4.4. Error Signals
                            
                        
                            
                            
                                4.5. Interrupts for Endpoints
                            
                        
                            
                            
                                4.6. Interrupts for Root Ports
                            
                        
                            
                            
                                4.7. Completion Side Band Signals
                            
                        
                            
                            
                                4.8. LMI Signals
                            
                        
                            
                                4.9. Transaction Layer Configuration Space Signals
                            
                            
                        
                            
                            
                                4.10. Hard IP Reconfiguration Interface
                            
                        
                            
                            
                                4.11. Power Management Signals
                            
                        
                            
                                4.12. Physical Layer Interface Signals
                            
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            15.6.1. ebfm_barwr Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.2. ebfm_barwr_imm Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.3. ebfm_barrd_wait Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.4. ebfm_barrd_nowt Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.5. ebfm_cfgwr_imm_wait Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.6. ebfm_cfgwr_imm_nowt Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.7. ebfm_cfgrd_wait Procedure
                                        
                                        
                                    
                                        
                                        
                                            15.6.8. ebfm_cfgrd_nowt Procedure
                                        
                                        
                                    
                                        
                                            15.6.9. BFM Configuration Procedures
                                        
                                        
                                        
                                    
                                        
                                            15.6.10. BFM Shared Memory Access Procedures
                                        
                                        
                                        
                                    
                                        
                                            15.6.11. BFM Log and Message Procedures
                                        
                                        
                                        
                                    
                                        
                                            15.6.12. Verilog HDL Formatting Functions
                                        
                                        
                                        
                                    
                                
                            
                                    
                                    
                                        
                                        
                                            15.7.1. Changing Between Serial and PIPE Simulation
                                        
                                        
                                    
                                        
                                        
                                            15.7.2. Using the PIPE Interface for Gen1 and Gen2 Variants
                                        
                                        
                                    
                                        
                                        
                                            15.7.3. Viewing the Important PIPE Interface Signals
                                        
                                        
                                    
                                        
                                        
                                            15.7.4. Disabling the Scrambler for Gen1 and Gen2 Simulations
                                        
                                        
                                    
                                        
                                        
                                            15.7.5. Disabling 8B/10B Encoding and Decoding for Gen1 and Gen2 Simulations
                                        
                                        
                                    
                                        
                                        
                                            15.7.6. Changing between the Hard and Soft Reset Controller
                                        
                                        
                                    
                                
                            1.11. Creating a Design for PCI Express
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 Configuration via Protocol (CvP)?
 
    Note: The following steps only provide a high-level overview of the design generation and simulation process. For more details, refer to the Quick Start Guide chapter. 
   
 
  - Select parameters for that variant.
 - For Intel® Arria® 10 devices, you can use the new Example Design tab of the component GUI to generate a design that you specify. Then, you can simulate this example and also download it to an Intel® Arria® 10 FPGA Development Kit. Refer to the Intel® Arria® 10/ Intel® Cyclone® 10 GX PCI Express* IP Core Quick Start Guide for details.
 -   For all devices, you can simulate using an Intel-provided example design. All static PCI Express example designs are available under  <install_dir>/ip/altera/altera_pcie/altera_pcie_<dev>_ed/example_design/<dev> . Alternatively, create a simulation model and use your own custom or third-party BFM. The Platform Designer Generate menu generates simulation models. Intel supports  ModelSim* - Intel FPGA Edition for all IP. The PCIe cores support the Aldec RivieraPro*, Cadence NCSim*, Mentor Graphics ModelSim*, and Synopsys VCS* and VCS-MX* simulators. 
    The Intel testbench and Root Port or Endpoint BFM provide a simple method to do basic testing of the Application Layer logic that interfaces to the variation. However, the testbench and Root Port BFM are not intended to be a substitute for a full verification environment. To thoroughly test your application, Intel suggests that you obtain commercially available PCI Express verification IP and tools, or do your own extensive hardware testing, or both.
 - Compile your design using the Quartus® Prime software. If the versions of your design and the Quartus® Prime software you are running do not match, regenerate your PCIe design.
 - Download your design to an Intel development board or your own PCB. Click on the All Development Kits link below for a list of Intel's development boards.
 - Test the hardware. You can use Intel's Signal Tap Logic Analyzer or a third-party protocol analyzer to observe behavior.
 - Substitute your Application Layer logic for the Application Layer logic in Intel's testbench. Then repeat Steps 3–6. In Intel's testbenches, the PCIe core is typically called the DUT (device under test). The Application Layer logic is typically called APPS.