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
    • ACE Coherent Transactions
    • Snoop & Cache Maintenance
      • Snoop & Cache Maintenance: Concepts
      • Snoop & Cache Maintenance: Integration
      • Snoop & Cache Maintenance: Debug
      • Snoop & Cache Maintenance: Interview
    • CHI Topology Basics
    • Coherence Fabric Debug
    • Coherence Fabrics (ACE / CHI): Tricky Q&A
  • Memory Interfaces (DDR / LPDDR / HBM)17
  • PCIe & CXL17
  • 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

←Snoop & Cache Maintenance
  1. Topics
  2. Bus Protocols
  3. Coherence Fabrics (ACE / CHI)
  4. Snoop & Cache Maintenance
  5. Snoop & Cache Maintenance: Debug
On this page

    Interface ProtocolsAll levels

    Snoop & Cache Maintenance: Debug

    Debug for Snoop & Cache Maintenance.

    Primary debug scenario

    Symptom: DMA reads stale data after CPU wrote the buffer. CPU cache is hardware-coherent. Buffer is in shareable memory.

    Triage steps

    1. Verify CPU wrote the buffer before DMA start — check program order.

    2. Check the platform's ordering requirement between descriptor publication and the DMA doorbell; do not select a barrier instruction without the architecture and driver contract.

    3. Verify DMA uses coherent path (not bypassing coherency).

    4. If the path is non-coherent, verify the platform DMA mapping/synchronisation calls for the transfer direction and ownership transition rather than inserting a raw cache instruction by default.

    5. Check whether the buffer shares a maintenance granule with unrelated dirty data; partial-granule ownership can require bounce buffering, alignment or platform-specific handling.

    Common pitfalls

    • Assuming hardware coherency eliminates all flush/invalidate needs.

    • DMA through non-coherent path to 'coherent' memory.

    • Missing or incorrect publication/completion step between CPU data/descriptor updates and the device notification.

    Previous

    53 / 154

    Next: Snoop & Cache Maintenance: Interview

    Up next

    Up nextSnoop & Cache Maintenance: Interview

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Snoop & Cache Maintenance: Concepts