|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
小弟目前正在学习OVM,问一个比较弱的问题:
假设我要生成一个子类
class gfp_transfer extends ovm_sequence_item;
rand bit [15:0] playload_length;
rand bit [15:0] core_hec; //core head cHEC
rand bit [2:0] playload_type; //core head PTI
rand bit payload_fcs; //core head PFI
rand bit [3:0] extension_header; //core head EXI
rand bit [7:0] unsigned user_payload_identifier; //playload head UPI
endclass
并将gfp_transfer 作为参数传递个另一个sequence子类,如
class gfp_tx_idle_sequence extends ovm_sequence #(gfp_transfer);
function new(string name="gfp_tx_idle_sequence");
super.new(name);
endfunction
`ovm_sequence_utils(gfp_tx_idle_sequence, gfp_tx_sequencer)
.......
endclass
由于gfp_transfer 定义的是一个协议帧帧结构,但是这个帧结构是可变的,例如我在生成gfp_tx_idle这个子类的时候,只需要
gfp_transfer 其中几个域,那么这个时候应该怎么做呢? |
|