微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 模块层次访问问题?急!

模块层次访问问题?急!

时间:10-02 整理:3721RD 点击:
问题是这样的:1、有这样几个模块a,b,c,他们之间的关系如下所示:
2、a模块中例化b模块,b b_inst[`B_INST_NUM-1:0]();
3、b模块中例化c模块,c c_inst[`C_INST_NUM-1:0] ();
4、c模块中有task print();
5、a模块在tb中,a在tb中的例化方式为:a a_inst [`A_INST_NUM-1:0]();
6、我想做一个testpattern,此testpattern需要调用c模块中的print()方法;希望达到的目标是这样的:
有如下变量:a_inst_num,b_inst_num,c_inst_num.
实现a_inst[a_inst_num].b_inst[b_inst_num].c[c_inst_num].print();
但实际情况是无法支持这种调用方式的,请问有没有什么更好的方式?
a,b,c,tb模块均用systemverilog实现!

语言没C++那么高级,请用cast。

不太明白您的意思,用cast怎么实现,请详示!

例子:
A a;
class C_A ;
A ai;
endcalss

$cast(a,C_A_inst.ai)

a.print...

这个$cast貌似转换的class的instant,但是我这里是模块就比较难搞了,这种办法对我帮助不大!不过还是挺谢谢的。

上一篇:VCS的问题
下一篇:DDR3和PCIe 的PHY的验证

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

网站地图

Top