// IS-A forward imp; has no backward path except via the payload// contents.//----------------------------------------------------------------------classuvm_tlm_b_target_socket_base#(typeT=uvm_tlm_generic_payload)extendsuvm_port_base#(uvm_tlm_if#(T));functionnew(stringname,uvm_componentparent);super.new(name,parent,UVM_IMPLEMENTATION,1,1);m_if_mask=`UVM_TLM_B_MASK;endfunction`UVM_TLM_GET_TYPE_NAME("uvm_tlm_b_target_socket")endclass//----------------------------------------------------------------------// Class: uvm_tlm_b_initiator_socket_base//// IS-A forward port; has no backward path except via the payload// contents//----------------------------------------------------------------------classuvm_tlm_b_initiator_socket_base#(typeT=uvm_tlm_generic_payload)extendsuvm_port_base#(uvm_tlm_if#(T));`UVM_PORT_COMMON(`UVM_TLM_B_MASK,"uvm_tlm_b_initiator_socket")`UVM_TLM_B_TRANSPORT_IMP(this.m_if,T,t,delay)endclass//----------------------------------------------------------------------// Class: uvm_tlm_nb_target_socket_base//// IS-A forward imp; HAS-A backward port//----------------------------------------------------------------------classuvm_tlm_nb_target_socket_base#(typeT=uvm_tlm_generic_payload,typeP=uvm_tlm_phase_e)extendsuvm_port_base#(uvm_tlm_if#(T,P));uvm_tlm_nb_transport_bw_port#(T,P)bw_port;functionnew(stringname,uvm_componentparent);super.new(name,parent,UVM_IMPLEMENTATION,1,1);m_if_mask=`UVM_TLM_NB_FW_MASK;endfunction`UVM_TLM_GET_TYPE_NAME("uvm_tlm_nb_target_socket")`UVM_TLM_NB_TRANSPORT_BW_IMP(bw_port,T,P,t,p,delay)endclass
// IS-A forward imp; has no backward path except via the payload// contents.//----------------------------------------------------------------------virtualclassuvm_tlm_b_target_socket_base#(typeT=uvm_tlm_generic_payload)extendsuvm_port_base#(uvm_tlm_if#(T));functionnew(stringname,uvm_componentparent);super.new(name,parent,UVM_IMPLEMENTATION,1,1);m_if_mask=`UVM_TLM_B_MASK;endfunction`UVM_TLM_GET_TYPE_NAME("uvm_tlm_b_target_socket")endclass//----------------------------------------------------------------------// Class -- NODOCS -- uvm_tlm_b_initiator_socket_base//// IS-A forward port; has no backward path except via the payload// contents//----------------------------------------------------------------------virtualclassuvm_tlm_b_initiator_socket_base#(typeT=uvm_tlm_generic_payload)extendsuvm_port_base#(uvm_tlm_if#(T));`UVM_PORT_COMMON(`UVM_TLM_B_MASK,"uvm_tlm_b_initiator_socket")`UVM_TLM_B_TRANSPORT_IMP(this.m_if,T,t,delay)endclass//----------------------------------------------------------------------// Class -- NODOCS -- uvm_tlm_nb_target_socket_base//// IS-A forward imp; HAS-A backward port//----------------------------------------------------------------------virtualclassuvm_tlm_nb_target_socket_base#(typeT=uvm_tlm_generic_payload,typeP=uvm_tlm_phase_e)extendsuvm_port_base#(uvm_tlm_if#(T,P));uvm_tlm_nb_transport_bw_port#(T,P)bw_port;functionnew(stringname,uvm_componentparent);super.new(name,parent,UVM_IMPLEMENTATION,1,1);m_if_mask=`UVM_TLM_NB_FW_MASK;endfunction`UVM_TLM_GET_TYPE_NAME("uvm_tlm_nb_target_socket")`UVM_TLM_NB_TRANSPORT_BW_IMP(bw_port,T,P,t,p,delay)endclass
////----------------------------------------------------------------------classuvm_tlm_b_target_socket#(typeIMP=int,typeT=uvm_tlm_generic_payload)extendsuvm_tlm_b_target_socket_base#(T);localIMPm_imp;// Function: new// Construct a new instance of this socket// ~imp~ is a reference to the class implementing the// b_transport() method.// If not specified, it is assume to be the same as ~parent~.functionnew(stringname,uvm_componentparent,IMPimp=null);super.new(name,parent);if(imp==null)$cast(m_imp,parent);elsem_imp=imp;if(m_imp==null)`uvm_error("UVM/TLM2/NOIMP",{"b_target socket ",name," has no implementation"});endfunction// Function: Connect//// Connect this socket to the specified <uvm_tlm_b_initiator_socket>functionvoidconnect(this_typeprovider);uvm_componentc;
//----------------------------------------------------------------------// @uvm-ieee 1800.2-2020 auto 12.3.5.1.1classuvm_tlm_b_target_socket#(typeIMP=int,typeT=uvm_tlm_generic_payload)extendsuvm_tlm_b_target_socket_base#(T);localIMPm_imp;// @uvm-ieee 1800.2-2020 auto 12.3.5.1.3functionnew(stringname,uvm_componentparent,IMPimp=null);super.new(name,parent);if(imp==null)$cast(m_imp,parent);elsem_imp=imp;if(m_imp==null)`uvm_error("UVM/TLM2/NOIMP",{"b_target socket ",name," has no implementation"})endfunction// @uvm-ieee 1800.2-2020 auto 12.3.5.1.4functionvoidconnect(this_typeprovider);uvm_componentc;