How to exit UVM TB based on Design Display statement

Hi,

In my UVM Environment, am getting a display message from the Design.
For example like below message:

$display("Simulation Error: at 1000ns : [GenReqChk] Len1 of Wrapping Burst shall meet : Data/8 <=Len1 <maxWrap ");

I want to exit my UVM TB based on above message.

Let me know if you have any clue for this.

Thanks,
Vijay

In reply to vijay0210:

While using 4display you cannot stop the simulation. But using the UVM reporting macros you can define an action, i.e. $stop.
The recommendation is never use $display in your UVM environment!

Hi Sue,

We are not using $display in our UVM environment, The $display is part of DUT which we verify.
While simulation is in progress, the DUT’s $display statement gets executed.
I cant change the DUT’s $display statement.
My requirement is that i want to make decision in my UVM Env based on this message.

Thanks,
Vijay

In reply to vijay0210:

I’d observe the variables in your design from the testbench and stop the simulation accordingly.

Hi sue,

Its not stored in any variable to make a decision.
Its a display statement like below one
$display(“Simulation Error: at 1000ns : [GenReqChk] Len1 of Wrapping Burst shall meet : Data/8 <=Len1”);

Thanks,
Vijay

In reply to vijay0210:

The $display is shown in your log-file only. You can write a parser for this statement and stop the simulation from your log-file.

But the check which is behind your $display is evaluating variables or signals iny our DUT. I meant you can connect to exactly these items.

In reply to vijay0210:

You can check for which condition design is executing that display statement( like in your case it’s when Data/8 <=Len1 fails), you can put the same condition in the tb , if that condition fulfills then you can use $stop.

Hi Sue & Shipra,

Now i understand what you say.
Let me try this looks meaningful.

Thanks,
Ashok V

In reply to Shipra_s:

Why is there a $display in design code? That’s certainly not synthesizable. Can you get them to change the $display into a macro that you can redefine to call uvm_pkg::uvm_report_error for your purposes?

In reply to dave_59:

I guess the DUT is in test-mode, thus there is a display in it.
Usually in our DUTs there are test-mode, which switch off several block and adds lots of $display to improve visibility.