uvm_sequence_Item is extending from uvm_transaction. The main reason behind this is Sequence_item contains Extra Factory Hooks which will be useful while Implementation.
For Ex :- while Maintaining the Proper Sequencer and Driver Communication, the Driver will keep a request with some Request ID to sequencer, and Here Sequencer is responsible for Generating Sequence Items with some specific Sequence_ID and send it Driver Component and Collect the Response from the Driver Component and will try to match with the Previously Sent Sequence_Id’s. IF match happens then then sequencer will understand that Sequence_Item is successfully received by the Driver component.that is only possible when we are extending it to sequence_Item other wise the sequence_ID is not supported By uvm_transaction. So the Proper sequencer and Driver communication Won’t Happen if it is not extending from sequence_item.
1 Like