uvm_transaction和uvm_sequence_item的区别?

image.png
  • 通过继承关系,我们可以看待uvm_sequence_item是扩展自uvm_transaction的。
  • 对于usr来说,想创建自己的transaction一般是从uvm_sequence_item扩展来的,为什么呢?因为
    1、The uvm_sequence_item provides a hook to the uvm_sequencer and the functions to build a sequence hierarchy.
    2、It also provides its own reporting interface so that we can filter messages based on the verbosity setting of the sequencer, etc.

第一个方面提供hook

  • 提供了sqr的hook,m_sequencer的最原始的定义之处。
  • m_parent_sequence用于指定seq的层级。

另一个方面提供reporting的interface

  • 当sequence指定对应的sequencer的时候,uvm_info就会用指定的这里定义的函数。

你可能感兴趣的:(uvm_transaction和uvm_sequence_item的区别?)