Arria® V Avalon® Memory-Mapped (Avalon-MM) Interface for PCI Express* Solutions: User Guide
ID
683773
Date
10/25/2024
Public
1. Datasheet
2. Getting Started with the Avalon-MM Arria V Hard IP for PCI Express
3. Parameter Settings
4. Interfaces and Signal Descriptions
5. Registers
6. Reset and Clocks
7. Interrupts for Endpoints
8. Error Handling
A. PCI Express Protocol Stack
9. Design Implementation
10. Additional Features
11. Transceiver PHY IP Reconfiguration
12. Debugging
B. Frequently Asked Questions for PCI Express
C. Lane Initialization and Reversal
D. Document Revision History
2.1. Running Platform Designer
2.2. Generating the Example Design
2.3. Running a Gate-Level Simulation
2.4. Simulating the Single DWord Design
2.5. Understanding Channel Placement Guidelines
2.6. Generating Synthesis Files
2.7. Compiling the Design in the Quartus® Prime Software
2.8. Programming a Device
5.1. Correspondence between Configuration Space Registers and the PCIe Specification
5.2. Type 0 Configuration Space Registers
5.3. Type 1 Configuration Space Registers
5.4. PCI Express Capability Structures
5.5. Intel-Defined VSEC Registers
5.6. CvP Registers
5.7. 64- or 128-Bit Avalon-MM Bridge Register Descriptions
5.8. Programming Model for Avalon-MM Root Port
5.9. Uncorrectable Internal Error Mask Register
5.10. Uncorrectable Internal Error Status Register
5.11. Correctable Internal Error Mask Register
5.12. Correctable Internal Error Status Register
5.7.1.1. Avalon-MM to PCI Express Interrupt Status Registers
5.7.1.2. Avalon-MM to PCI Express Interrupt Enable Registers
5.7.1.3. PCI Express Mailbox Registers
5.7.1.4. Avalon-MM-to-PCI Express Address Translation Table
5.7.1.5. PCI Express to Avalon-MM Interrupt Status and Enable Registers for Endpoints
5.7.1.6. Avalon-MM Mailbox Registers
5.7.1.7. Control Register Access (CRA) Avalon-MM Slave Port
A.4.1. Avalon‑MM Bridge TLPs
A.4.2. Avalon-MM-to-PCI Express Write Requests
A.4.3. Avalon-MM-to-PCI Express Upstream Read Requests
A.4.4. PCI Express-to-Avalon-MM Read Completions
A.4.5. PCI Express-to-Avalon-MM Downstream Write Requests
A.4.6. PCI Express-to-Avalon-MM Downstream Read Requests
A.4.7. Avalon-MM-to-PCI Express Read Completions
A.4.8. PCI Express-to-Avalon-MM Address Translation for 32-Bit Bridge
A.4.9. Minimizing BAR Sizes and the PCIe Address Space
A.4.10. Avalon® -MM-to-PCI Express Address Translation Algorithm for 32-Bit Addressing
2.7. Compiling the Design in the Quartus® Prime Software
To compile the Platform Designer design example in the Quartus® Prime software, you must create a Quartus® Prime project and add your Platform Designer files to that project.
Complete the following steps to create your Quartus® Prime project:
- Click the New Project Wizard icon.
- Click Next in the New Project Wizard: Introduction (The introduction does not appear if you previously turned it off)
- On the Directory, Name, Top-Level Entity page, enter the following information:
- The working directory shown is correct. You do not have to change it.
- For the project name, browse to the synthesis directory that includes your Platform Designer project, <working_dir>/ep_g1x4/synthesis. Select your variant name, ep_g1x4.v. Then, click Open.
- If the top‑level design entity and Platform Designer system names are identical, the Quartus® Prime software treats the Platform Designer system as the top‑level design entity.
- Click Next to display the Add Files page.
- Complete the following steps to add the Quartus® Prime IP File (.qip)to the project:
- Click the browse button. The Select File dialog box appears.
- In the Files of type list, select IP Variation Files (*.qip).
- Browse to the <working_dir>/ep_g1x4/synthesis directory.
- Click ep_g1x4.qip and then click Open.
- On the Add Files page, click Add, then click OK.
- Click Next to display the Device page.
- On the Family & Device Settings page, choose the following target device family and options:
- In the Family list, select Arria V (GT/GX/ST/SX).
- In the Devices list, select Arria V GX Extended Features..
- In the Available Devices list, select 5AGXFB3H6F35C6.
- Click Next to close this page and display the EDA Tool Settings page.
- From the Simulation list, select ModelSim ®. From the Format list, select the HDL language you intend to use for simulation.
- Click Next to display the Summary page.
- Check the Summary page to ensure that you have entered all the information correctly.
- Click Finish to create the Quartus® Prime project.
- Add the Synopsys Design Constraint (SDC) commands shown in the following example to the top‑level design file for your Quartus® Prime project.
-
To compile your design using the Quartus® Prime software, on the Processing menu, click Start Compilation. The Quartus® Prime software then performs all the steps necessary to compile your design.
- 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 Design Space Explorer on the tools menu.
Synopsys Design Constraints
create_clock -period “100 MHz” -name {refclk_pci_express}{*refclk_*} derive_pll_clocks derive_clock_uncertainty # PHY IP reconfig controller constraints # Set reconfig_xcvr clock # Modify to match the actual clock pin name # used for this clock, and also changed to have the correct period set create_clock -period "125 MHz" -name {reconfig_xcvr_clk}{*reconfig_xcvr_clk*}
Files Generated for Altera IP Cores
Figure 6. IP Core Generated FilesThe Quartus® Prime software generates the following output for your IP core.
Note: By following these instructions you create all the files for simulation and synthesis. However, this design example does not generate all the files necessary to download the design example to hardware. Refer to AN 456 PCI Express High Performance Reference Design for a design that includes all files necessary to download your design to an Arria V FPGA Development Kit.
Related Information