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

  • 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
  • Advanced UVM in Practice13
  • Debug & Regression10
  • Coding Practice47
    • How to Use This Course
    • Whiteboard Delivery Framework
    • Scoreboard Coding
    • Monitor & Driver Coding
      • Monitor Reconstruct Beat
      • Monitor Protocol FSM
      • Driver get_next_item Loop
      • Driver Response Handshake
      • Monitor & Driver Tricky Q&A
    • Sequences Coding
    • TLM & Analysis
    • RAL & Adapters
    • Factory & config_db
    • Phases & Objections
    • Env & Test Architecture
    • Debug Broken Testbench
    • Mock Interview Sets
    • Senior UVM Coding Cheat Sheet
  • Verification in Industry Practice10
  • Senior Prep: Architecture, Leadership and Interviews32
Loading lesson

←Monitor & Driver Coding
  1. Topics
  2. UVM Verification
  3. Coding Practice
  4. Monitor & Driver Coding
  5. Monitor & Driver Tricky Q&A
On this page

    UVM Coding PracticeSenior

    Monitor & Driver Tricky Q&A

    20 senior questions on monitor/driver whiteboards.

    Q&A bank

    20 monitor/driver interview questions.

    Passive vs active monitor?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Passive vs active monitor?
    
    A:
    Passive: observe only. Active: may drive via BFMs — rare in UVM monitor.
    
    FOLLOW-UP TRAP: Driver inside monitor for production TB.

    Clocking block in monitor?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Clocking block in monitor?
    
    A:
    Sample inputs in clocking block or @(posedge) — consistent sampling.
    
    FOLLOW-UP TRAP: Race between signals without clocking.

    Monitor reconstruct APB beat?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor reconstruct APB beat?
    
    A:
    FSM: IDLE→SETUP→ACCESS; pack addr/data/resp per beat.
    
    FOLLOW-UP TRAP: Missing wait for PREADY.

    Byte lanes on AXI-lite?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Byte lanes on AXI-lite?
    
    A:
    Use strb/keep to mask compare lanes; align to byte addresses.
    
    FOLLOW-UP TRAP: Full-word compare on narrow transfer.

    Driver forever loop structure?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Driver forever loop structure?
    
    A:
    forever begin seq_item_port.get_next_item(req); drive; item_done(); end
    
    FOLLOW-UP TRAP: No item_done — sequencer hang.

    req/rsp handshake?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: req/rsp handshake?
    
    A:
    Driver may use rsp_port.put(rsp) after drive; seq waits get_response.
    
    FOLLOW-UP TRAP: Blocking driver without rsp path.

    Monitor analysis port when?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor analysis port when?
    
    A:
    write(txn) after beat complete — not mid-state unless partial logging intended.
    
    FOLLOW-UP TRAP: Multiple writes per beat confusing scoreboard.

    Virtual interface in monitor?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Virtual interface in monitor?
    
    A:
    vif from config_db in build/connect; assign to modport.
    
    FOLLOW-UP TRAP: Null vif — config path wrong.

    Reset in monitor?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Reset in monitor?
    
    A:
    Reset FSM to IDLE; optionally flush txn. Align with DUT reset.
    
    FOLLOW-UP TRAP: Emit txn across reset boundary.

    Driver backpressure?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Driver backpressure?
    
    A:
    Wait ready before next beat; seq may stall on get_next_item.
    
    FOLLOW-UP TRAP: Drive when not ready — protocol violation.

    Monitor coverage hooks?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor coverage hooks?
    
    A:
    Cover states, cross addr×resp — in monitor or subscriber.
    
    FOLLOW-UP TRAP: Coverage in driver — couples drive/check.

    Split monitor driver agent?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Split monitor driver agent?
    
    A:
    Agent: monitor + driver + sequencer if active; connect TLM in connect_phase.
    
    FOLLOW-UP TRAP: Monitor in env without agent wrapper.

    AXI ID in monitor txn?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: AXI ID in monitor txn?
    
    A:
    Capture ID on addr and attach to resp beat for OOO scoreboard.
    
    FOLLOW-UP TRAP: Resp without ID tag.

    Monitor error injection?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor error injection?
    
    A:
    Usually sequences/drivers; monitor may flag protocol errors.
    
    FOLLOW-UP TRAP: Monitor modifying bus.

    Whiteboard monitor in 12 min?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Whiteboard monitor in 12 min?
    
    A:
    FSM diagram + run_phase loop + analysis_port write.
    
    FOLLOW-UP TRAP: Full protocol before one beat path.

    Driver parameterization?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Driver parameterization?
    
    A:
    cfg object via config_db for timing, widths.
    
    FOLLOW-UP TRAP: Hardcoded delays in driver.

    Monitor vs interface assertion?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor vs interface assertion?
    
    A:
    Monitor for txn stream; SVA for cycle rules — complementary.
    
    FOLLOW-UP TRAP: Replacing SVA with monitor checks only.

    Multiple monitors one agent?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Multiple monitors one agent?
    
    A:
    Separate analysis ports or merged txn — document policy.
    
    FOLLOW-UP TRAP: Duplicate txn streams.

    Sequencer-Driver connection?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Sequencer-Driver connection?
    
    A:
    driver.seq_item_port.connect(sequencer.seq_item_export);
    
    FOLLOW-UP TRAP: Wrong port type blocking vs analysis.

    Monitor reconstruct without spec?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Monitor reconstruct without spec?
    
    A:
    Ask clarifying protocol; start with valid/ready or PSEL/PENABLE.
    
    FOLLOW-UP TRAP: Guessing wrong protocol.
    Previous

    203 / 280

    Next: Sequences Coding

    Up next

    Up nextSequences Coding

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Monitor Reconstruct Beat
    • Monitor Protocol FSM
    • Driver get_next_item Loop