DescriptionQ039
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
