Jump to content


Recommended Posts

For some of the non-standard functionality of my DUT, particularly error

testing and watchdog timeouts, i'd like to be able to simply declare the

test as PASSING, and end it. I know this isn't the 'proper' way to do

things, but writing the code and components that will allow my tb to

handle some of these behaviors gracefully will take a lot more time than

the schedule allows.

My plan is to use a fairly directed sequence for each of these

behaviors. The sequence would do any special setup it needs in order to

cause the behavior, then watch for it. When it sees it, however, it'll

need to find all the raised objections in the system, and drop them

before exiting. It'll also have to set some special flags to keep some

post-sim checks from failing the test.

Sound like i'm on the right track? It seems like it should be very

doable, but i haven't looked at what it takes to hunt down and drop all

other objections.

Is there another way to do this? Perhaps a global method like

uvm_declare_victory_and_exit_the_field() ?

Link to comment
Share on other sites

Use the uvm_report_catcher to catch/see the non-standard functionality and prevent it from generating an error and thus fail the simulation. This should allow the simulation to run and terminate normally.

Alternatively, you can jump to the report_phase() or simply call $finish().

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...