在UVM 中,如何把monitor中检测到DUT的输出值传给Scoreboard
时间:10-02
整理:3721RD
点击:
遇到这个问题,不知怎么解决,求问。是把monitor的值打包成transaction吗?如果是这样,那这个transaction由哪个sequence 产生
port fifo都可以的。
sequence概念适合driver相关联的,在monitor中需要自己创建port,port类型可以自己根据需要选择
在张强写的UVM实战代码中有以下示例:
1:scoreboard中定义
uvm_blocking_get_port #(my_transaction) exp_port;
my_transaction get_expect;
在main_phase中使用exp_port.get.(get_expect)得到transaction
2:
monitor中定义
uvm_analysis_port # (my_transaction) ap;
my_transaction tr;
收集到transaction后使用ap.write(tr)往port里写入transaction
上面代码应该可以解释你的问题,transaction不是由sequence产生而是由monitor打包后写入port中。
正解,然后在env中用fifo连接起来