PCI Express is the open standards- based successor to PCI and its variants for server- and client-system I/O interconnects. Unlike PCI and PCI-X, which are based on 32- and 64-bit parallel buses, PCI Express uses high-speed serial link technology similar to that found in Gigabit Ethernet, Serial ATA (SATA), and Serial-Attached SCSI (SAS). PCI Express reflects an industry trend to replace legacy shared parallel buses with high-speed point-to-point serial buses.
In this training we will discuss and cover the following:
-
Packet switching benefits compared to shared busses are highlighted
-
The course explains the various traffic types that PCI Express supports
-
The use of virtual channels to match Quality of Service requirements is explained
-
The course describes the discovery sequence required to initialize the switches
-
The course details the various stages of the physical layer : 8b10b and 128/130b coding, scrambling, elastic buffer, clock recovery and link training sequence
-
The course highlight the differences between the 3 generations of PCI Express
Experience of a high speed digital bus like PCI / PCI-X is strongly recommended.
11. Interrupt Management
-
Message Signaled Interrupts
-
PCI Express Interrupt Management
12. Error Management
-
General principles
-
PCI-like error management
-
PCI Express basic error management
-
PCI Express basic advanced error management
13. The Configuration Space
-
Root Complex Register Block [RCRB]
-
PCI Express enumeration
-
PCI-compatible configuration registers
-
Expansion ROMs
14. Differences between Gen1, Gen2 and Gen3
-
The new physical layer of GEN2 and GEN3 with a 128/130b encoding
-
The new protocol transactions
-
The new PCI Express Enhanced Configuration Access Mechanism
15. Debugging a PCI Express System
-
Compliance lists
-
The Serial Data Analyser from Lecroy, test of the physical layer
-
Protocol analyser / exercicer from Lecroy
-
Trace analysis
Day 4 (optional): Xilinx Specific Implementation
Lab 1: Construction the PCIe Core
-
PCIe and Core Generator overview
-
Connecting logic to the core – LocalLink
-
PCIe Link and System Interface Signals
-
Common Transaction Interface Signals
-
Transmit examples
-
Receive examples
Lab 2: Endpoint design and debugging
-
Designing the endpointapplication
-
Specification review
-
Selecting the appropriate core
-
Select appropriate parameters for the CORE Generator tool
Lab 3: PCIe core debugging
-
Simulating a PCIe Design
-
Simulation methods
-
Building testbenches
-
Debugging a PCIe core with ChipScope Pro
-
Use the ChipScope Pro tools to monitor the behavior of the core
Lab 4: Running the application
-
Configuration space exploring
-
Enumeration example learning
-
Interrupts and Advanced Error Reporting
-
Host side application and drivers (optional)