Tutorials
Learn More
TLM Socket
- TLM 1.0 is responsible for the connection between components through port/exports whereas it is done in TLM 2.0 through sockets.
- Components which initiate transactions are called initiators and which receives transactions from initiator are called as targets
- Unlike ports/exports in TLM1.0, sockets have both forward and backward paths.
- Types of socket: initiator, target, passthrough, or terminator.
- Socket implements either a non blocking or blocking interface.
- Passthrough sockets enable connections to cross hierarchical boundaries
- Terminator sockets are used on initiators as well as on targets. They can be also used on interconnect components.
Socket Types
- uvm_tlm_b_initiator_socket
- uvm_tlm_b_target_socket
- uvm_tlm_nb_initiator_socket
- uvm_tlm_nb_target_socket
- uvm_tlm_b_passthrough_initiator_socket
- uvm_tlm_b_passthrough_target_socket
- uvm_tlm_nb_passthrough_initiator_socket
- 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
Bidirectional connections
Advantages of sockets
- Establishes communication in both directions. Initiator to target and vice-versa. Normally, it requires a lot of binding using port-export pair.
- The socket has port/export/imp but uses internally.
- It provides an abstract level, hides complexity, eases to use.
TLM Tutorials