User guide

24-160
SystemVerilog Testbench Constructs
class packet extends pbase;
task foo();
$display();
endtask
local virtual task rules-test();
$display("Rules-permission example\n");
endtask
endclass
extends myaspect(packet);
// At this point within the myaspect scope,
// virtuals-permission and rules-permission are both off.
hide(virtuals); // Grants virtuals-permission
// virtuals-permission is on at this point within aspect,
// and therefore can define print1 method introduction.
virtual task print1();
$display("packet::print1\n”);
endtask
hide(); // virtuals-permission is forfieted
hide(rules); // Grants rules-permission
// Following advice permitted as rules-permission is on
before local virtual task rules-test();
$display("Advice to Rules-permission example\n");
endtask
hide(virtuals); // Grants virtuals-permission
// virtuals-permission is on at this point within aspect,
// and therefore can define print2 method introduction.
virtual task print2();
$display("packet::print2\n”);
endtask
endextends
Examples
Introducing new members into a class: