オブジェクト・プロパティ

クラスは、メソッド(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を持ちます。