Silicon Bring-up · All levels

Hang and Deadlock Debug on Silicon: Theory Deep Dive

Theory Deep Dive for Hang and Deadlock Debug on Silicon.

Foundational theory

Hang and Deadlock Debug on Silicon is a critical part of Failure Triage & Debug. Strong teams treat this as evidence-driven execution, not intuition-driven trial and error.

Core concepts explained

  • Hangs look identical from the outside, but deadlock triage hinges on finding what stopped making forward progress first: CPU retirement, interconnect credits, DMA completion queues, or an always-on firmware state machine. Strong teams snapshot heartbeat counters and queue depths at fixed intervals, then align them with trigger-based trace capture around the final forward-progress event. One common war story is blaming software spin loops while the real issue is a circular wait across NoC virtual channels plus a rare low-power entry handshake; another is chasing fabric deadlock when the root cause is an interrupt storm starving a watchdog service thread. The debug pivot is to build a resource dependency graph from the captured state and prove at least one break condition for each cycle; if none exists, you have hard deadlock and need architectural relief, not just timeout tuning.

  • Primary metric: Mean time to identify first stuck resource and classify issue as hang, livelock, or true deadlock.

  • Primary artifact: Forward-progress packet: heartbeat timeline, queue watermark dump, dependency graph, and deadlock/livelock classification note.

  • Owners: NoC and fabric owner, firmware scheduler owner, power management owner, post-silicon debug owner, system software owner

  • Classify first failing boundary before broad fixes

  • Preserve first-failure state for deterministic replay

Why this matters in silicon programs

Triage maturity is measured by how quickly teams classify failures, prove causality, and close with bounded fixes. Better discipline here reduces false escalations and compresses closure cycles.

Mental model

diagram
FAILURE TRIAGE

failure observed
      |
      v
reproducible?
  /         \
no           yes
|             |
collect logs  boot stage known?
                /          \
              no            yes
              |              |
        add checkpoints   isolate domain
                           /    |     \
                        power  fw   interface
                          |     |      |
                        scope  trace  protocol decode

Worked intuition

  1. Define exact failing stage, board state, and environment metadata.

  2. Track movement in Mean time to identify first stuck resource and classify issue as hang, livelock, or true deadlock. before any mitigation branch.

  3. Separate setup errors, firmware state errors, and silicon behavior errors.

  4. Collect Forward-progress packet: heartbeat timeline, queue watermark dump, dependency graph, and deadlock/livelock classification note. from one failing and one comparator run.

  5. Apply smallest reversible change with owner signoff.

  6. Revalidate across representative corners and replay conditions.

Common misconceptions

  • If one board boots, platform readiness is proven.

  • ATE mismatch automatically means tester setup fault.

  • Intermittent failures can be closed with retries alone.

  • Signoff can proceed without explicit rollback criteria.

Silicon bring-up deep dive

Triage quality is measured by how quickly teams converge from symptom to proven root-cause class with minimal collateral churn.

Concept diagram

diagram
TRIAGE CONVERGENCE

symptom -> classify -> isolate -> prove -> bounded fix -> replay

Metric graph

diagram
TRIAGE EFFECTIVENESS

wide speculative edits   ██████
classified bounded fixes █████████

Metrics and artifacts to collect

  • time-to-classification

  • first-failure artifact completeness

  • hypothesis branch conversion rate

  • post-fix recurrence trend

Mini case study

Intermittent field-like failures closed faster once teams forced one-variable branch tests and owner-tagged evidence packets.

Debug branches

  • Preserve first-failure state before reruns.

  • Use disproof-oriented experiments to collapse cause tree quickly.

  • Promote fixes only after recurrence tracking windows pass.

Senior review question

Ask: what is the first failing boundary, which artifact proves it, and who owns bounded closure?

Key takeaways

  • Tie every bring-up claim to one reproducible setup state and one proving artifact.

  • Prefer bounded fixes with clear owner and rollback trigger over broad multi-variable edits.

Common pitfalls

  • Running parallel uncontrolled experiments and losing causality.

  • Declaring closure without replaying across representative corners.

  • Escalating severity before bench/setup hypotheses are disproven.

Theory reinforcement

Theory matters when it predicts measurable failure signatures and mitigation movement.

Map every explanation to concrete artifacts and owner actions.