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
      • What the Integrator Wires
      • Bandwidth and Ordering Budgets
      • Initialisation and Training Ownership
    • 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

←External Memory Controller Integration
  1. Topics
  2. SoC Design
  3. Memories, Boot and Security
  4. External Memory Controller Integration
  5. What the Integrator Wires
On this page

    Part 8 of 14, lesson 7 of 21Part 8 of 14/Memories, Boot and Security/Lesson 7 of 21All levels

    What the Integrator Wires

    The five interfaces of an external controller: fabric port, PHY link, clocks and resets, configuration, and errors.

    Why it matters

    This lesson has one job: name every wire the integrator is responsible for around a controller the team did not design. Controllers arrive as hardened blocks with a fabric port on one side and a PHY link on the other, and the space between the datasheet and a working chip is all integration: which clock drives the controller core, which reset releases it, where calibration results are stored, which address bits interleave across channels, and where QoS classes attach. Miss one and the symptom is a memory that trains on the bench and fails in the system.

    The core idea

    The fabric port is an AXI4 slave like any other, sized to the controller's data width with its own clock domain and an asynchronous bridge if the controller runs faster than the 96 MHz fabric. The PHY link carries the calibrated interface to the pads; the integrator does not design the PHY but owns its reference clock, its reset, its power rail sequencing, and the board-level routing constraints the PHY dictates. Address mapping decides which bits select the channel, bank and row: interleaving consecutive cache lines across channels buys parallelism for sequential DMA traffic but scatters one stream across power-hungry pages, so the map is a workload decision. Ordering follows from the controller's rescheduling: reads may overtake writes to open pages, which is why a DMA completion interrupt must be ordered against its data, exactly the fence discipline the fabric section teaches. For the DRAM-side view see Address Mapping, Interleaving, and Disturb-Aware Placement and The Memory-Controller Boundary.

    Interface

    What the integrator provides

    NanoSoC parallel

    Fabric port

    AXI4 slave wiring, clock bridge, QoS class, secure filter entry

    The SBR master port and the SRAM1 secure filter

    PHY and pads

    Reference clock, reset, power sequencing, board routing rules

    The crystal and pad reset debounce

    Calibration store

    Where training results live across sleep and reset

    SRAM0 retention (training results must live in retained or always-on storage) and RST_CAUSE (to choose train or restore)

    Address map

    Controller windows in the map, interleave bits, reserved growth

    The SRAM0/SRAM1 split and its banking rule

    Errors

    Correctable counters and uncorrectable path into the error aggregator

    The ECC reporting paths of the previous topic

    What the review looks for

    • Each of the five interfaces names its owner, its clock and its reset; none is owned by implication.

    • The interleave bit choice is written down with the workload that justifies it, and the verification plan covers the opposite pattern.

    • The secure filter covers the controller windows exactly as it covers SRAM1: mapped but refused for the wrong state.

    Verify and debug

    Check connectivity per bit from the fabric to the controller port and from the controller to the PHY before any traffic test: a dropped address bit aliases gigabytes, not kilobytes. Then run single-beat accesses to each interleave region and confirm they land on distinct channels. If sequential traffic piles onto one channel, the interleave bits are wired to the wrong address slice.

    Address truncation in a bridge or adapter: upper address bits tied off so high memory aliases onto low memory. Symptom: accesses above the tied bit mirror low addresses, caught by directed high-address tests. Fix: carry the full address and check every width in the connectivity review.

    If asked to integrate a controller you have never seen, start with the five interfaces and ask for the datasheet section of each. Interviewers score the completeness of the list before any detail.

    Check yourself A sequential DMA stream alone on a channel gets open-page hits, while random CPU traffic thrashes pages. Which mapping choice keeps the CPU from destroying the DMA's hits, and what does it cost?

    Separate them by channel or by bank: give the DMA stream its own channel (or bank group) so the CPU's random accesses close other pages, not the DMA's open one. The cost is that neither side can use the other's idle capacity, and interleaving the stream across channels would restore parallelism at the price of waking more pages. The choice is workload-driven, which is why the integrator documents the assumed traffic.

    Related topics

    • Next: Bandwidth and Ordering Budgets

    • Memory Interfaces: DDR Controller / PHY Split

    • DRAM Memory: SoC Integration, Verification and Bring-up

    Previous

    157 / 289

    Next: Bandwidth and Ordering Budgets

    Up next

    Up nextBandwidth and Ordering Budgets

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Initialisation and Training Ownership