Monday 24 December 2007

Raised Objection Report

Any raised objection will prohibit your simulation to stop. And In large environments, it may be painfull to find the one objection still raised using the SN commands 'show objections' or 'trace objections'.

You may just load follwoing e-code in your test and you'll be able to get a short report of all raised objections by typing 'sys.report_raised_objections(TEST_DONE)'


<'
extend sys
{
report_raised_objections(kind : objection_kind) is
{
// usage: sys.report_raised_objections(TEST_DONE)
var obj_units : list of any_unit = get_all_units(any_unit).all(.get_objection_counter(kind) > 0);
outf("-----------------------------------------------\n");
outf("Objection Report:\n");
outf("Counter Total Env e path\n");
outf("------- ----- ---- ------\n");
for each (u) in obj_units
{
outf("%-7d %-5s %-7s \n", u.get_objection_counter(kind), u is an any_env ? u.short_name() : "", u.e_path());
};
};
// just to print the command in the sn window
run() is also
{
outf("-----------------------------------------------\n");
outf("REPORT_RAISED_OBJECTIONS loaded\n");
outf("usage: sys.report_raised_objections(TEST_DONE)\n");
outf("------------------------------------------------\n");
};
};
'>

No comments: