summaryrefslogtreecommitdiff
path: root/src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h')
-rw-r--r--src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h131
1 files changed, 63 insertions, 68 deletions
diff --git a/src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h b/src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h
index 13207187a..c81df4b15 100644
--- a/src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h
+++ b/src/systemc/ext/tlm_core/tlm_1/tlm_req_rsp/tlm_adapters/tlm_adapters.h
@@ -17,89 +17,84 @@
*****************************************************************************/
-#ifndef __TLM_ADAPTERS_H__
-#define __TLM_ADAPTERS_H__
+#ifndef __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_REQ_RSP_TLM_ADAPTERS_H__
+#define __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_REQ_RSP_TLM_ADAPTERS_H__
#include "tlm_core/tlm_1/tlm_req_rsp/tlm_1_interfaces/tlm_master_slave_ifs.h"
-namespace tlm {
-
-template< typename REQ , typename RSP >
-class tlm_transport_to_master :
- public sc_core::sc_module ,
- public virtual tlm_transport_if< REQ , RSP >
+namespace tlm
{
-public:
- sc_core::sc_export< tlm_transport_if< REQ , RSP > > target_export;
- sc_core::sc_port< tlm_master_if< REQ , RSP > > master_port;
-
- tlm_transport_to_master( sc_core::sc_module_name nm ) :
- sc_core::sc_module( nm ) {
-
- target_export( *this );
-
- }
-
- tlm_transport_to_master() :
- sc_core::sc_module( sc_core::sc_module_name( sc_core::sc_gen_unique_name( "transport_to_master" ) ) ){
-
- target_export( *this );
-
- }
- RSP transport( const REQ &req ) {
-
- mutex.lock();
-
- master_port->put( req );
- rsp = master_port->get();
+template <typename REQ, typename RSP>
+class tlm_transport_to_master : public sc_core::sc_module,
+ public virtual tlm_transport_if<REQ, RSP>
+{
+ public:
+ sc_core::sc_export<tlm_transport_if<REQ, RSP>> target_export;
+ sc_core::sc_port<tlm_master_if<REQ, RSP>> master_port;
+
+ tlm_transport_to_master(sc_core::sc_module_name nm) :
+ sc_core::sc_module(nm)
+ {
+ target_export( *this );
+ }
- mutex.unlock();
- return rsp;
+ tlm_transport_to_master() :
+ sc_core::sc_module(sc_core::sc_module_name(
+ sc_core::sc_gen_unique_name("transport_to_master")))
+ {
+ target_export( *this );
+ }
- }
+ RSP
+ transport(const REQ &req)
+ {
+ mutex.lock();
+ master_port->put(req);
+ rsp = master_port->get();
-private:
- sc_core::sc_mutex mutex;
- RSP rsp;
+ mutex.unlock();
+ return rsp;
+ }
+ private:
+ sc_core::sc_mutex mutex;
+ RSP rsp;
};
-template< typename REQ , typename RSP >
+template <typename REQ, typename RSP>
class tlm_slave_to_transport : public sc_core::sc_module
{
-public:
-
- SC_HAS_PROCESS( tlm_slave_to_transport );
-
- sc_core::sc_port< tlm_slave_if< REQ , RSP > > slave_port;
- sc_core::sc_port< tlm_transport_if< REQ , RSP > > initiator_port;
-
- tlm_slave_to_transport( sc_core::sc_module_name nm ) : sc_core::sc_module( nm )
- {}
-
- tlm_slave_to_transport() :
- sc_core::sc_module( sc_core::sc_module_name( sc_core::sc_gen_unique_name("slave_to_transport") ) )
- {}
-
-private:
- void run() {
-
- REQ req;
- RSP rsp;
-
- while( true ) {
-
- slave_port->get( req );
- rsp = initiator_port->transport( req );
- slave_port->put( rsp );
-
+ public:
+ SC_HAS_PROCESS(tlm_slave_to_transport);
+
+ sc_core::sc_port<tlm_slave_if<REQ, RSP>> slave_port;
+ sc_core::sc_port<tlm_transport_if<REQ, RSP>> initiator_port;
+
+ tlm_slave_to_transport(sc_core::sc_module_name nm) :
+ sc_core::sc_module(nm)
+ {}
+
+ tlm_slave_to_transport() :
+ sc_core::sc_module(sc_core::sc_module_name(
+ sc_core::sc_gen_unique_name("slave_to_transport")))
+ {}
+
+ private:
+ void
+ run()
+ {
+ REQ req;
+ RSP rsp;
+
+ while (true) {
+ slave_port->get(req);
+ rsp = initiator_port->transport(req);
+ slave_port->put(rsp);
+ }
}
-
- }
-
};
} // namespace tlm
-#endif
+#endif /* __SYSTEMC_EXT_TLM_CORE_TLM_1_TLM_REQ_RSP_TLM_ADAPTERS_H__*/