sequence调用问题求教
时间:10-02
整理:3721RD
点击:
举个例子:
sequence seqA和SeB里都使用了一个m_reg_model_h。我要在新的sequence里调用A和B。
PS:直接用uvm_do(A)会报语法错误,因为找不到m_reg_model_h的路径。
目前实现是:
seqA A;
seqB B;
A=new("A");//省事起见,我没用create写。不知道用new可不可以。实际是A=seqA::type_id::create("A");
A.m_reg_model_h = m_reg_model_h;
A.start(m_sequencer);
B=new("B");//B同上。
B.m_reg_model_h = m_reg_model_h;
B.start(m_sequencer);
这样可以调用。但是问题是:
如果我想用uvm_do_with之类的宏,怎么实现指针m_reg_model_h的传递呢?
谢谢。
sequence seqA和SeB里都使用了一个m_reg_model_h。我要在新的sequence里调用A和B。
PS:直接用uvm_do(A)会报语法错误,因为找不到m_reg_model_h的路径。
目前实现是:
seqA A;
seqB B;
A=new("A");//省事起见,我没用create写。不知道用new可不可以。实际是A=seqA::type_id::create("A");
A.m_reg_model_h = m_reg_model_h;
A.start(m_sequencer);
B=new("B");//B同上。
B.m_reg_model_h = m_reg_model_h;
B.start(m_sequencer);
这样可以调用。但是问题是:
如果我想用uvm_do_with之类的宏,怎么实现指针m_reg_model_h的传递呢?
谢谢。
为什么不是m_sequencer保存m_reg_model_h指针呢?
还没搞懂m_sequencer用法。
请教下,如何实现?可否举个例子?
谢谢。
function env::connect_phase(uvm_phase phase);
...
m_sequencer.m_reg_model_h = top.m_reg_model;
...
endfunction
task seqA::body();
m_sequencer_h = this.get_sequencer();
m_reg_model_h = m_sequencer_h.m_reg_model_h;
...
endtask