由监视器或用户在 UVM 中完成的覆盖

Coverage done by monitor or subscriber in UVM

覆盖率检查是在监视器中完成的还是在 UVM 中的订户中完成的?我有两种不同的看法。在 Cluelogic link 中,它说覆盖率检查是在订阅者中完成的,但在 UVM accelera 用户指南中,它提到超额检查是在监视器内部完成的(第 49 页,第 3.6 节)。有人可以澄清一下吗。

http://cluelogic.com/2011/07/uvm-tutorial-for-candy-lovers-environment/

您可以在验证环境中的任何位置对覆盖率数据进行采样,包括 uvm_monitoruvm_subscriber

但是,通常在 uvm_subscriber 中对覆盖进行采样,原因是不同的设计可能需要不同类型的覆盖箱,因此很容易插入该组件并使您的核心代码独立于报道。

所以一般上层会提供一个uvm_monitor的分析端口,如果有人想实现his/her自己的覆盖,那么he/she直接连接[=14=即可] 的 uvm_subscriber 到监视器的分析端口,并在 write 方法中对覆盖率进行采样。