uvm使用完整路径连接分析端口

时间:2015-04-13 15:51:15

标签: uvm

我想将显示器分析端口连接到记分板的导出。 监视器和SB在不同的环境中(m_env和sb_env) 问题是我不想从常见的更高层次结构连接分析端口。 我想使用完整路径将其从SB env(sb_env)连接为: uvm_test.test_env.m_env.agent.monitor.ap.connect(uvm_test.test_env.sb_env.sb.imp) 要么 uvm_test.test_env.m_env.agent.monitor.ap.connect(sb.imp)

有可能吗?

1 个答案:

答案 0 :(得分:2)

我在合同上有义务告诉你这是一个非常糟糕的主意。在执行此操作时,您只能使记分板在该环境中,在该确切的层次结构下工作。您应该在test_env内正确地建立联系,就像那里的那样。

如果您仍然坚持这样做,可以使用一些原型代码来帮助您入门。您需要获取测试实例:

uvm_root root = uvm_root::get();
uvm_test test_top = root.top_levels.pop_front();

您需要将test_top强制转换为基础测试类(定义{{​​1}}实例的类:

test_env

现在,您可以从my_test_base test_top_cast; if (!$cast(test_top_cast, test_top) `uvm_fatal(...) 开始向下遍历您的层次结构。