Tutorials

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

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

Socket Symbol

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.