19 public sc_core::sc_module,
20 public tlm::tlm_fw_transport_if<>
26 static constexpr char name[] =
"mem_tlm_gasket";
27 static constexpr char scName[2][20] = {
"mem_tlm_gasket0",
"mem_tlm_gasket1"};
64 sc_core::sc_module_name module_name = scName[nextID]) :
66 sc_module(module_name),
70 , sc_core::sc_time(50, sc_core::SC_NS)
71 , sc_core::sc_time(30, sc_core::SC_NS)
75 accept_delay_(sc_core::sc_time(0, sc_core::SC_NS))
83 memory_socket_(*
this);
87 in_memory_response_.registerConsumerHandler
94 tlm::tlm_target_socket<> & getMemorySocket() {
return memory_socket_; }
98 tlm::tlm_target_socket<> memory_socket_;
100 const unsigned int ID_;
101 memory target_memory_;
102 sc_core::sc_time accept_delay_;
105 tlm::tlm_sync_enum nb_transport_fw (tlm::tlm_generic_payload &gp,
106 tlm::tlm_phase &phase ,
107 sc_core::sc_time &delay_time )
override final;
111 void send_end_request_(
const MemoryRequest &);
112 void forwardMemoryResponse_(
const MemoryRequest &);
113 unsigned long request_count_;
114 bool nb_trans_fw_prev_warning_;
115 bool begin_resp_method_prev_warning_;
116 bool trans_dbg_prev_warning_;
117 bool get_dm_ptr_prev_warning_;
128 void b_transport(tlm::tlm_generic_payload &payload, sc_core::sc_time &delay_time)
override { }
131 bool get_direct_mem_ptr(tlm::tlm_generic_payload &payload, tlm::tlm_dmi &dmi_data)
override
135 unsigned int transport_dbg(tlm::tlm_generic_payload &payload)
override {
return 0; }