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
      • Macro Choice and Wrappers
      • Shared Test and Repair
      • Retention and Power Gating of SRAM
    • ECC and Error Handling
    • 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. Memory Subsystem Integration

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

Memory Subsystem Integration

Memory compilers versus macros, wrappers, banking, and shared test and repair across the NanoSoC SRAMs.

  • 3topics
  • 3lessons

Two 64 KB SRAMs hold the whole NanoSoC software world, yet neither the CPU nor the DMA ever touches a memory macro directly: each macro sits behind a wrapper, shares its test engine with the other bank, and carries repair and retention wiring the integrator must get right. This topic builds that subsystem: how to choose between a compiled macro and a fixed one, what the wrapper owns, and how test, repair and power control are shared without tangling the banks together. For the coding style that infers these memories see SRAM and ROM; for how macros are mapped at synthesis see Memory and Macro Inference.

Lesson

After it you can...

Macro Choice and Wrappers

Pick a compiler or a fixed macro and write the wrapper checks that catch a mismatch.

Shared Test and Repair

Share one test controller across both banks and budget test time and repair fuses.

Retention and Power Gating of SRAM

Keep SRAM0 alive through sleep and prove the wake path returns its contents.

Suggested order: top to bottom. Choose the macros and wrap them first, because test and power both attach to the wrapper boundary; then share the test engine; then keep one bank alive while the other sleeps. The error-coding topic next door assumes these wrappers exist and adds protection inside them.

Check yourself Why does each SRAM sit behind a wrapper instead of connecting the macro straight to the fabric?

Because the macro's port polarity, latency, byte enables, test ports and repair inputs differ from the fabric convention. The wrapper absorbs all of that so the macro can be swapped without touching the interconnect.

Expect to explain why two small banks beat one large one: throughput, retention granularity, repair yield and power control each get a vote.

PreviousNext: Macro Choice and Wrappers

Up next

Up nextMacro Choice and Wrappers

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • ECC and Error Handling
  • External Memory Controller Integration
  • Boot ROM and Boot Modes