View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > Connectivity > PCI Express 3.0

IC4 PCI Express 3.0

This course covers PCI Express gen3 as well as gen1 and gen2

Objectives
bullet_jaune_1 Packet switching benefits compared to shared busses are highlighted.
bullet_jaune_1 The course explains the various traffic types that PCI Express supports.
bullet_jaune_1 The use of virtual channels to match Quality of Service requirements is explained.
bullet_jaune_1 The course describes the discovery sequence required to initialize the switches.
bullet_jaune_1 The course details the various stages of the physical layer: 8b10b coding, scrambling, elastic buffer, clock recovery and link training sequence.
bullet_jaune_1 The new features of the revision 2.0 and revision 3.0 are described, especially the sequence used to change either the speed or the link width.
bullet_jaune_1 The course explains the new coding scheme used in PCIe 3.0.
bullet_jaune_1 Event report to the host CPU through legacy interrupts, MSI or MSI-X is studied.
bullet_jaune_1 Note that the course can be adapted to only cover PCIe 1.1 or PCIe 2.0.
bullet_jaune_1 A lot of trainings have been developed on particular PCIe implementations, see our courses on FPGAs and SoCs.

A more detailed course description is available on request at guillaume.peron@ac6.fr
Prerequisites
bullet_jaune_2 Knowledge of PCI / PCI-X is recommended.
bullet_jaune_2 See our courses PCI, reference IC1 and PCI-X, reference IC3

