我是UVM的初学者。到目前为止,我能够为我的DUT创建以下环境。
具有来自我的DUT的所有输入输出接口的监视器,驱动程序和序列的代理。 顶级UVM环境 用于将有效数据发送到DUT的序列。我尚未实施记分牌。
我很难理解如何处理以下情况:
对于tb-dut接口,TB需要等待来自DUT的事件(或事务)。收到交易后,TB需要发送回复。实现这个的最佳方法是什么?如何从序列中监控DUT事务?我的代理商有监视器,它将监视来自DUT的任何新输出信号。那么,我是否需要以某种方式将代理监视器中的数据带到我的测试/序列类?我知道监视器有一个分析端口,它可以用来将收到的数据发送到记分板进行检查。那么,我是否需要使用相同的端口来读取DUT输出数据,创建有效响应并将其发送到DUT?
谢谢!
答案 0 :(得分:5)
这被称为从属序列或响应者。协议如下
验证学院UVM Cookbook更详细地解释了这一点。
答案 1 :(得分:0)
这可以使用uvm_object完成。