Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Protocol Metrics Reference
  • Protocols Glossary
  • Reading Path
  • Protocol Fundamentals25
  • AMBA Family (APB / AHB / AXI)17
  • Coherence Fabrics (ACE / CHI)17
  • Memory Interfaces (DDR / LPDDR / HBM)17
  • PCIe & CXL17
    • PCIe Layering & TLPs
      • PCIe Layering & TLPs: Concepts
      • PCIe Layering & TLPs: Integration
      • PCIe Layering & TLPs: Debug
      • PCIe Layering & TLPs: Interview
    • Enumeration & Link Training
    • CXL Attach Modes
    • PCIe / CXL Debug
    • PCIe & CXL: Tricky Q&A
  • Embedded Peripherals (I2C / SPI / UART)17
  • High-Speed I/O (USB / Ethernet / MIPI)17
  • Protocol Verification & Compliance17
  • Protocols Interview Prep5
  • Interface Protocols Cheatsheet
Loading lesson

←PCIe Layering & TLPs
  1. Topics
  2. Bus Protocols
  3. PCIe & CXL
  4. PCIe Layering & TLPs
  5. PCIe Layering & TLPs: Concepts
On this page

    Interface ProtocolsAll levels

    PCIe Layering & TLPs: Concepts

    Concepts for PCIe Layering & TLPs.

    Core concepts

    Three layers

    Transaction Layer (TL): TLPs carry the actual request — memory read/write, config access, message. Each TLP has a header (type, length, address/requester ID) and optional payload.

    For the conventional non-Flit PCIe examples in this overview, the Data Link Layer uses sequence numbers, link CRC and ACK/NAK with replay of unacknowledged TLPs. Link retry improves delivery reliability within its supported conditions; it is not a guarantee against every persistent fault. Newer Flit-mode mechanisms require their own revision-specific treatment.

    The Physical Layer handles link training, lanes and electrical signalling. PCIe Gen1/Gen2 use 8b/10b; Gen3–Gen5 use 128b/130b. Do not extend this encoding summary to every later generation.

    Diagram
    PCIe LAYER STACK
    
    Application (driver)
         |
    Transaction Layer:  TLP (MemRd, MemWr, CplD, CfgRd)
         |
    Data Link Layer:    seq#, CRC, ACK/NAK, replay
         |
    Physical Layer:     LTSSM, lanes, encoding, EQ

    Credits and flow control

    PCIe uses credit-based flow control. The receiver advertises buffer space per TLP type (Posted, Non-Posted, Completion). The sender cannot issue a TLP until it has credits. Credit exhaustion looks like a hang but is really backpressure.

    Completion credits are separate from request credits. A common bug: request credits available but completion credits exhausted — reads hang waiting for completion buffer space.

    • Track Posted, Non-Posted and Completion traffic with their header/data credit accounting for the selected virtual channel; one scalar TLP count is not a complete credit model.

    • Credit update uses DLLPs — not visible as TLPs.

    • Switch ports have independent credit pools per direction.

    Key takeaways

    • Track Posted, Non-Posted and Completion traffic with their header/data credit accounting for the selected virtual channel; one scalar TLP count is not a complete credit model.

    • Credit update uses DLLPs — not visible as TLPs.

    • Switch ports have independent credit pools per direction.

    Previous

    81 / 154

    Next: PCIe Layering & TLPs: Integration

    Up next

    Up nextPCIe Layering & TLPs: Integration

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • PCIe Layering & TLPs: Debug
    • PCIe Layering & TLPs: Interview