Learn More

  1. TLM 1.0 is responsible for the connection between components through port/exports whereas it is done in TLM 2.0 through sockets.
  2. Components which initiate transactions are called initiators and which receives transactions from initiator are called as targets
  3. Unlike ports/exports in TLM1.0, sockets have both forward and backward paths.
  4. Types of socket: initiator, target, passthrough, or terminator.
  5. Socket implements either a non blocking or blocking interface.
  6. Passthrough sockets enable connections to cross hierarchical boundaries
  7. Terminator sockets are used on initiators as well as on targets. They can be also used on interconnect components.

Socket Types

  1. uvm_tlm_b_initiator_socket
  2. uvm_tlm_b_target_socket
  3. uvm_tlm_nb_initiator_socket
  4. uvm_tlm_nb_target_socket
  5. uvm_tlm_b_passthrough_initiator_socket
  6. uvm_tlm_b_passthrough_target_socket
  7. uvm_tlm_nb_passthrough_initiator_socket
  8. uvm_tlm_nb_passthrough_target_socket

a. Terminator sockets are point 3 to 6.
b. Passthrough sockets are points 7 and 8.

Socket Symbol


Bidirectional connections

initiator and target connections using port and export
initiator and target connections using tlm socket

Advantages of sockets

  1. Establishes communication in both directions. Initiator to target and vice-versa. Normally, it requires a lot of binding using port-export pair.
  2. The socket has port/export/imp but uses internally.
  3. It provides an abstract level, hides complexity, eases to use.