What VLSI Engineers Should Know About PCIe Before Working on SoCs

PCI Express, commonly called PCIe, is one of the most important high-speed interconnect technologies used in modern computing systems. It connects processors with devices such as GPUs, storage controllers, network adapters, accelerators and other high-performance peripherals.

For a VLSI engineer working on a modern SoC, simply knowing that PCIe is a “high-speed serial protocol” is not enough.

Engineers working on PCIe IP, SoC integration, RTL design, functional verification, validation or system-level debugging need to understand how the protocol is organized, how packets move through its layers, how links are initialized, how devices are discovered and configured, and how errors and power states are handled.

The PCI-SIG PCI Express Base specification defines the architecture, interconnect attributes, fabric management and programming interfaces required for compliant PCIe systems and peripherals. The current approved base specification is Revision 7.0.

This guide explains the PCIe concepts VLSI engineers should understand before working on SoCs, without requiring them to memorize the entire specification.

Why Should VLSI Engineers Learn PCIe?

Modern SoCs contain multiple high-speed interfaces and increasingly complex subsystems.

PCIe is commonly encountered in systems involving:

  • CPUs
  • GPUs
  • AI accelerators
  • NVMe storage
  • Ethernet controllers
  • Network accelerators
  • FPGA accelerators
  • DMA engines
  • PCIe switches
  • High-performance computing systems

PCI-SIG identifies data centers, AI/ML, HPC, networking, storage, automotive and other data-intensive applications among the areas using PCIe technology.

For a VLSI engineer, PCIe knowledge becomes particularly useful when working on:

  • PCIe controller RTL
  • Protocol verification
  • SoC integration
  • PCIe PHY interfaces
  • UVM verification environments
  • DMA
  • Memory-mapped I/O
  • Interrupt mechanisms
  • Link training
  • Power management
  • Error handling
  • Silicon validation

Inskill’s PCIe training material similarly covers the Transaction, Data Link and Physical layers along with packet formats, flow control, error handling, link management, timing and waveform debugging.

PCIe Is More Than a Physical Interface

A common beginner mistake is to think of PCIe as simply a group of high-speed differential signals.

PCIe is a complete communication architecture.

A simplified view is:

       PCIe Device

             |

    +——————+

    | Transaction Layer|

    +——————+

             |

    +——————+

    |   Data Link      |

    |      Layer       |

    +——————+

             |

    +——————+

    | Physical Layer   |

    +——————+

             |

          PCIe Link

 

Each layer performs a different function.

Understanding these layers is one of the first things an engineer should learn.

1. PCIe Transaction Layer

The Transaction Layer deals with the actual requests and completions exchanged between PCIe components.

This is where concepts such as:

  • Memory Read
  • Memory Write
  • Configuration Read
  • Configuration Write
  • Completion
  • Message transactions

become important.

Transactions are represented using Transaction Layer Packets (TLPs).

For example:

Requester

   |

   | Memory Read TLP

   v

Completer

   |

   | Completion TLP

   v

Requester

 

For a VLSI engineer, it is important to understand that a PCIe transaction is not simply “data going from A to B.”

The transaction has attributes, addressing information, request/completion behavior and protocol rules that determine how it should be handled.

Why TLP knowledge matters

If you work in PCIe verification, you may need to:

  • Generate TLPs
  • Decode TLPs
  • Check TLP fields
  • Track requests and completions
  • Verify ordering
  • Check packet attributes
  • Debug packet-level failures

If you work in RTL design, you may encounter logic that generates, processes, buffers or routes these transactions.

2. PCIe Data Link Layer

The Data Link Layer provides reliable delivery across a PCIe link.

It is concerned with mechanisms such as:

  • Packet integrity
  • Sequence tracking
  • Error detection
  • Acknowledgment
  • Retry/replay
  • Flow-control information

A simplified view is:

Transaction Layer

       |

      TLP

       |

       v

Data Link Layer

       |

  Reliability

       |

       v

Physical Layer

 

The Data Link Layer is particularly important when debugging situations where packets are generated correctly at the transaction level but something goes wrong while transferring them across the link.

A VLSI verification engineer should understand the relationship between TLPs and Data Link Layer mechanisms rather than treating them as independent protocols.

3. PCIe Physical Layer

The Physical Layer is responsible for transmitting and receiving information over the actual PCIe link.

At a high level, it deals with:

  • Lanes
  • Electrical signaling
  • Encoding/modulation
  • Link initialization
  • Training
  • Lane management
  • Equalization
  • Receiver detection

The Physical Layer becomes increasingly complex as PCIe generations increase their data rates.

For example, PCIe 6.0 introduced 64.0 GT/s, PAM4 signaling, FEC and fixed-size 256-byte Flits.

