Creating a Design for PCI Express
Before you begin
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)?
1. Select parameters for that variant.
2. For 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 Arria 10
FPGA Development Kit. Refer to the Arria 10 PCI Express IP Core Quick Start Guide for details.
3. For all devices, you can simulate using an Altera-provided example design. All of Altera's static PCI
Express example designs are available under <install_dir>/ip/altera/altera_pcie/altera_pcie_a10_ed/
example_design/a10. Alternatively, generate an example design that matches your parameter settings, or
create a simulation model and use your own custom or third-party BFM. The Qsys Generate menu
generates simulation models. Altera supports ModelSim-Altera for all IP. The PCIe cores support the
Aldec RivieraPro, Cadence NCsim, Mentor Graphics ModelSim, and Synopsys VCS and VCS-MX
simulators.
The Altera 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 applica‐
tion, Altera suggests that you obtain commercially available PCI Express verification IP and tools, or
do your own extensive hardware testing, or both.
4. 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.
5. Download your design to an Altera development board or your own PCB. Click on the All Develop‐
ment Kits link below for a list of Altera's development boards.
6. Test the hardware. You can use Altera's SignalTap
®
II Logic Analyzer or a third-party protocol
analyzer to observe behavior.
7. Substitute your Application Layer logic for the Application Layer logic in Altera's testbench. Then
repeat Steps 3–6. In Altera's testbenches, the PCIe core is typically called the DUT (device under test).
The Application Layer logic is typically called APPS.
Related Information
• Parameter Settings on page 4-1
• Getting Started with the Avalon-MM DMA on page 3-1
• Arria 10 PCI Express Quick Start Guide on page 2-1
• All Development Kits
UG-01145_avmm_dma
2015.11.02
Creating a Design for PCI Express
1-9
Datasheet
Altera Corporation
Send Feedback