cocotb icon indicating copy to clipboard operation
cocotb copied to clipboard

VCS fails to call `cbEndOfSimulation` callbacks if `vpi_control(vpiFinish)` is called

Open ktbarrett opened this issue 9 months ago • 0 comments

From IEEE 1800-2017 38.36.3

cbEndOfSimulation End of simulation (simulation ended because no more events remain in the event queue or a $finish system task executed)

From IEEE 1800-2017 38.4

vpiFinish Causes the $finish built-in SystemVerilog system task to be executed upon return of the application routine.

So vpi_control(vpiFinish) is equivalent to calling $finish and if $finish is called, cbEndOfSimulation callbacks should be called. However VCS does not do this.

ktbarrett avatar Apr 08 '25 16:04 ktbarrett