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

  • Start Here4
  • UVM Foundations14
  • UVM Phases & Simulation Lifecycle26
  • Factory & Configuration15
  • Transaction-Level Modeling (TLM)13
  • UVM Sequences & Stimulus21
  • UVM Agents & Protocol VIP21
  • Environment & Test Classes11
  • Checking & Coverage in UVM21
  • UVM Register Abstraction Layer (RAL)22
    • RAL Overview
    • Register Access
    • Registers in Verification
      • Built-in Register Sequences and NO_* Attributes
      • Register Coverage
      • Memories in the Register Model
      • Multiple Maps and Address Spaces
      • Shadow, Alias and Paged Registers
      • Interrupts with the Register Model
      • The Register Model at SoC Scale
      • RAL Interview Set
  • Advanced UVM in Practice13
  • Debug & Regression10
  • Coding Practice47
  • Verification in Industry Practice10
  • Senior Prep: Architecture, Leadership and Interviews32
Loading lesson

‹UVM Register Abstraction Layer (RAL)
  1. Topics
  2. UVM Verification
  3. UVM Register Abstraction Layer (RAL)
  4. Registers in Verification

Part 9 · Register Model (RAL) · Intermediate

Registers in Verification

Built-in register sequences, register coverage, memories, multiple maps, shadow registers, interrupts and SoC-scale models, on the DMA's register layer.

  • 8topics
  • 8lessons
On this page

    The register layer is built: the DMA's registers have a model, an adapter, an explicit predictor and a backdoor, and a whole job runs by register name. That is where most courses stop, and where the interview questions start. Does the reset test really check every register? What does register coverage measure? How do you model a memory, a register on two buses, a double-buffered register, an interrupt status that the hardware sets behind the model's back? And what changes when the block model is one of forty inside a chip?

    What you will be able to do

    • Run the built-in register sequences, read their logs critically, and steer them with the NO_* attributes.

    • Turn on generated register coverage with the three switches it needs, and add the register coverage that actually tracks behaviour.

    • Model memories, registers reachable from two buses, shadow and alias registers, and interrupt status, and keep the mirror honest for each.

    • Compose block models into a chip model, relocate them, reuse block sequences unchanged, and keep a huge model fast.

    • Answer the senior RAL questions with mechanisms and evidence instead of definitions.

    Where each lesson sits in the register flow

    Flowchart: the DMA register model feeds built-in sequences, register coverage, special storage (memories, two maps, shadow registers), interrupts and SoC scale, which all feed the interview set.
    The register model sits at the centre. Each lesson asks one thing of it: test the registers, measure them, model unusual storage, serve an interrupt handler, or scale to a chip.

    Every lesson uses the course bench's register layer (dma_ral_tb.sv) and its real logs. Where the DMA has nothing to show (it has no memory and one bus), a small two-port SRAM slave was built and run as a scratch test, and its logs are labelled that way.

    Lessons in order

    #

    Lesson

    The question it answers

    1

    Built-in Register Sequences and NO_* Attributes

    What do the library's register tests really check, and how do you leave registers out?

    2

    Register Coverage

    Why is generated register coverage often 0%, and which register coverage matters?

    3

    Memories in the Register Model

    How does uvm_mem differ from a register, and why did a burst write turn into reads?

    4

    Multiple Maps and Address Spaces

    How does one register live on two buses without the mirror going stale?

    5

    Shadow, Alias and Paged Registers

    How do you model storage that one address does not map to one-to-one?

    6

    Interrupts with the Register Model

    How does an interrupt handler read and clear status through the model safely?

    7

    The Register Model at SoC Scale

    How do block models compose, relocate and stay fast in a chip?

    8

    RAL Interview Set

    What do senior interviewers ask about RAL, and what does a strong answer sound like?

    Note

    Volatile fields are never compared by mirror(UVM_CHECK) or by read checks, and reading a volatile field's mirror warns. Several lessons here turn on that one rule: it decides what the reset test checks, why an interrupt handler must use the value it read, and why update() keeps writing a status register.

    Related topics

    • Up: Register Model (RAL)

    • RAL Overview

    • Coverage & Closure

    PreviousNext: Built-in Register Sequences and NO_* Attributes

    Up next

    Up nextBuilt-in Register Sequences and NO_* Attributes

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • RAL Overview
    • Register Access