Check() and extract() methods are not running

Hi,

I have a subclass of ovm_scoreboard and I’m trying to override the check() or extract() methods to do something at the end of simulation (run phase). Just to test it out, I put a print statement in check() and search for it in my log file, but for some reason, it looks like the method is never executed.

My code is something like this:

class my_sb extends ovm_scoreboard;
`ovm_component_utils(my_sb)

function new();
this.enable_stop_interrupt = 1; // is this necessary?
endfunction : new

function check();
$display(“end of test”);
endfunction : check
endclass : my_sb

Am I missing something? Does ovm_scoreboard do some kind of weird override thing with check()?

In reply to michael1.zhu:

Do you have a sample log file to show (the last 50 lines), need to see if test ends cleanly. Maybe you have a global_stop_request in a sequence?

Regards
Srini
www.verifnews.org

In reply to michael1.zhu:

Try to add a return type:


function void check();
 $display("end of test");
 endfunction : check

Incisiv from Cadence gave me a compilation error without the “void”.

Cristian Slav
www.cfs-vision.com

In reply to Cristian_Slav:

In reply to michael1.zhu:
Try to add a return type:


function void check();
$display("end of test");
endfunction : check

Incisiv from Cadence gave me a compilation error without the “void”.
Cristian Slav
www.cfs-vision.com

Oops, sorry that was a typo from when I made the example. The actual code has “virtual function void extract/check”. Sorry about that!

I’m using someone else’s build tools so I will try to see if I can get just OVM log output soon…

In reply to michael1.zhu:

It looks like my OVM testbench isn’t properly configured and the tests aren’t being properly shutdown. I’m working to figure out how to do the proper configuration.

Sorry I couldn’t get log files right now. Thanks for your help, though!