It would be nice if OSVVM provided means to store & merge functional coverage rather than having to do all the tests serially in a single session. This seems like quite a large limitation that prevents a user from splitting up the verification into multiple tests and taking advantage of parallel activities/simulations.
Good news. OSVVM has WriteCovDb and ReadCovDb which allow the first part of what you request. These allow one test to write out its results and the next one to read them in and start from there.
It does not have a true merge that allows different tests to save separate results and then later combine them. Adding a true merge is a trivial addition and I have marked it to be added to the next revision. However, if you need it right away, be sure to contact me at jim at synthworks dot com.
One big difference between Intelligent Coverage in OSVVM and Constrained Random in SystemVerilog or ‘e’ is that as long as the coverage model is reasonably sized, we expect to hit all of the coverage points during a given test. With Intelligent Coverage, we know what test case we are trying to generate and if it takes a longer sequence of transactions to achieve this, we simply write the code.
In OSVVM, if the coverage model creates simulations that are larger than we want to run in one session (and we are not covering a test configuration), it is best to partition the coverage model into separate “run” size pieces and tackle them in separate simulation sessions.
As a result, in most scenarios I do not expect to need a merge. OTOH, it is easy to add so why not add it.
Graeme
It would be nice if OSVVM provided means to store & merge functional coverage rather than having to do all the tests serially in a single session. This seems like quite a large limitation that prevents a user from splitting up the verification into multiple tests and taking advantage of parallel activities/simulations.
Jim Lewis
Hi Graeme,
Good news. OSVVM has WriteCovDb and ReadCovDb which allow the first part of what you request. These allow one test to write out its results and the next one to read them in and start from there.
It does not have a true merge that allows different tests to save separate results and then later combine them. Adding a true merge is a trivial addition and I have marked it to be added to the next revision. However, if you need it right away, be sure to contact me at jim at synthworks dot com.
One big difference between Intelligent Coverage in OSVVM and Constrained Random in SystemVerilog or ‘e’ is that as long as the coverage model is reasonably sized, we expect to hit all of the coverage points during a given test. With Intelligent Coverage, we know what test case we are trying to generate and if it takes a longer sequence of transactions to achieve this, we simply write the code.
In OSVVM, if the coverage model creates simulations that are larger than we want to run in one session (and we are not covering a test configuration), it is best to partition the coverage model into separate “run” size pieces and tackle them in separate simulation sessions.
As a result, in most scenarios I do not expect to need a merge. OTOH, it is easy to add so why not add it.
Jim
Jim Lewis
Hi Graeme,
More good news. Release 2014.01 has merging as an option when reading with ReadCovDb.
Jim