sequence怎么看到dut的bsy信号 ?
时间:10-02
整理:3721RD
点击:
有个问题 :激励在sequence中产生,产生随机激励有2种情况,这2种情况是根据dut端口的一个bsy信号来产生不同 的约束随机。可是这个bsy信号不知道怎么被sequence看到。sequence是object,不是一个节点,不能用路径引用来看,用confg_db也好像不行。不知道还有没有其他方法,把这个值送给sequence呢?
1. Driver中使用seq_item_port.get()……set_id_info()……put();
2. sequence中使用start_item()……finish_item()……get_response()
把接口传给sequence
还可以在uvm_test里,获取virtual interface上的值,再通过sequence的方法函数传递给sequence成员变量。
uvm_test里:
m_seq.set_bsy(vif.bsy);
uvm_sequence里:
bit m_bsy;
function void set_bsy(bit bsy);
m_bsy = bsy;
endfunction
或者sequence里:
bit m_bsy;
uvm_hdl_read("tb.dut.a.b.bsy", m_bsy);
sequence 能看到p_sqr 里面的vif,直接用p_sqr的vif就可以。
