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 Protocol FSM
On this page

    UVM Coding PracticeSenior

    Monitor Protocol FSM

    FSM states for monitor reconstruction.

    Interview prompt

    Draw monitor FSM for valid/ready handshake and where you emit txn.

    Diagram
    WHITEBOARD CHAIN
    
    1. DECLARE    interfaces / types / ports you need
    2. SKELETON   class extends + utils macro + key methods
    3. MECHANISM  fill one critical method while narrating
    4. PITFALL    name one bug juniors make on this pattern
    5. TEST       how you would smoke-test the component

    Reference sketch (≤40 lines)

    design.sv
    1
    2
    3
    4
    5
    typedef enum { IDLE, WAIT_V, EMIT } mon_state_e;
    mon_state_e state = IDLE;
    // IDLE: wait valid
    // WAIT_V: valid high, wait ready
    // EMIT: valid && ready -> ap.write(txn); -> IDLE
    • IDLE → valid → WAIT_V → ready → EMIT txn

    • Reset forces IDLE; flush partial txn

    • Illegal combo → UVM_WARNING not silent drop

    Mechanism to narrate

    • FSM on paper before run_phase code

    • Emit exactly one txn per completed handshake

    • Reset must clear state and optional partial txn buffer

    Smoke test (5 minutes)

    • Draw FSM in 3 minutes without code.

    • Narrate where ap.write() is called.

    Key takeaways

    • FSM on paper first — code second.

    Previous

    196 / 280

    Next: Regression Triage by Signature

    Up next

    Up nextRegression Triage by Signature

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Monitor Reconstruct Beat
    • Driver get_next_item Loop
    • Driver Response Handshake