cocotb
cocotb copied to clipboard
VCS fails to call `cbEndOfSimulation` callbacks if `vpi_control(vpiFinish)` is called
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
$finishbuilt-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.