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
    • TLM & Analysis
    • RAL & Adapters
    • Factory & config_db
      • Factory set_type_override
      • config_db Hierarchical Paths
      • Resource Pool vs config_db
      • Factory & config_db Tricky Q&A
    • 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

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

    UVM Coding PracticeSenior

    Factory & config_db Tricky Q&A

    20 factory/config interview questions.

    Q&A bank

    Factory/config interview bank.

    set_type_override order?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: set_type_override order?
    
    A:
    Before create() of target type — usually in test build.
    
    FOLLOW-UP TRAP: Override after env built.

    set_inst_override vs type?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: set_inst_override vs type?
    
    A:
    inst: specific path; type: all instances of base.
    
    FOLLOW-UP TRAP: Wrong override granularity.

    config_db set path null?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: config_db set path null?
    
    A:
    set(null, path, field) broadcasts to subtree.
    
    FOLLOW-UP TRAP: Wrong path string missing agent.

    get in build vs connect?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: get in build vs connect?
    
    A:
    build: structure; connect: TLM after children exist.
    
    FOLLOW-UP TRAP: get vif in connect when set in child build.

    Resource pool vs config_db?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Resource pool vs config_db?
    
    A:
    resource global; config_db hierarchical scoped.
    
    FOLLOW-UP TRAP: Same key collision.

    Wildcard set?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Wildcard set?
    
    A:
    uvm_config_db::set(this, "*", "vif", vif) — use sparingly.
    
    FOLLOW-UP TRAP: Wildcard hides wrong path bugs.

    Null vif symptom?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Null vif symptom?
    
    A:
    Driver idle forever — no wiggles.
    
    FOLLOW-UP TRAP: Debug driver before config.

    Factory print?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Factory print?
    
    A:
    factory debug — see overrides applied.
    
    FOLLOW-UP TRAP: Guess override not applied.

    create by name vs type_id?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: create by name vs type_id?
    
    A:
    type_id::create preferred — factory aware.
    
    FOLLOW-UP TRAP: new() bypasses override.

    Override seq item type?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Override seq item type?
    
    A:
    set_type_override for pkt base → derived pkt.
    
    FOLLOW-UP TRAP: Override sequencer instead.

    config_db audit?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: config_db audit?
    
    A:
    uvm_config_db::dump(); at end of build.
    
    FOLLOW-UP TRAP: Never dump — mystery get fails.

    set_inst path example?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: set_inst path example?
    
    A:
    uvm_test_top.env.agent0.driver
    
    FOLLOW-UP TRAP: Typo in instance string.

    Resource precedence?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Resource precedence?
    
    A:
    Higher precedence wins — set_precedence.
    
    FOLLOW-UP TRAP: Lower wins assumption.

    Broken top.sv classic bug?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Broken top.sv classic bug?
    
    A:
    set vif to wrong path — agent looks uvm_test_top.env.agent.
    
    FOLLOW-UP TRAP: Set in agent not top.

    Per-test cfg object?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Per-test cfg object?
    
    A:
    cfg in config_db as object — agent casts in build.
    
    FOLLOW-UP TRAP: Global params package only.

    Factory override seq?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Factory override seq?
    
    A:
    Rare — override item or use factory for tests.
    
    FOLLOW-UP TRAP: Override driver only forgetting seq item.

    Multiple gets same field?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Multiple gets same field?
    
    A:
    Last set wins in scope — know precedence.
    
    FOLLOW-UP TRAP: Assuming first set permanent.

    Virtual interface typing?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Virtual interface typing?
    
    A:
    apb_vif in package; config_db holds virtual apb_vif.
    
    FOLLOW-UP TRAP: Concrete modport mismatch.

    Whiteboard config_db 10 min?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: Whiteboard config_db 10 min?
    
    A:
    top set null + agent get path diagram.
    
    FOLLOW-UP TRAP: Write full env code.

    ENV vs TEST config?

    Diagram
    [INT][SENIOR][UVM-CODE]
    
    Q: ENV vs TEST config?
    
    A:
    Test sets policy; env sets defaults — document split.
    
    FOLLOW-UP TRAP: Agent reads plusarg directly.
    Previous

    220 / 280

    Next: Phases & Objections

    Up next

    Up nextPhases & Objections

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Factory set_type_override
    • config_db Hierarchical Paths