Hardware interview practice
Objections with forked sequences
Why can this test end before seq completes, and what is the most direct repair?
Starting point
Question code
task test::run_phase(uvm_phase phase);
phase.raise_objection(this);
fork
seq.start(env.agt.seqr);
join_none
phase.drop_objection(this);
endtaskChoose one
Answer choices
- A. join_none waits for seq, but start does not; replace start with body
- B. Sequences cannot run from a test component; move seq into the driver
- C. The objection is dropped immediately after spawning; use join (or otherwise wait for completion) before dropping it
- D. The phase ignores objections raised by uvm_test