The key lesson for a VLSI engineer is that PCIe generations are not simply “the same protocol but faster.” Higher generations introduce additional electrical and encoding requirements that affect the implementation and verification environment.

Understanding PCIe Lanes

A PCIe link consists of one or more lanes.

Common configurations include:

x1

x2

x4

x8

x16

 

A lane contains differential transmit and receive paths.

Conceptually:

Device A                    Device B

 

 TX  ———————-> RX

 RX  <———————-  TX

 

With multiple lanes:

Lane 0

Lane 1

Lane 2

Lane 3

…

 

The number of lanes affects aggregate link bandwidth.

An engineer working on PCIe should understand the distinction between:

  • Lane
  • Link
  • x1/x4/x8/x16 configuration
  • Lane numbering
  • Lane polarity
  • Lane reversal

These concepts become particularly important when working closer to the Physical Layer.

What Is a PCIe Root Complex?

The Root Complex (RC) provides the connection between the processor/system memory side and the PCIe hierarchy.

A simplified system may look like:

                CPU

                  |

            Root Complex

                  |

          +——-+——-+

          |               |

       Endpoint         Switch

                          |

                     +—-+—-+

                     |         |

                 Endpoint   Endpoint

 

The Root Complex is an important concept for SoC engineers because it is typically where PCIe connects into the host system architecture.

What Is a PCIe Endpoint?

A PCIe Endpoint is a device that participates in the PCIe hierarchy as an endpoint rather than as the root.

Examples can include:

  • SSD controllers
  • Network adapters
  • Accelerators
  • FPGA cards
  • PCIe peripherals

From a verification perspective, the role of the device matters because the expected transactions and configuration behavior depend on whether the component is functioning as a Root Complex, Endpoint, Switch or another PCIe component.

What Is a PCIe Switch?

A PCIe switch allows PCIe traffic to be connected across multiple downstream ports.

Conceptually:

             Root Complex

                    |

                 Switch

              /    |    \

             /     |     \

          EP1     EP2     EP3

 

Understanding the topology is important for SoC and system-level engineers because packet routing and hierarchy become more complex when multiple devices are involved.

What Is LTSSM?

One of the most important concepts for a PCIe engineer is the Link Training and Status State Machine, commonly called LTSSM.

The LTSSM controls and monitors the process through which a PCIe link moves from an inactive state toward normal operation and through various recovery or low-power conditions.

A simplified conceptual flow is:

Detect

  ↓

Polling

  ↓

Configuration

  ↓

L0

 

There are additional states and transitions involved in actual PCIe operation.

The important idea is that the link does not simply become active as soon as power is applied.

The two ends must detect each other, exchange training information, establish the required configuration and reach an operational state.

Why LTSSM matters in VLSI work

LTSSM is important for:

  • PCIe RTL design
  • Verification
  • Protocol debugging
  • Link bring-up
  • Silicon validation

For example, if a PCIe link refuses to reach L0, an engineer needs to determine where the state-machine progression stopped.

That makes LTSSM knowledge extremely valuable during waveform debugging.

What Is PCIe Link Training?

Before normal data traffic can occur, the link needs to establish communication between its two ends.

Training involves mechanisms that allow the link partners to determine and establish appropriate operating conditions.

Depending on the PCIe generation and implementation, engineers may encounter concepts such as:

  • Receiver detection
  • Training sequences
  • Lane configuration
  • Speed negotiation
  • Link-width negotiation
  • Equalization
  • Recovery

For a VLSI engineer, link training should be understood as a sequence of protocol and physical-layer events, not just as a single initialization signal.

PCIe TLPs: What Engineers Should Know

TLPs are fundamental to understanding PCIe transactions.

At a conceptual level, a TLP can contain:

+——————-+

| Header            |

+——————-+

| Optional Data     |

+——————-+

 

The header describes the transaction.

Depending on the transaction type, the TLP may carry information such as:

  • Request type
  • Address
  • Length
  • Requester information
  • Attributes
  • Data
  • Completion information

A verification engineer does not necessarily need to memorize every field initially.

Instead, learn to answer:

What transaction is this? Who generated it? Who should respond? What does the receiver do with it?

That way of thinking becomes much more useful when debugging waveforms.

What Are DLLPs?

Data Link Layer Packets (DLLPs) are associated with Data Link Layer functions.

They support link-level mechanisms such as:

  • Flow control
  • Acknowledgment
  • Negative acknowledgment/retry-related behavior
  • Power management functions

The distinction is important:

TLP  → Transaction Layer

DLLP → Data Link Layer

 

