Skip to the selected question
ASIC.FYI

ASIC Question Bank

1,000+ hardware interview questions
DescriptionQ039
Page ↗
Q039DVASIC interview problem

Reset race in a forked driver

TechniquesUVMConcurrency and deadlock debugging
DifficultyHard
TopicVerification Utilities
LanguageSystemVerilog
Format4 choices
01

Problem

When reset wins the fork below, the code skips item_done and loops. What failure should be expected on the next request attempt?

Starting declarationSystemVerilog
seq_item_port.get_next_item(req);
fork
  begin drive(req); completed = 1; end
  begin @(posedge reset); completed = 0; end
join_any
disable fork;
if (completed) seq_item_port.item_done();
02

Answer choices (4)