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

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
    • Silicon Bring-up Coherency Triage
      • Trace-First Debug
      • Stale-Data Triage
      • Hang Triage
      • Symptom to Mechanism
    • Cross-Layer Observability Strategy
    • Post-Silicon Regression and Guardrails
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Debug and Bring-up
  1. Topics
  2. Cache Coherency
  3. Debug and Bring-up
  4. Silicon Bring-up Coherency Triage

Part 12 · Debug and Bring-up · All levels

Silicon Bring-up Coherency Triage

Turn a coherence failure on silicon into captured evidence, a located first illegal step and a bug class.

  • 4topics
  • 4lessons

On silicon a coherence bug cannot be rerun with full waveforms. You get one failure, a trace buffer of limited depth and whatever state you can dump. This topic teaches the coherence-specific evidence: which messages to capture, how to rebuild transactions from them, and how to go from a stale read or a hang to the first illegal step. The general method (observe, hypothesise, test) belongs to the Hardware Debug course; here we apply it to coherence.

Lesson

After it you can...

Trace-First Debug

Name the minimal per-message record and rebuild a dirty read from a capture.

Stale-Data Triage

Find who supplied an old value and replay a log to the first illegal step.

Hang Triage

Build a wait-for chain from pending entries and MSHRs and tell a lost message from a cycle.

Symptom to Mechanism

Go from an observed symptom to likely mechanisms and the first evidence to collect.

Suggested order: as listed. Prerequisites: the race lessons, controller resources and progress classes. Every example uses the course model with MSI and acknowledgements collected at H.

Check yourself A core's load returned an old value of X on silicon. Why is the load usually not the first place to look?

The load is the symptom. The first illegal step is usually earlier: a grant sent before an Inv-Ack, an Inv never sent, or memory answering while a cache held dirty data. The captured messages for X's line, in H's order, locate that step.

Related topics

  • Shared course model

  • Hardware Debug: the debug loop

  • Post-silicon validation

PreviousNext: Trace-First Debug

Up next

Up nextTrace-First Debug

Sign in to save progress

Practice this lessonReport an error

See also

  • Cross-Layer Observability Strategy
  • Post-Silicon Regression and Guardrails