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
  • Memories, Boot and Security21
    • Memory Subsystem Integration
    • ECC and Error Handling
      • Parity Versus ECC
      • Error Reporting Paths
      • Scrubbing and First Access
    • External Memory Controller Integration
    • Boot ROM and Boot Modes
    • eFuse and OTP
    • Secure Boot and Root of Trust
    • Security Architecture
  • 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

←Memories, Boot and Security
  1. Topics
  2. SoC Design
  3. Memories, Boot and Security
  4. ECC and Error Handling

Part 8 of 14Part 8 of 14/Memories, Boot and SecurityAll levels

ECC and Error Handling

Parity versus ECC, error reporting paths to the CPU, scrubbing, and what the interconnect returns on a bad access.

  • 3topics
  • 3lessons

A bit flips in SRAM1 and nothing notices until the wrong byte reaches the DMA output. Whether that day ends in a corrected statistic, a trapped exception or silent corruption was decided months earlier, when the integrator chose parity or ECC for each memory and wired each error signal somewhere software can see. This topic makes those two decisions on the NanoSoC banks: which code protects which memory, where each error goes, and how often idle words get swept for decay. NanoSoC itself ships without ECC, so every code width here is a labelled NanoSoC teaching value applied to the real banks. For the code mathematics see SECDED Encode and Syndrome; for when a code is worth its area see Failure Model and Protection Choice.

Lesson

After it you can...

Parity Versus ECC

Choose parity, SECDED or no code per memory and price the check bits.

Error Reporting Paths

Wire correctable and uncorrectable errors to interrupts and the fabric response.

Scrubbing and First Access

Budget a scrub rate and initialise every protected word before it is read.

Suggested order: top to bottom. Choose the code first, because the reporting paths depend on what the code can detect; then wire the reports; then keep the protected words healthy with scrubbing and disciplined first access. The external-controller topic reuses the same reporting pattern for DRAM errors.

Check yourself Why is the error policy decided per memory rather than once for the whole chip?

Because ROM is never written, SRAM0 holds the retained image, and SRAM1 holds DMA working data: their upset rates, write patterns and failure costs differ, so one code everywhere either wastes check bits or under-protects the image.

Expect to compare parity and SECDED on three axes: what each detects, what each corrects, and what each costs in bits and timing. The first lesson is that answer worked through.

PreviousNext: Parity Versus ECC

Up next

Up nextParity Versus ECC

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Memory Subsystem Integration
  • External Memory Controller Integration
  • Boot ROM and Boot Modes