Hardware interview practice
Nonblocking sequencer polling
What bug can occur in this driver when no sequence item is available?
Starting point
Question code
forever begin
seq_item_port.try_next_item(req);
if (req != null) begin
drive(req);
seq_item_port.item_done();
end
endChoose one
Answer choices
- A. The null path contains no blocking operation, creating a zero-time busy loop that can starve time advancement
- B. try_next_item raises a permanent objection when it returns null
- C. item_done must be called even when req is null
- D. A forever loop is illegal in run_phase
