I'm trying to co-simulate verilog and systemc using vpi. The basic step is
At verilog side, whenever posedge of clock occurs, call sc_start(delta) to let systemc time catch up verilog time; Execute clk.write(1) Call sc_start(0) to let the write really occur at systemc side (clk posedge ocurrs at evaluation phase of systemc side ) Then call another sc_start(0) to let the updated systemc output to be propagated to verilog side.
Actually, I merge step3 and step4 to the following
All works fine except the warning which fired at step 3:
Warning: (W571) no activity or clock movement for sc_start() invocation In file: ../../../../src/sysc/kernel/sc_simcontext.cpp:1606
Here my question is that,
At what condition, sc_pending_activity_at_current_time() will return true? Will executing clk.write(1) let it to return true? I suppose yes. What's the popurse for this warning? It seems this warning will not be fired at systemc-2.2.0, but only systemc-2.3.0
Thanks in advance,