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
    • Enumeration & Link Training
      • Enumeration & Link Training: Concepts
      • Enumeration & Link Training: Integration
      • Enumeration & Link Training: Debug
      • Enumeration & Link Training: Interview
    • 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 & Compliance21
  • Protocols Interview Prep5
  • Interface Protocols Cheatsheet
Loading lesson

←Enumeration & Link Training
  1. Topics
  2. Bus Protocols
  3. PCIe & CXL
  4. Enumeration & Link Training
  5. Enumeration & Link Training: Integration
On this page

    Interface ProtocolsAll levels

    Enumeration & Link Training: Integration

    Integration for Enumeration & Link Training.

    Integration in practice

    Separate register access from DMA readiness

    Read first: Read the mechanism and worked trace first

    The host can read an assigned device register aperture, but the first DMA fails. A working CPU-to-BAR path proves a different route from device-to-host DMA.

    Separate register access from DMA readiness — decision record

    Apply the stated local assumptions; record actual platform values before using this as an implementation checklist.

    Decision / observation

    Required evidence

    Consequence

    Read BAR register works

    Link, resource mapping and that register path

    Does not establish a DMA mapping

    DMA descriptor programmed

    Valid OS DMA address, length, direction and ownership

    CPU virtual addresses are not device DMA addresses

    DMA launched

    Bus-master enable, route/permissions and device state

    Correlate request and completion/error evidence

    Check yourself Should a driver put a CPU virtual pointer directly into a DMA descriptor because its BAR registers are accessible?

    No. Use the platform DMA mapping API and the resulting device address; BAR accessibility does not establish DMA address translation or permissions.

    Board and package effects on training

    Same endpoint may train x4 Gen4 on eval board but x1 Gen3 on product board. Package routing, via stubs, and connector quality affect per-lane margin. SI/PI team owns this evidence.

    • Compare LTSSM history between working and failing boards.

    • Lane reversal and polarity inversion are configured during training.

    • If a retimer is present, collect its supported diagnostics and segment training evidence; do not model it as a PCIe switch with another enumerated hop.

    Previous

    86 / 158

    Next: Enumeration & Link Training: Debug

    Up next

    Up nextEnumeration & Link Training: Debug

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Enumeration & Link Training: Interview