当我们总是从uvm_sequence_item扩展时为什么要使用uvm_transaction类?

use*_*273 3 system-verilog uvm

我正在学习UVM教程的基础知识.我读到的任何地方总是从事务对象扩展uvm_sequence_item而不是uvm_transaction因为uvm_sequence_item有事务ID等其他功能.如果是这样的话,为什么uvm_transaction类甚至在UVM类层次结构中呢?

uvm_transaction除了uvm_sequence_item延伸之外,谁在使用?

是因为遗产吗?

And*_*esM 5

这就是UVM Class Reference对此的说法:

"uvm_transaction类是UVM事务的根基类.继承uvm_object的所有方法,uvm_transaction添加了一个计时和记录接口.

此类提供时间戳属性,通知事件和事务记录支持.

不建议使用此类作为用户定义事务的基础.其子类型uvm_sequence_item应用作所有用户定义的事务类型的基类."