Hi,
I have two threads which should be cross-talk each other, but each thread has different working period.
When I put those two in single fork as below, as assumed new “seq_ready” thread can not be started before “incrx_seq” is finished.
repeat(10) begin
fork
seq_ready.start(env_h.slv_agnt.slv_seqr);
incrx_seq.start(env_h.mst_agnt.mseqr_h);
join
end
The log says below.
10: seq_ready Start <<<
10: incrx_seq Start <<<
10: seq_ready.ready.size: 7 <<< // OK
150: seq_ready Done <<<
150: seq_ready Start <<< // “seq_ready” invoked, but no proceeding
330: incrx_seq Done <<<
330: seq_ready.ready.size: 12 <<< // THIS SHOULD BE STARTED AT @150
What I want is “seq_ready” should be restarted as it finished regardless incrx_seq status.
How can I resolve this problem?