Outline
THE TRANSITION TO PACKET SWITCHING
bullet_jaune_2 PCI bus limitations
bullet_jaune_2 The hub link bus
bullet_jaune_2 PCI-X
bullet_jaune_2 Solutions to increase the performance : differential transmission, packet switching
INTRODUCTION TO PCI EXPRESS
bullet_jaune_2 Topology
bullet_jaune_2 Data Link Control and Management State Machine
bullet_jaune_2 Transaction traffic types
bullet_jaune_2 Quality of Service
bullet_jaune_2 The physical layer
bullet_jaune_2 Configuration space
bullet_jaune_2 Switch logical view
THE PHYSICAL LAYER - LOGICAL SUB-BLOCK
bullet_jaune_2 Overview of the Physical layer, hightlighting the various units present in transmitter and receiver
bullet_jaune_3 Byte dispatching rules for multi-lane links
bullet_jaune_3 Purpose of scrambling
bullet_jaune_3 Elastic buffer operation
bullet_jaune_3 De-skew
bullet_jaune_2 8-bit / 10-bit coding (2.5 Gbps and 5.0 Gbps)
bullet_jaune_3 Data Byte encoding
bullet_jaune_3 Control symbol utilization
bullet_jaune_3 DC-balance through running disparity
bullet_jaune_2 128-bit / 130-bit coding (8.0 Gbps)
bullet_jaune_3 Block alignment, utilization of EIEOS
bullet_jaune_3 Clarifying how DC-balance is obtained
bullet_jaune_3 Framing tokens
bullet_jaune_3 Link equalization procedure
bullet_jaune_2 Link Training and Status State Machine [LTSSM]
bullet_jaune_3 Reset signalling
bullet_jaune_3 Lane reversal, polarity inversion
bullet_jaune_3 Detect state
bullet_jaune_3 Polling state
bullet_jaune_3 Configuration state
bullet_jaune_3 Recovery state
bullet_jaune_3 L0, L0s, L1 and L2 states
bullet_jaune_3 Disabled, Loopback and Hot Reset states
bullet_jaune_3 Testing the transmitter
bullet_jaune_3 Compliance load board usage
bullet_jaune_3 Testing the receiver
THE PHYSICAL LAYER - ELECTRICAL SUB-BLOCK
bullet_jaune_2 Interoperability criteria for 2.5, 5.0 and 8.0 Gbps
bullet_jaune_2 Jitter budgeting and measurement
bullet_jaune_2 Separate refclk architecture
bullet_jaune_2 Transmitter specification, phase jitter filtering
bullet_jaune_3 5.0 Gbps transmitter margining
bullet_jaune_3 Measurement setup for characterizing transmitters
bullet_jaune_3 De-emphasis
bullet_jaune_3 Rise and Fall times
bullet_jaune_3 PLL bandwidth and peaking
bullet_jaune_3 8.0 Gbps transmitter equalization coefficient range and tolerance
bullet_jaune_2 Receiver specification
bullet_jaune_3 Calibration channel characteristics
bullet_jaune_3 Return loss
bullet_jaune_3 Receiver compliance eye diagram
bullet_jaune_3 8.0 Gbps post-processing procedure
bullet_jaune_3 Behavioural Rx equalization algorithms (CTLE, DFE)
bullet_jaune_2 Skew
bullet_jaune_2 Receiver detect
bullet_jaune_2 Low power modes, Beacon signal
POWER MANAGEMENT
bullet_jaune_2 Link state power management
bullet_jaune_2 Native PCI Express power management mechanisms
bullet_jaune_2 Relationship between function state and link state
bullet_jaune_2 Power budgeting capability
bullet_jaune_2 Slot power limit control
bullet_jaune_2 Dynamic Power Allocation
PACKET ROUTING
bullet_jaune_2 Operation of PCI-to-PCI transparent bridge
bullet_jaune_2 Packet routing by the address
bullet_jaune_2 Packet routing by the ID
bullet_jaune_2 Packet routed implicitely
bullet_jaune_2 Access Control Services
bullet_jaune_2 Alternative Routing ID
bullet_jaune_2 Multicast addressing
TLP ACKNOWLEDGEMENT
bullet_jaune_2 Counters / timers present in the transmitter and the receiver
bullet_jaune_2 Explaining the acknowledge protocol through sequences
bullet_jaune_2 Sizing
bullet_jaune_2 Cut-through switches
QUALITY OF SERVICE
bullet_jaune_2 Introduction, traffic differentiation
bullet_jaune_2 VC arbitration
bullet_jaune_2 Port arbitration, switch model
FLOW CONTROL
bullet_jaune_2 Overview, transmit credit principle
bullet_jaune_2 Initialization, advertising infinite credits
bullet_jaune_2 Credit update frequency
bullet_jaune_2 Flow Control Packet
bullet_jaune_2 Optimized Buffer Flush / Fill message
bullet_jaune_2 Explaining the flow control protocol through sequences
TRANSACTION ORDERING
bullet_jaune_2 PCI Producer / Consumer model
bullet_jaune_2 Relaxed ordering permitted by PCI-X
bullet_jaune_2 PCI Express transaction ordering rules
bullet_jaune_2 Highlighting these rules through examples
PIPE INTERFACE
bullet_jaune_2 Interface clocking and reset
bullet_jaune_2 PHY-LINK interface signals
bullet_jaune_2 Elasticity buffer mode
bullet_jaune_2 Rx polarity
bullet_jaune_2 Selecting transmitter voltage levels
bullet_jaune_2 Rx status codes
bullet_jaune_2 Low power states
PACKET FORMAT
bullet_jaune_2 TLP format
bullet_jaune_2 Poisoning a TLP, error forwarding
bullet_jaune_2 Rules regarding read completions boundary
bullet_jaune_2 TLP prefix usage
bullet_jaune_2 TLP digest rules
bullet_jaune_2 Processing hints
INTERRUPT MANAGEMENT
bullet_jaune_2 PCI interrupt management
bullet_jaune_2 Transporting legacy interrupts through PCIe messages
bullet_jaune_2 Message Signaled Interrupts
bullet_jaune_2 Benefits of MSI-X
ERROR MANAGEMENT
bullet_jaune_2 PCI-like error management
bullet_jaune_2 PCI Express basic error management
bullet_jaune_2 PCI Express basic advanced error management
bullet_jaune_2 Using completion status field to report an error
HOT PLUG
bullet_jaune_2 Accessing a device through a slot
bullet_jaune_2 Card attachement sequence
bullet_jaune_2 Hot-plug events
THE CONFIGURATION SPACE
bullet_jaune_2 Root Complex event collector
bullet_jaune_2 PCI Express enumeration
bullet_jaune_2 New features of PCIe 2.0 and PCIe 3.0:
bullet_jaune_3 PCI Express Enhanced Configuration Access Mechanism
bullet_jaune_3 Device serial number capability
bullet_jaune_3 Root Complex link declaration capability
bullet_jaune_3 Root Complex internal link control capability
bullet_jaune_3 ACS extended capability
bullet_jaune_3 Multicast extended capability
DEBUGGING A PCI EXPRESS SYSTEM
bullet_jaune_2 Compliance lists
bullet_jaune_2 The Serial Data Analyser from Lecroy, test of the physical layer
bullet_jaune_2 Protocol analyser / exercicer from Lecroy
bullet_jaune_2 Trace analysis