How to check for errors in analysis/elaboration

From Verific Design Automation FAQ
Revision as of 13:07, 29 January 2020 by Hoa (Talk | contribs)

Jump to: navigation, search

Q:Verific clears the error count at various steps during analysis/elaboration. Is there a way to tell if these processes have errors?

Verific follows an "optimistic" approach. It clears the error count at various steps during analysis/elaboration so that the flow can continue as far as possible.

For example, during elaboration, if a module has errors, its netlist is still created, but is blackboxed in order for the elaboration to move on and to avoid null pointers. The ErrorCount is cleared before the elaboration continues on with another module.

It is possible to change to a "pessimistic" approach in which the flow stops at the first error. But it is not what most users want.

For global error count, there are two APIs:

   Message::GlobalErrorCount()
   Message::ClearGlobalErrorCount()

To check for error at any point of time, the user needs to call Message::GlobalErrorCount(), which will return the number of errors.

To clear the global error count, the user needs to call Message::ClearGlobalErrorCount() anywhere. This API also clears the normal error count returned by Message::ErrorCount().