类是一种可以包含数据和方法(function,task)的类型。
例如一个数据包,可能被定义为一个类,类中可以包含指令、地址、队列ID、时间戳和数据等成员class Packet ;//class定义类 类名 packet
class Packet ;//class定义类 类名 packet
//类 packet的成员
//数据或类属性
bit [3:0] command; bit [40:0] address; bit [4:0] master_id;
integer time_requested ;
integer time_ issued;
integer status;
typedef enum { ERR_OVERFLOW= 10,ERR_UNDERFLOW = 1123} PCKT_TYPE;
const integer buffer_size = 100;
const integer header_size;
//类 packet的成员方法new ();clean() ;issue_request; current_status
//初始化
function new ();
command = 4' d0; address = 41'b0; master_id = 5'bx; header_size = 10;
endfunction
//方法
//公共通道入口
task clean() ;
command = 0; address = 0; master_id = 5'bx ;
endtask
task issue_request( int delay ) ;
//向总线发送请求
endtask