uvm - 如何使用 p_sequencer 按顺序访问 sequencer 中的方法?
问题描述
class fifo_write_sequence extends uvm_sequence#(fifo_seq_item);
`uvm_object_utils(fifo_write_sequence)
`uvm_declare_p_sequencer(fifo_write_sequence)
function new(string name="fifo_write_sequence");
super.new(name);
endfunction
virtual task body();
fifo_seq_item seq;
while(p_sequencer.fun()!=1)begin
seq=new();
start_item(seq);
assert(seq.randomize()with{seq.wr==1;});
finish_item(seq);
end
endtask
endclass
//Sequencer
class fifo_sequencer extends uvm_sequencer#(fifo_seq_item);
`uvm_component_utils(fifo_sequencer)
uvm_analysis_imp#(fifo_seq_item, fifo_sequencer) mon_imp;
fifo_seq_item trans;
bit full;
function void write(fifo_seq_item trans);
full=trans.wr_full;
endfunction
function new(string name, uvm_component parent);
super.new(name,parent);
endfunction
function void build_phase(uvm_phase phase);
super.build_phase(phase);
endfunction
function bit fun;
return full;
endfunction
endclass
我想从音序器访问函数,这取决于我将决定我的序列应该运行多少次,我为此使用了 p_sequencer,但是我收到了这个成员未找到的错误。请帮我解决这个错误。
解决方案
你需要
`uvm_declare_p_sequencer(fifo_sequencer)
// ^
// |
推荐阅读
- sql - 如何计算某个维度使用了多少次 TABLEAU/SQL
- ios - 您如何检查您的用户是否已授予您“选择照片...”访问权限?
- data-binding - Vaadin:如何绑定实体“元数据”
- google-sheets - 条件中有公式的 COUNTIF
- c# - 开发具有两个源和一个目标的 SSIS 自定义组件
- javascript - 如何在我的 html.erb 中调用 JS 函数并将 ruby 变量作为参数传递?
- ruby - 为什么在 ruby 命令提示符下无法识别 touch 命令
- r - 检查向量中的值是否包含在不同数据集中的值范围内
- r - R维恩图问题
- python - Python 底图:使用 rgb 文件中的颜色表,而不是预定义的 Matplotlib 颜色表