2016-09-07 82 views

回答

6

UVM不过是一个通过SystemVerilog开发的包装库。因此,uvm_event和SystemVerilog事件是相同的,但uvm_event有一些额外的功能。

UVM Class reference

的uvm_event类是包装类各地的SystemVerilog 事件构造。它提供了一些额外的服务,如设置 回调和维护服务员的数量。

当触发事件时,传统Systemverilog事件不具备功能传递数据uvm_event增加了此功能。所以,当某个事件被触发时,您可以传递事务类句柄。

就像传统的SV事件,uvm_event也有触发和持续触发模式(而SV具有wait(ev.triggered)@(ev)同行)。

您还可以每当触发事件时添加回调。这是通过注册具有特定事件的回调类来完成的。

就事件而言,它们在开销方面似乎很昂贵。您可以在uvm_event上获得很多示例,如this one

3

没有优势利用uvm_event在什么是基本的SystemVerilog event结构除非你需要通过uvm_event的附加功能所提供的额外功能包括添加uvm_object要与触发器关联,和预订信息等跟踪服务员的数量和上次触发uvm_event的时间。

我对这些附加功能还没有看到太多用处,对于大多数测试平台来说,一般情况下事件通常太低。