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

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Protocol Metrics Reference
  • Protocols Glossary
  • Reading Path
  • Protocol Fundamentals61
  • AMBA Family (APB / AHB / AXI)61
  • Coherence Fabrics (ACE / CHI)61
  • Memory Interfaces (DDR / LPDDR / HBM)61
    • DDR Controller / PHY Split
      • DDR Controller / PHY Split: Mechanism
      • DDR Controller / PHY Split: Inputs & Outputs
      • DDR Controller / PHY Split: Reports & Metrics
      • DDR Controller / PHY Split: Debug Playbook
      • DDR Controller / PHY Split: Worked Example
      • DDR Controller / PHY Split: Pitfalls & Red Flags
      • DDR Controller / PHY Split: Interview Drills
      • DDR Controller / PHY Split: Review Checklist
      • DDR Controller / PHY Split: Theory Deep Dive
      • DDR Controller / PHY Split: Design Space
      • DDR Controller / PHY Split: Expanded Case Study
      • DDR Controller / PHY Split: Step-by-Step Walkthrough
      • DDR Controller / PHY Split: Comparison Matrix
      • DDR Controller / PHY Split: Software / Programmer View
      • DDR Controller / PHY Split: Silicon PPA Impact
    • Training & Timing Modes
    • Refresh & Bandwidth Efficiency
    • Memory Interface Debug
    • Memory Interfaces (DDR / LPDDR / HBM): Tricky Q&A
  • PCIe & CXL61
  • Embedded Peripherals (I2C / SPI / UART)61
  • High-Speed I/O (USB / Ethernet / MIPI)61
  • Protocol Verification & Compliance61
  • Protocols Interview Prep5
  • Interface Protocols Cheatsheet
Loading lesson

‹DDR Controller / PHY Split
  1. Topics
  2. Bus Protocols
  3. Memory Interfaces (DDR / LPDDR / HBM)
  4. DDR Controller / PHY Split
  5. DDR Controller / PHY Split: Step-by-Step Walkthrough

Interface Protocols · All levels

DDR Controller / PHY Split: Step-by-Step Walkthrough

Step-by-Step Walkthrough for DDR Controller / PHY Split.

On this page

    Step-by-step analysis walkthrough

    Follow this when you own DDR Controller / PHY Split in a protocol review or bring-up war room.

    1. State expected transaction in plain language (who initiates, what completes).

    2. Draw layer stack and mark clock/reset boundaries.

    3. List channels: request, data, response, snoop, credit, or lane.

    4. Tag ID/address/endpoint on the failing run.

    5. Find first cycle where progress stops or semantics change.

    6. Check bridge: width, ID remap, burst, ordering attributes.

    7. Check flow control: ready, credit, FIFO, link state.

    8. Check firmware/register mode vs hardware capability.

    9. Build minimal replay; confirm legal vs illegal per spec.

    10. Estimate metric delta from proposed fix.

    11. Run compliance + product traffic regression matrix.

    12. Write signoff memo with owners and artifacts attached.

    Artifacts to collect

    • controller command trace, PHY training log, timing mode table

    • VIP transaction log

    • Waveform with annotations

    • Spec clause reference

    • Regression manifest

    Decision memo template

    Diagram
    PROTOCOL DECISION MEMO — DDR Controller / PHY Split
    metric:
    transaction id:
    layer:
    hypothesis:
    experiment:
    fix:
    validation:
    owners: memory controller owner, PHY owner, SoC integration owner

    Reference visuals

    Controller / PHY responsibility split

    Diagram
    MEMORY STACK
    
      [ requestors ] --AXI/CHI--> [ MEMORY CONTROLLER ]
                                    |  schedule, reorder, refresh
                                    v
                                  [ PHY ]
                                    |  DQS/DQ timing, training, calibration
                                    v
                                  [ DRAM ]  banks / rows / columns
    
    Controller thinks in transactions; PHY thinks in picoseconds.

    Protocol deep dive

    DDR bandwidth is scheduler + PHY: rows, banks, refresh, and turnarounds eat headline data rate.

    Concept diagram

    Diagram
    MEMORY PATH
    
    masters -> controller scheduler -> PHY -> DRAM banks
                  |                      |
             refresh/QoS            training/margin
    
    Scheduler sees transactions; PHY sees picoseconds.

    Metric graph

    Diagram
    BANDWIDTH LOSS WATERFALL
    
    peak              ████████████████████████
    refresh           █████████████████████
    turnaround        ██████████████████
    row miss          ██████████████
    effective         ██████████████
    
    Quote the bottom bar in reviews.

    Metrics and artifacts to collect

    • effective BW

    • row hit rate

    • refresh stall %

    • training margin

    • ECC error log

    Mini case study

    Video workload lost half effective bandwidth after firmware enabled aggressive low-power refresh. Scheduler and firmware QoS had to be co-designed.

    Debug branches

    • If ECC errors, check training margin and address interleave first.

    • If BW low with high row hit, suspect port arbitration not DRAM.

    • If boot fail, stop at training step in transcript.

    Senior review question

    Ask: what is the first transaction that deviates, and which spec rule does it test?

    Key takeaways

    • Connect every protocol claim to a transaction identity and measurable metric.

    • Store the artifact (waveform, log, counter) next to every signoff decision.

    Common pitfalls

    • Debugging timeouts without finding the first bad transaction.

    • Quoting peak bus width without payload efficiency and retry overhead.

    • Treating VIP compliance as a substitute for system integration replay.

    Principal review addendum

    Re-read DDR Controller / PHY Split against one concrete product workload, not a synthetic directed test.

    the controller schedules memory commands while the PHY handles electrical timing, calibration, and lane alignment.

    This content block can't be displayed here.

    Block type: unknown

    This content block can't be displayed here.

    Block type: unknown

    This content block can't be displayed here.

    Block type: unknown

    PreviousNext: DDR Controller / PHY Split: Comparison Matrix

    Up next

    Up nextDDR Controller / PHY Split: Comparison Matrix

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • DDR Controller / PHY Split: Mechanism
    • DDR Controller / PHY Split: Inputs & Outputs
    • DDR Controller / PHY Split: Reports & Metrics