Reply To: OSVVM 2020.08 New user experience

Why OSVVM™? Forums OSVVM OSVVM 2020.08 New user experience Reply To: OSVVM 2020.08 New user experience

Jim Lewis

Hi Chengshan,

>1. Could the test bench be stopped gracefully by stopping all clocks?
Do you have a method to gracefully stop clocks? Everything I have seen
has overhead incurred at least once per clock cycle (or some multiple of
the clock cycle).

OTOH, I really like std.env.stop. It only incurs overhead when
it is actually stopping the testbench. Going further, it allows you to
return a value to the calling script by doing:

std.env.stop(GetAlertCount) ;

The one you are looking at is there because, in general,
verification models should not hang. Hence, wait statements
must have provisions for time out clauses in them.

OTOH, Axi Ready is a special case, often it does not need a
timeout. This is certainly true in the responder for
WriteAddress, WriteData, and ReadAddress, however, in the
master/initiator WriteResponse and ReadData both require
the timeout.

Hence, for AXI the overhead on DoAxiReadyHandshake could be avoided
by having two separate versions, however, I would need significant
convincing that clock stopping would remain a viable methodology
in large scale testbenches – consider that there can be a multitude
of clocks to stop.