问个VMM的问题?
时间:12-12
整理:3721RD
点击:
最近在用VMM写验证组件的时候碰到了些问题,求高手解答。
我自己定义了一个data class,大致如下:
class my_data extends vmm_data;
static vmm_log log = new("data item",);
rand bit i;
rand bit j;
function new();
super.new(this.log);
endfunction
endclass
然后利用vmm的宏构建了一个关于该数据类的channel和generator
`vmm_channel(my_data)
`vmm_scenario_gen(my_data)
后又自己写了一个xactor extends vmm_xactor,在xactor中定义了
一个my_data_channel型的channel: mychan,指向generator中的out_chan,程序run的时
候跑到mychan.get(vmm_xact)时报错:
"virtual vmm_data::copy() not implemented in derivative"
vmm_xact是vmm_data型,以前也写过类似的都没问题,就这次死活
不过,求解答. 万分感谢.
我自己定义了一个data class,大致如下:
class my_data extends vmm_data;
static vmm_log log = new("data item",);
rand bit i;
rand bit j;
function new();
super.new(this.log);
endfunction
endclass
然后利用vmm的宏构建了一个关于该数据类的channel和generator
`vmm_channel(my_data)
`vmm_scenario_gen(my_data)
后又自己写了一个xactor extends vmm_xactor,在xactor中定义了
一个my_data_channel型的channel: mychan,指向generator中的out_chan,程序run的时
候跑到mychan.get(vmm_xact)时报错:
"virtual vmm_data::copy() not implemented in derivative"
vmm_xact是vmm_data型,以前也写过类似的都没问题,就这次死活
不过,求解答. 万分感谢.
my_data的copy()没定义,这个函数在generator中会用到
翻了下书,重写了下copy(),确实没问题了。 想通了,以前没出过问题是因为没用到
generator中..
多谢!