微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > OVM使用中层次化连接的问题,求教

OVM使用中层次化连接的问题,求教

时间:10-02 整理:3721RD 点击:
sequencer-1与sequencer-2要进行层次化连接,将sequencer-1的输出对象通过seq_item_export传递入sequencer-2中,并最终传递到sequence-2中,在sequence-2的pre_do函数中使用,实现层次化sequence

先在sequencer-2中,定义一个“port”
ovm_seq_item_pull_port #(sequence_item, sequence_item) vcat_req_port;

function new ( …);


…;

vcat_req_port = new("vcat_req_port",this);
endfunction : new
再在sequence-2 中,也定义一个“port”,用来指向sequencer-2中的“port”
ovm_seq_item_pull_port #( sequence_item, sequence_item) vcat_req_port;
sequence_item vcat_req;
sequence_item vcat_rsp;
…..
Virtual task pre_do(…)
…..
vcat_req_port.get(vcat_req);

在ENV中利用connect函数将sequencer-1的seq_item_export与在sequencer-2中定义的“port”连接起来
但是,利用questasim在vsim阶段总报如下的错误,含义应该是解析sequence-2中的“port”的时候,认为是一个空对象,如下:
** Fatal: (vsim-131) ../sv/sdh_tx_sequence.sv(92): Null instance encountered when dereferencing '/eos_tb_top/sdh_tx_sequence::pre_do/this*.vcat_req_port'

这是何解呢,请各位达人赐教

望各位大侠不吝赐教

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top