请教UVM的问题
时间:10-02
整理:3721RD
点击:
我定义了个reference model(extends uvm_component),在main_phase中无法使用wait @来等待事件或是某些信号,即使用“#1”也无法继续执行,请问是什么回事?多谢!
task my_refm::main_phase(uvm_phase phase);
super.main_phase(phase);
$display("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@%t",$time);
@(posedge top.axi_clk);
$display("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@%t",$time);
@(posedge top.pix_clk);
$display("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn@%t",$time);
#1ns;
$display("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@%t",$time);
以上代码,只能执行aaaaaa这句,后面的mmm、nnn和bbb什么都不执行,就卡在@那句上,是不能这么用吗?
task my_refm::main_phase(uvm_phase phase);
super.main_phase(phase);
$display("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@%t",$time);
@(posedge top.axi_clk);
$display("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@%t",$time);
@(posedge top.pix_clk);
$display("nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn@%t",$time);
#1ns;
$display("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@%t",$time);
以上代码,只能执行aaaaaa这句,后面的mmm、nnn和bbb什么都不执行,就卡在@那句上,是不能这么用吗?
找到原因了,我只负责写reference model,没注意到平台里的其他组件都是用run_phase,所以我这个main_phase只在0时刻进来,后来就drop掉了。
XUEXILE...