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
    • 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

←SoC Design
  1. Topics
  2. SoC Design
  3. Interrupts, DMA and Peripherals

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

Interrupts, DMA and Peripherals

The integrator's view of event delivery and data movement: interrupt routing and latency, the NanoSoC DMA and stream bridge, the peripheral subsystem, and pad muxing.

  • 5topics
  • 15lessons

A processor that cannot be interrupted on time is a liability, and a DMA engine that moves data nobody ordered is worse. This section is the integrator's view of both: how eight interrupt lines travel from their sources through synchronisers and a controller into the CPU, how the NanoSoC DMA and its stream bridge move blocks between the SRAM banks under software control, how the UART, SPI and GPIO hang off a slow peripheral bus, and how sixteen GPIO pads, shared with the UART and SPI signals, are muxed so that each peripheral pad follows its enable bit. Every latency, baud rate and register offset is a NanoSoC reference value, and every lesson names the review check that proves the wiring right.

Topic

What it covers

After it you can...

Interrupt Controller Integration

Level versus edge, polarity, fixed priority, masking, the 8-input NanoSoC controller and its wiring review

Wire any active-high level source into the controller, program masks and the TOP register, and review an interrupt table.

Interrupt Routing and Latency

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

Bound the irq-to-CPU latency in nanoseconds, and diagnose a missed, doubled or stuck interrupt.

DMA Integration

The NanoSoC streaming DMA and stream bridge: register sequence, contract quirks, length agreement, throughput, clock gating

Program a DMA job that completes with DONE and a single irq, and explain every way the contract can surprise a driver.

Peripheral Subsystem

UART, SPI and GPIO as integrated blocks: register maps, clocks, resets, interrupts, bridges and bring-up order

Bring the slow peripherals up in the right order and predict the cost of every register access.

Pad Muxing and GPIO

The 31-pad NanoSoC pad model: which GPIO pads UART and SPI share and how the EN bits select them, reset states and pulls, ball-out and simultaneous switching

Write a pin-mux table with no conflicts, set safe reset defaults, and check the pad count and the switching limit.

Suggested order: top to bottom. The controller must make sense before its routing latency can be bounded; the DMA lessons assume the interrupt path already works, because DMA completion is signalled by interrupt; the peripherals reuse the same bus, clock and reset ideas; and pad muxing closes the section at the package boundary. Readers chasing one bug can start at its topic: a stuck irq at the second, a corrupt DMA buffer at the third, a silent UART at the fourth, a contended pin at the fifth. For the generic delivery models see Interrupts and Notification; for the DMA mechanism itself see The DMA You Will Verify.

Check yourself Why does this section treat the interrupt controller, the DMA and the pads as one subject?

All three are integration-owned glue between blocks and software: none of them computes anything, but each decides whether events and data arrive at all, on time, and at the right destination. The integrator owns the tables, the timing and the review for all three.

Be ready to trace irq_dma from the DMA register block to the CPU fetch of the handler, quoting every synchroniser and the best and worst latency, then to program a 64-word DMA job from reset values.

Related topics

  • Up: SoC Design course hub

  • NanoSoC Tour

  • Glossary

  • Protocol First Principles: Interrupts and Notification

  • UVM: The DMA You Will Verify

PreviousNext: Thermal and Power Envelope

Up next

Up nextThermal and Power Envelope

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • How to Use This Course
  • The NanoSoC Tour
  • Reading Path