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
    • External Memory Controller Integration
    • Boot ROM and Boot Modes
      • Reset Vector and Boot-Source Select
      • The NanoSoC Boot Flow in Time
      • ROM to SRAM Handoff and Patching
    • 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. Boot ROM and Boot Modes

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

Boot ROM and Boot Modes

Reset vector, boot-source select, and the NanoSoC boot flow with cycle counts and times.

  • 3topics
  • 3lessons

Every NanoSoC wakes at address zero with cold caches, uninitialised memories and one job: reach running software in 12.581 milliseconds. The boot ROM does that job in sixteen modelled steps (one access in flight at a time), from the 53.948 microseconds of hardware reset to a 10.928 millisecond image load that dwarfs everything else. This topic teaches where the reset vector lives, how the ROM decides between a cold boot and a wake, what each microsecond costs, and how the ROM hands control to SRAM0. For the bring-up view see Boot ROM Execution and Firmware Stage Handoff; for reset sequencing see Reset Sequencing and Clock Tree Bring-up.

Lesson

After it you can...

Reset Vector and Boot-Source Select

Place the reset vector, read and clear the reset cause, and explain what reset leaves behind.

The NanoSoC Boot Flow in Time

Recompute the 12.581 ms boot total and say which step dominates and why.

ROM to SRAM Handoff and Patching

Hand control to SRAM0, take the retained-image shortcut at wake, and plan ROM fixes.

Suggested order: top to bottom. Place the vector and read the reset cause first, because every later step assumes address zero answers and knows which kind of boot this is; then cost the whole flow; then hand off to SRAM and plan for the ROM's mistakes. The fuse topic next door supplies the trim and configuration this flow reads.

Check yourself Why does the boot flow deserve microsecond-level costing instead of a block diagram?

Because the costs decide the architecture: the SPI load at 86.9 percent says a faster boot means a faster loader, not a faster reset, and no diagram alone reveals that.

Expect to narrate the boot with the four numbers that matter: 53.948 microseconds of hardware, a 16-character banner, 8 KB over SPI, and the jump to 0x2000_0000.

PreviousNext: Reset Vector and Boot-Source Select

Up next

Up nextReset Vector and Boot-Source Select

Sign in to save progress

Practice this lessonPrevious lessonReport an error

See also

  • Memory Subsystem Integration
  • ECC and Error Handling
  • External Memory Controller Integration