In PCIe 6.0 Flit Mode, TLPs and DLLPs are carried within fixed-size Flits rather than using the older packet framing arrangement. PCI-SIG specifies a 256-byte Flit structure for PCIe 6.0 Flit Mode.

PCIe Configuration Space and Enumeration

A PCIe device needs to be discovered and configured before normal system operation.

This is where concepts such as:

  • Configuration space
  • Vendor ID
  • Device ID
  • BARs
  • Capabilities
  • Bus/device/function addressing
  • Enumeration

become important.

What is enumeration?

At a high level, the host discovers the PCIe hierarchy and determines what devices are present and what resources they require.

A simplified flow is:

System starts

     ↓

Discover PCIe hierarchy

     ↓

Identify devices

     ↓

Read configuration information

     ↓

Assign resources

     ↓

Enable devices

     ↓

Normal operation

 

A VLSI engineer working on a PCIe Endpoint should understand what configuration information the device exposes and how the host interacts with it.

What Are BARs?

Base Address Registers (BARs) are used to describe addressable regions associated with a PCIe function.

For example, a device might expose registers that the host accesses through a memory-mapped address region.

Conceptually:

CPU

 |

 | Memory-mapped access

 v

PCIe Root Complex

 |

 v

PCIe Endpoint

 |

 v

Device Registers

 

Understanding BARs helps engineers connect the PCIe protocol with the broader SoC memory-mapped architecture.

PCIe Flow Control

PCIe needs mechanisms to prevent receivers from being overwhelmed by traffic.

Flow control is therefore an important topic for both design and verification engineers.

A simplified concept is:

Sender

  |

  | Data

  v

Receiver Buffer

  |

  | Available space?

  v

Flow Control

 

Engineers should understand the relationship between:

  • Credits
  • Buffers
  • TLP transmission
  • Receiver availability

The exact implementation details depend on the PCIe generation and protocol mode.

For interviews and initial project work, understanding why flow control exists and how it prevents buffer overflow is more important than memorizing every credit field.

PCIe Error Handling

High-speed interfaces need mechanisms to detect and respond to errors.

PCIe includes multiple error-handling mechanisms across its layers.

At a high level, engineers should understand:

  • Error detection
  • CRC
  • Retry/replay
  • Correctable errors
  • Uncorrectable errors
  • Error reporting
  • Recovery

PCIe 6.0 introduced FEC alongside CRC to address the higher error characteristics associated with PAM4 signaling.

For a verification engineer, error injection is particularly useful.

A good PCIe verification environment should not test only successful transactions. It should also exercise error scenarios and verify that the design responds according to the intended protocol behavior.

PCIe Power Management

SoC engineers should also understand PCIe power states.

PCIe systems can enter lower-power conditions when full link activity is unnecessary.

This introduces another verification dimension:

Active

  ↓

Low Power

  ↓

Wake-up

  ↓

Active

 

The engineer needs to consider:

  • Link state transitions
  • Power-management requests
  • Wake-up behavior
  • Clock behavior
  • Data preservation
  • Recovery

This becomes particularly important in mobile, embedded and power-sensitive SoCs.

PCIe and DMA

PCIe is frequently associated with high-throughput data movement, so DMA (Direct Memory Access) is an important adjacent concept.

A simplified data path might look like:

PCIe Device

     |

     v

PCIe Controller

     |

     v

DMA Engine

     |

     v

System Memory

 

Instead of requiring the CPU to move every data word, a DMA engine can coordinate transfers between device and memory.

For VLSI engineers, understanding the interaction between PCIe, DMA, memory addressing and interrupts helps connect protocol-level knowledge to actual SoC architecture.

What Should a PCIe RTL Engineer Know?

An RTL engineer working on PCIe should build knowledge in several layers.

Digital design

You should be comfortable with:

  • FSM design
  • FIFOs
  • Handshaking
  • Arbitration
  • Counters
  • Buffers
  • Clock-domain crossing
  • Reset design
Protocol concepts

You should understand:

  • TLPs
  • DLLPs
  • Flow control
  • LTSSM
  • Configuration
  • Error handling
  • Power states
PCIe architecture

You should know:

  • Root Complex
  • Endpoint
  • Switch
  • Link
  • Lane
  • PCIe hierarchy
Debugging

You should be able to inspect a waveform and reason about:

Transaction

   ↓

Packet

   ↓

Protocol state

   ↓

Link state

   ↓

Expected response

 

What Should a PCIe Verification Engineer Know?

A verification engineer needs an additional layer of knowledge.

You should understand:

  • SystemVerilog
  • UVM
  • Sequence generation
  • TLP generation
  • Scoreboards
  • Monitors
  • Assertions
  • Functional coverage
  • Error injection
  • Protocol checking
  • Waveform analysis

