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
  • The NanoSoC Tour
  • Reading Path
  • SoC Glossary10
  • SoC Metrics Reference
  • SoC Cheatsheet
  • What SoC Integration Is12
  • Architecture and Budgets21
  • Memory Maps and Address Decode26
  • Interconnect and Bus Fabrics26
  • Clock and Reset Architecture24
  • Power Architecture21
  • Interrupts, DMA and Peripherals15
    • Interrupt Controller Integration
    • Interrupt Routing and Latency
      • From DMA irq to CPU Entry
      • Latency Budgets and Deadlines
      • Spurious and Lost Interrupts
    • DMA Integration
    • Peripheral Subsystem
    • Pad Muxing and GPIO
  • Memories, Boot and Security21
  • IP Integration and Handoff21
  • Top-Level Verification and Bring-up21
  • Package, Pads and I/O18
  • Chip Signoff and Tapeout18
  • SoC Interview Prep16
  • Capstone: Integrate NanoSoC14
Loading lesson

←Interrupts, DMA and Peripherals
  1. Topics
  2. SoC Design
  3. Interrupts, DMA and Peripherals
  4. Interrupt Routing and Latency

Part 7 of 14Part 7 of 14/Interrupts, DMA and PeripheralsAll levels

Interrupt Routing and Latency

The DMA irq path across isolation and two synchronisers, best and worst latency, and spurious and lost interrupts.

  • 3topics
  • 3lessons

The wiring table says where each interrupt goes; this topic says when it gets there and what goes wrong on the way. One level travels from the DMA register block, through an isolation clamp and two synchronisers, into the CPU, and that journey is bounded between 135.4 and 182.3 ns. This topic walks the path stage by stage, turns the bound into a deadline calculator, and collects the three ways interrupts go missing or multiply: lost across a clock domain, lost in a clear-versus-set race, and storms from a level that was never cleared. For ordering against data see Interrupt and Data Ordering.

Lesson

After it you can...

From DMA irq to CPU Entry

Trace the irq across both crossings and read the waveform stage by stage.

Latency Budgets and Deadlines

Bound any NanoSoC interrupt latency and check it against a peripheral deadline.

Spurious and Lost Interrupts

Diagnose a missed, doubled or stuck interrupt from its signature.

Suggested order: top to bottom. Walk the path first with the waveform beside you, then price it with the calculator, then study the failure signatures, which all assume you know what the healthy path looks like. The DMA topic next door (DMA Integration) produces the irq this topic carries.

Check yourself Why does the controller output need a second synchroniser after the first one already reached clk_per?

The CPU runs on clk_cpu at 192 MHz, a different domain from the controller's clk_per. The first synchroniser carries the source into the controller; the second carries the controller's decision into the CPU. Each crossing gets its own two flops.

Expect to draw the path with every flop and quote both latency numbers. The first two lessons are that drawing plus its arithmetic.

PreviousNext: From DMA irq to CPU Entry

Up next

Up nextFrom DMA irq to CPU Entry

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Interrupt Controller Integration
  • DMA Integration
  • Peripheral Subsystem