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
    • Sequence Items and the Driver Handshake
    • Sequence Mechanics: Lifecycle, Sequencer, Responses and Control
    • Virtual Sequences and Coordination
  • 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
  • Verification in Industry Practice10
  • Senior Prep: Architecture, Leadership and Interviews32
Loading lesson

‹UVM Verification
  1. Topics
  2. UVM Verification
  3. UVM Sequences & Stimulus

Part 5 · Sequences · Intermediate

UVM Sequences & Stimulus

Sequence items and the driver handshake, the machinery behind start() and the sequencer, and virtual sequences that coordinate several agents.

  • 3topics
  • 21lessons
On this page

    In the DMA bench, no test touches a pin. The tests start sequences, which create transaction objects, and the drivers turn each one into signal activity at the right clock edges. A register write is an apb_rw_seq; a packet is an axis_pkt_seq; a whole job with polling and an interrupt handler is a virtual sequence, dma_vseq, that runs both kinds side by side. This part of the course explains every layer of that, from the single item to the multi-agent scenario.

    What you will be able to do

    • Design sequence items and constraints that keep stimulus legal and let each test aim at its corner, without editing the agent.

    • Draw the start_item / finish_item / get_next_item / item_done handshake and write drivers, in order or pipelined, that honour it.

    • Explain what start() does, how the sequencer arbitrates, how responses come back, and how to stop stimulus cleanly around a reset.

    • Coordinate several agents from one virtual sequence, with or without a virtual sequencer, and take exclusive control of a sequencer when an interrupt arrives.

    Learning path through the three sequences topics: items and the handshake, then sequence mechanics, then virtual sequences.
    Recommended order: items and the handshake first, then the mechanics, then virtual sequences. The dashed path is the short route if you only need multi-agent scenarios.

    The topics

    Topic

    Lessons

    What it covers

    Sequence items and the driver handshake

    6

    What belongs in an item, constraints and local::, derived items, who may change an item, the four-call handshake with its sequence diagram, and hang triage.

    Sequence mechanics

    6

    What start() does step by step, arbitration modes and priority, responses and pipelined drivers, stopping sequences around reset, sequences and objections, and the uvm_do macros.

    Virtual sequences

    9

    Coordinating the register, stream and interrupt agents from one scenario: virtual sequencers and the alternative of handles set by the test, p_sequencer, lock versus grab for interrupt handlers, protocol layering, and reactive sequences.

    Two related lessons live in the Factory & Configuration part and are not repeated here: Configuring sequences (knobs, per-path settings and default sequences) and Overriding items and sequences (type and instance overrides aimed at stimulus).

    Tip

    Keep pin timing out of sequences. An item says what to send; the driver alone decides how it appears on the interface. A sequence that contains # and a number is usually standing in for a condition it should wait for instead.

    Interview

    Typical questions from this part: draw the driver handshake and say what each call blocks on; explain why a priority-500 sequence still waits in the default arbitration mode; return read data from a pipelined driver; stop a sequence during reset without a fatal; and say how an interrupt handler takes the bus from a polling sequence.

    Related topics

    • Up: UVM course hub

    • Previous: TLM & Analysis

    • Next: Agents & Protocol IP

    PreviousNext: Sequence Items and the Driver Handshake

    Up next

    Up nextSequence Items and the Driver Handshake

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Start Here
    • UVM Foundations
    • UVM Phases & Simulation Lifecycle