#ifndef TLM_ADAPTERS_HEADER
#define TLM_ADAPTERS_HEADER
#include "tlm_core/tlm_interfaces/tlm_master_slave_ifs.h"
template< typename REQ
, typename RSP
>
class tlm_transport_to_master
:
public virtual tlm_transport_if
< REQ
, RSP
>
sc_export
< tlm_transport_if
< REQ
, RSP
> > target_export
;
sc_port
< tlm_master_if
< REQ
, RSP
> > master_port
;
tlm_transport_to_master( sc_module_name nm
) :
tlm_transport_to_master() :
sc_module( sc_module_name( sc_gen_unique_name( "transport_to_master" ) ) ){
RSP
transport( const REQ
&req
) {
rsp
= master_port
->get();
template< typename REQ
, typename RSP
>
class tlm_slave_to_transport
: public sc_module
SC_HAS_PROCESS( tlm_slave_to_transport
);
sc_port
< tlm_slave_if
< REQ
, RSP
> > slave_port
;
sc_port
< tlm_transport_if
< REQ
, RSP
> > initiator_port
;
tlm_slave_to_transport( sc_module_name nm
) : sc_module( nm
)
tlm_slave_to_transport() :
sc_module( sc_module_name( sc_gen_unique_name("slave_to_transport") ) )
rsp
= initiator_port
->transport( req
);