Uvm_seq_item_pull_port and uvm_blocking_put_port

Hi,

Can anyone tell me the difference between uvm_blocking_put_port and uvm_seq_item_pull_port.

When to use each of these ports ?

Thanks

In reply to tejasakulu:

Unfortunately, the UVM was designed by committee and the communication between a sequencer and driver uses a separate set of communication channel classes instead of trying to get everything into one set of TLM classes.

uvm_seq_item_pull_port is used by the driver to get_next_item, try_next_item, or get() the next item from the sequencer. See Driver/Sequence API | Verification Academy

uvm_blocking_put_port is used to initiate a transfer or send a transaction from one component to another. See uvm_tlm_if_base #(T1,T2)