A typical PCIe verification environment may conceptually look like:

               Test

                 |

             Sequence

                 |

                 v

              Driver

                 |

                 v

             PCIe DUT

                 |

          +——+——+

          |             |

       Monitor      Monitor

          |             |

          +——+——+

                 |

              Scoreboard

                 |

              Coverage

 

Inskill’s PCIe Transaction Layer training specifically includes UVC/testbench development, while its Data Link Layer training focuses on DLL verification and testbench development.

What Should an SoC Integration Engineer Know?

An SoC integration engineer does not necessarily need to implement every PCIe protocol block from scratch.

However, they should understand how PCIe connects with the rest of the chip.

Important areas include:

  • AXI or internal SoC interfaces
  • Clock and reset domains
  • DMA
  • Interrupts
  • Memory map
  • Address translation
  • Power management
  • PCIe PHY interface
  • Configuration registers
  • Error reporting

A simplified SoC integration view is:

                CPU

                  |

               AXI / NoC

                  |

        +———+———+

        |                   |

     Memory              PCIe

    Controller          Controller

                            |

                           PHY

                            |

                        PCIe Link

 

The exact architecture varies by SoC, but the integration principle remains similar: PCIe is one subsystem within a larger hardware and software architecture.

PCIe Generations: What Should Engineers Know?

Engineers frequently encounter PCIe Gen3, Gen4, Gen5 and Gen6 in real projects.

The important thing is to understand the progression rather than memorizing numbers without context.

For example:

Generation

Key point

Gen1

2.5 GT/s

Gen2

5.0 GT/s

Gen3

8.0 GT/s

Gen4

16.0 GT/s

Gen5

32.0 GT/s

Gen6

64.0 GT/s, PAM4 and Flit Mode

PCI-SIG confirms that PCIe 6.0 doubles the 32 GT/s rate of PCIe 5.0 to 64 GT/s and introduces PAM4, FEC and Flit Mode.

However, GT/s is not the same thing as application-level GB/s. Encoding, protocol overhead, lane count and implementation details affect usable bandwidth.

This distinction is important in technical interviews.

PCIe 5.0 vs PCIe 6.0: Why the Difference Matters

A beginner might assume:

“PCIe 6.0 is just PCIe 5.0 running twice as fast.”

That is an incomplete understanding.

PCIe 6.0 introduced a major change in signaling with PAM4, along with FEC and CRC mechanisms and Flit-based operation.

Therefore, engineers working on newer PCIe designs need to understand how changes at the Physical Layer influence the rest of the implementation and verification flow.

PCIe and CXL

Engineers entering modern SoC and data-center designs may also encounter CXL (Compute Express Link).

PCI-SIG notes that protocols such as CXL and NVMe leverage PCIe infrastructure and PHY technology.

This does not mean PCIe and CXL are the same protocol.

Rather, knowledge of PCIe provides useful background for understanding other high-speed interconnect technologies.

What Should You Learn First?

If you are new to PCIe, avoid trying to read the complete specification from the first page.

A practical learning order is:

Step 1: Understand the architecture

Learn:

  • Root Complex
  • Endpoint
  • Switch
  • Link
  • Lane
Step 2: Learn the three major layers

Understand:

  • Transaction Layer
  • Data Link Layer
  • Physical Layer
Step 3: Learn TLPs

Start with:

  • Memory Read
  • Memory Write
  • Completion
  • Configuration transactions
Step 4: Learn link operation

Study:

  • LTSSM
  • Link training
  • Link states
  • Recovery
  • Equalization
Step 5: Learn configuration

Study:

  • Configuration space
  • Enumeration
  • BARs
  • Capabilities
Step 6: Learn reliability

Understand:

  • Flow control
  • CRC
  • Replay
  • Error handling
Step 7: Learn verification

Practice:

  • TLP generation
  • Scoreboards
  • Assertions
  • Coverage
  • Error injection
  • Waveform debugging
Step 8: Connect PCIe to SoC architecture

Finally, learn how PCIe interacts with:

  • CPU
  • Memory
  • DMA
  • AXI/NoC
  • Interrupts
  • Clock/reset
  • Power management

 

Final Takeaway

A VLSI engineer does not need to memorize the entire PCIe specification before working on a PCIe-based SoC.

What matters first is understanding how the pieces fit together.

Start with the architecture. Then understand the protocol and then move into the mechanisms. Finally, connect PCIe to the SoC. That foundation gives RTL designers, verification engineers and SoC integration engineers the context they need to understand PCIe-based projects and debug problems more effectively.

Leave a Reply

Your email address will not be published. Required fields are marked *