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
    • Sequences Coding
      • Basic Sequence Body
      • Layered Virtual Sequence
      • Grab, Lock & Ungrab
      • Sequence Library Arbitration
      • Sequences Tricky Q&A
    • 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

←Sequences Coding
  1. Topics
  2. UVM Verification
  3. Coding Practice
  4. Sequences Coding
  5. Layered Virtual Sequence
On this page

    UVM Coding PracticeSenior

    Layered Virtual Sequence

    Virtual sequence starting child sequences on sub-sequencers.

    Interview prompt

    Virtual seq runs cfg seq on reg sequencer and traffic seq on bus sequencer.

    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
    6
    7
    8
    class vseq extends uvm_sequence;
      virtual task body();
        cfg_seq c = cfg_seq::type_id::create("c");
        pkt_seq p = pkt_seq::type_id::create("p");
        c.start(p_sequencer.cfg_sqr);
        p.start(p_sequencer.bus_sqr);
      endtask
    endclass

    Key takeaways

    • Name which sequencer each child starts on.

    Previous

    205 / 280

    Next: Grab, Lock & Ungrab

    Up next

    Up nextGrab, Lock & Ungrab

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Sequence Library Arbitration
    • Sequences Tricky Q&A