オブジェクト・プロパティ
クラスは、メソッド(function:関数、task:タスク)を持つことができます。
これは、モジュールがfunction:関数、task:タスクを持つことができるのと同じです。
class SampleX;
bit [4:0] master_id;
integer time_n;
class_a a_inst;
function new();
time_n = 0;
master_id = 5'bx;
a_inst = new;
endfunction
task clean();
time_n = 0;
master_id = 5'bx;
endtask
endclass : SampleX
SampleXクラスは、new関数とcleanタスクをメンバーに持ちます。
new関数は、特別な関数でconstructorと呼びます。
functionやtaskは、モジュールと同じように引数を取ることもできます。
task task1(integer a);
time_n = a;
...
endtask
task1タスクは、interger型の引数aを持ちます。