Arria® 10 and Cyclone® 10 GX Avalon® Streaming Interface for PCI Express* User Guide
ID
683647
Date
9/11/2024
Public
1. Datasheet
2. Quick Start Guide
3. Arria® 10 or Cyclone® 10 GX Parameter Settings
4. Physical Layout
5. Interfaces and Signal Descriptions
6. Registers
7. Reset and Clocks
8. Interrupts
9. Error Handling
10. PCI Express Protocol Stack
11. Transaction Layer Protocol (TLP) Details
12. Throughput Optimization
13. Design Implementation
14. Additional Features
15. Hard IP Reconfiguration
16. Testbench and Design Example
17. Debugging
A. Transaction Layer Packet (TLP) Header Formats
B. Lane Initialization and Reversal
C. Arria® 10 or Cyclone® 10 GX Avalon-ST Interface for PCIe Solutions User Guide Archive
D. Document Revision History
3.1. Parameters
3.2. Arria® 10 or Cyclone® 10 GX Avalon-ST Settings
3.3. Base Address Register (BAR) and Expansion ROM Settings
3.4. Base and Limit Registers for Root Ports
3.5. Device Identification Registers
3.6. PCI Express and PCI Capabilities Parameters
3.7. Vendor Specific Extended Capability (VSEC)
3.8. Configuration, Debug, and Extension Options
3.9. PHY Characteristics
3.10. Example Designs
5.1. Avalon‑ST RX Interface
5.2. Avalon-ST TX Interface
5.3. Clock Signals
5.4. Reset, Status, and Link Training Signals
5.5. ECRC Forwarding
5.6. Error Signals
5.7. Interrupts for Endpoints
5.8. Interrupts for Root Ports
5.9. Completion Side Band Signals
5.10. Parity Signals
5.11. LMI Signals
5.12. Transaction Layer Configuration Space Signals
5.13. Hard IP Reconfiguration Interface
5.14. Power Management Signals
5.15. Physical Layer Interface Signals
5.1.1. Avalon-ST RX Component Specific Signals
5.1.2. Data Alignment and Timing for the 64‑Bit Avalon® -ST RX Interface
5.1.3. Data Alignment and Timing for the 128‑Bit Avalon‑ST RX Interface
5.1.4. Data Alignment and Timing for 256‑Bit Avalon‑ST RX Interface
5.1.5. Tradeoffs to Consider when Enabling Multiple Packets per Cycle
5.2.1. Avalon-ST Packets to PCI Express TLPs
5.2.2. Data Alignment and Timing for the 64‑Bit Avalon-ST TX Interface
5.2.3. Data Alignment and Timing for the 128‑Bit Avalon‑ST TX Interface
5.2.4. Data Alignment and Timing for the 256‑Bit Avalon‑ST TX Interface
5.2.5. Root Port Mode Configuration Requests
16.4.1. ebfm_barwr Procedure
16.4.2. ebfm_barwr_imm Procedure
16.4.3. ebfm_barrd_wait Procedure
16.4.4. ebfm_barrd_nowt Procedure
16.4.5. ebfm_cfgwr_imm_wait Procedure
16.4.6. ebfm_cfgwr_imm_nowt Procedure
16.4.7. ebfm_cfgrd_wait Procedure
16.4.8. ebfm_cfgrd_nowt Procedure
16.4.9. BFM Configuration Procedures
16.4.10. BFM Shared Memory Access Procedures
16.4.11. BFM Log and Message Procedures
16.4.12. Verilog HDL Formatting Functions
16.1. Endpoint Testbench
After you install the Quartus® Prime software, you can copy any of the example designs from the <install_dir>/ip/altera/altera_pcie/altera_pcie_a10_ed/example_design/a10 directory.
You can create an Endpoint design for inclusion in the testbench using design flows described in the Quick Start Guide. This testbench uses the parameters that you specify in the Quick Start Guide.
Figure 104. Design Example for Endpoint Designs
The top-level of the testbench instantiates the following main modules:
- altpcietb_bfm_rp_<gen>_x8.sv —This is the Root Port PCIe* BFM. This is the module that you modify to vary the transactions sent to the example Endpoint design or your own design.
//Directory path <project_dir>/pcie_<dev>_hip_ast_0_example_design/pcie_example_design_tb/ip/pcie_example_design_tb/DUT_pcie_tb_ip/altera_pcie_<dev>_tbed_<ver>/sim
Note: If you modify the RP BFM, you must also make the appropriate corresponding changes the APPs module. - pcie_example_design_DUT.ip: This is the Endpoint design with the parameters that you specify.
//Directory path <project_dir>/pcie_<dev>_hip_ast_0_example_design/ip/pcie_example_design
- pcie_example_design_APPS.ip: This module is a target and initiator of transactions.
//Directory path <project_dir>/pcie_<dev>_hip_ast_0_example_design/ip/pcie_example_design/
- altpcietb_bfm_cfpb.v: This module supports Configuration Space Bypass mode. It drives TLPs to the custom Configuration Space.
//Directory path <project_dir>/pcie_<dev>_hip_ast_0_example_design/pcie_example_design_tb/ip/pcie_example_design_tb/DUT_pcie_tb_ip/altera_pcie_<dev>_tbed_<ver>/sim
In addition, the testbench has routines that perform the following tasks:
- Generates the reference clock for the Endpoint at the required frequency.
- Provides a PCI Express reset at start up.
Note: Before running the testbench, you should set the serial_sim_hwtcl parameter in <testbench_dir>/pcie_<dev>_hip_avst_0_example_design/pcie_example_design_tb/ip/pcie_example_design_tb/DUT_pcie_tb_ip/altera_pcie_<dev>_tbed_<ver>/sim/altpcie__tbed_hwtcl.v. Set to 1 for serial simulation and 0 for PIPE simulation.