UVM Coding Practice · Senior

Env Architecture Tricky Q&A

20 env architecture interview questions.

Q&A bank

Env architecture interview bank.

What goes in env vs test?

diagram
[INT][SENIOR][UVM-CODE]

Q: What goes in env vs test?

A:
Env: agents, scoreboard, cfg. Test: sequences, objections, factory overrides.

FOLLOW-UP TRAP: Sequences hardcoded in env.

Virtual sequencer placement?

diagram
[INT][SENIOR][UVM-CODE]

Q: Virtual sequencer placement?

A:
In env — holds sub sequencer handles.

FOLLOW-UP TRAP: In test only without env ref.

Passive agent wiring?

diagram
[INT][SENIOR][UVM-CODE]

Q: Passive agent wiring?

A:
Monitor only — connect ap to scoreboard in env connect.

FOLLOW-UP TRAP: Driver in passive agent.

Coverage in env vs test?

diagram
[INT][SENIOR][UVM-CODE]

Q: Coverage in env vs test?

A:
Env: protocol coverage. Test: scenario coverage.

FOLLOW-UP TRAP: All in test only.

Multi-agent env sketch 20 min?

diagram
[INT][SENIOR][UVM-CODE]

Q: Multi-agent env sketch 20 min?

A:
boxes: 2 agents, sb, vseq, cfg — connect arrows.

FOLLOW-UP TRAP: Code every class.

Reusable VIP integration?

diagram
[INT][SENIOR][UVM-CODE]

Q: Reusable VIP integration?

A:
Wrap VIP agent; config_db for VIP cfg; don't modify VIP internals.

FOLLOW-UP TRAP: Fork VIP source.

Env config object?

diagram
[INT][SENIOR][UVM-CODE]

Q: Env config object?

A:
uvm_object cfg with active flags, widths — set from test.

FOLLOW-UP TRAP: ifdef everywhere.

Scoreboard in env?

diagram
[INT][SENIOR][UVM-CODE]

Q: Scoreboard in env?

A:
Yes — standard for check components.

FOLLOW-UP TRAP: Scoreboard in test.

Predictor placement?

diagram
[INT][SENIOR][UVM-CODE]

Q: Predictor placement?

A:
Env between stimulus analysis and scoreboard.

FOLLOW-UP TRAP: Inside driver.

TLM connect in env connect_phase?

diagram
[INT][SENIOR][UVM-CODE]

Q: TLM connect in env connect_phase?

A:
All monitorsb/cov connections here.

FOLLOW-UP TRAP: In test run_phase.

Env topology print?

diagram
[INT][SENIOR][UVM-CODE]

Q: Env topology print?

A:
uvm_top.print_topology() for debug.

FOLLOW-UP TRAP: Manual hierarchy only.

Sub-env for subsystem?

diagram
[INT][SENIOR][UVM-CODE]

Q: Sub-env for subsystem?

A:
Block env embedded in chip env — hierarchical envs.

FOLLOW-UP TRAP: Flat one env 50 agents.

Test library pattern?

diagram
[INT][SENIOR][UVM-CODE]

Q: Test library pattern?

A:
Multiple tests extend base_test; env shared.

FOLLOW-UP TRAP: Duplicate env per test file.

IRQ monitor agent?

diagram
[INT][SENIOR][UVM-CODE]

Q: IRQ monitor agent?

A:
Passive monitor agent — ap to sb or irq collector.

FOLLOW-UP TRAP: IRQ in APB driver.

Reg model in env?

diagram
[INT][SENIOR][UVM-CODE]

Q: Reg model in env?

A:
ral model built in env; adapter on bus agent.

FOLLOW-UP TRAP: RAL only in test.

Env vs top module?

diagram
[INT][SENIOR][UVM-CODE]

Q: Env vs top module?

A:
top: interfaces, run_test. env: UVM hierarchy.

FOLLOW-UP TRAP: DUT in env.

Parameterize env?

diagram
[INT][SENIOR][UVM-CODE]

Q: Parameterize env?

A:
cfg object not parameters on env class.

FOLLOW-UP TRAP: generate ifdefs.

3-agent APB mock?

diagram
[INT][SENIOR][UVM-CODE]

Q: 3-agent APB mock?

A:
master active, slave passive monitor, reg in env — 20 min sketch.

FOLLOW-UP TRAP: Full RTL detail.

Closure talk in interview?

diagram
[INT][SENIOR][UVM-CODE]

Q: Closure talk in interview?

A:
Coverage plan + regression + waivers — after env sketch.

FOLLOW-UP TRAP: Only components no closure.

Staff-level env difference?

diagram
[INT][SENIOR][UVM-CODE]

Q: Staff-level env difference?

A:
Explicit cfg, domains, reuse, debug hooks.

FOLLOW-UP TRAP: Same as junior env box.