クラス テンプレート tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >

#include <multi_passthrough_initiator_socket.h>

tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >に対する継承グラフ

Inheritance graph
[凡例]
tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >のコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef TYPES::tlm_payload_type transaction_type
typedef TYPES::tlm_phase_type phase_type
typedef tlm::tlm_sync_enum sync_enum_type
typedef sync_enum_type(MODULE::* nb_cb )(int, transaction_type &, phase_type &, sc_core::sc_time &)
typedef void(MODULE::* dmi_cb )(int, sc_dt::uint64, sc_dt::uint64)
typedef multi_init_base
< BUSWIDTH, TYPES, N,POL > 
base_type
typedef
base_type::base_target_socket_type 
base_target_socket_type

Public メソッド

 multi_passthrough_initiator_socket (const char *name)
 multi_passthrough_initiator_socket ()
void display_warning (const std::string &text)
void display_error (const std::string &text)
void register_nb_transport_bw (MODULE *mod, sync_enum_type(MODULE::*cb)(int, transaction_type &, phase_type &, sc_core::sc_time &))
void register_invalidate_direct_mem_ptr (MODULE *mod, void(MODULE::*cb)(int, sc_dt::uint64, sc_dt::uint64))
virtual
tlm::tlm_bw_transport_if
< TYPES > & 
get_base_interface ()
virtual sc_core::sc_export
< tlm::tlm_bw_transport_if
< TYPES > > & 
get_base_export ()
void bind (base_target_socket_type &s)
void operator() (base_target_socket_type &s)
void before_end_of_elaboration ()
void bind (base_type &s)
void operator() (base_type &s)
tlm::tlm_fw_transport_if< TYPES > * operator[] (int i)
unsigned int size ()

Protected メソッド

base_typeget_hierarch_bind ()
void disable_cb_bind ()
std::vector
< callback_binder_bw< TYPES > * > & 
get_binders ()
std::vector
< tlm::tlm_fw_transport_if
< TYPES > * > & 
get_sockets ()

Protected 変数

std::vector
< tlm::tlm_fw_transport_if
< TYPES > * > 
m_sockets
std::vector
< tlm::tlm_fw_transport_if
< TYPES > * > 
m_used_sockets
std::vector
< callback_binder_bw< TYPES > * > 
m_binders
MODULE * m_mod
nb_cb m_nb_cb
dmi_cb m_dmi_cb
base_typem_hierarch_bind
bool m_beoe_disabled
callback_binder_bw< TYPES > m_dummy
boost::function
< sync_enum_type(int i,
transaction_type &txn,
phase_type &p,
sc_core::sc_time &t)> 
m_nb_f
boost::function< void(int i,
sc_dt::uint64 l, sc_dt::uint64
u)> 
m_dmi_f


説明

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
class tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >

multi_passthrough_initiator_socket.h43 行で定義されています。


型定義

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef TYPES::tlm_payload_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::transaction_type

multi_passthrough_initiator_socket.h56 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef TYPES::tlm_phase_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::phase_type

multi_passthrough_initiator_socket.h57 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef tlm::tlm_sync_enum tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::sync_enum_type

multi_passthrough_initiator_socket.h58 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef sync_enum_type(MODULE::* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::nb_cb)(int, transaction_type &, phase_type &, sc_core::sc_time &)

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef void(MODULE::* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::dmi_cb)(int, sc_dt::uint64, sc_dt::uint64)

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef multi_init_base<BUSWIDTH, TYPES, N ,POL > tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::base_type

tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h73 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
typedef base_type::base_target_socket_type tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::base_target_socket_type

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h75 行で定義されています。


コンストラクタとデストラクタ

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_initiator_socket ( const char *  name  )  [inline]

multi_passthrough_initiator_socket.h78 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::multi_passthrough_initiator_socket (  )  [inline]

multi_passthrough_initiator_socket.h89 行で定義されています。


関数

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_warning ( const std::string &  text  )  [inline]

multi_passthrough_initiator_socket.h95 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::display_error ( const std::string &  text  )  [inline]

multi_passthrough_initiator_socket.h101 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_nb_transport_bw ( MODULE *  mod,
sync_enum_type(MODULE::*)(int, transaction_type &, phase_type &, sc_core::sc_time &)  cb 
) [inline]

multi_passthrough_initiator_socket.h109 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::register_invalidate_direct_mem_ptr ( MODULE *  mod,
void(MODULE::*)(int, sc_dt::uint64, sc_dt::uint64)  cb 
) [inline]

multi_passthrough_initiator_socket.h131 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
virtual tlm::tlm_bw_transport_if<TYPES>& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_base_interface (  )  [inline, virtual]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h154 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
virtual sc_core::sc_export<tlm::tlm_bw_transport_if<TYPES> >& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_base_export (  )  [inline, virtual]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h164 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind ( base_target_socket_type s  )  [inline]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h172 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator() ( base_target_socket_type s  )  [inline]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h198 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::before_end_of_elaboration (  )  [inline]

multi_passthrough_initiator_socket.h204 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::bind ( base_type s  )  [inline]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h234 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator() ( base_type s  )  [inline]

tlm::tlm_base_initiator_socket< BUSWIDTH, FW_IF, BW_IF, N, POL >を再定義しています。

multi_passthrough_initiator_socket.h251 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
tlm::tlm_fw_transport_if<TYPES>* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::operator[] ( int  i  )  [inline]

multi_passthrough_initiator_socket.h257 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
unsigned int tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::size (  )  [inline]

multi_passthrough_initiator_socket.h261 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
base_type* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_hierarch_bind (  )  [inline, protected, virtual]

tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >を実装しています。

multi_passthrough_initiator_socket.h265 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
void tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::disable_cb_bind (  )  [inline, protected, virtual]

tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >を実装しています。

multi_passthrough_initiator_socket.h266 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::vector<callback_binder_bw<TYPES>* >& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_binders (  )  [inline, protected, virtual]

tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >を実装しています。

multi_passthrough_initiator_socket.h267 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::vector<tlm::tlm_fw_transport_if<TYPES>*>& tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::get_sockets (  )  [inline, protected, virtual]

tlm_utils::multi_init_base< BUSWIDTH, TYPES, N, POL >を実装しています。

multi_passthrough_initiator_socket.h268 行で定義されています。


変数

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::vector<tlm::tlm_fw_transport_if<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_sockets [protected]

multi_passthrough_initiator_socket.h270 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::vector<tlm::tlm_fw_transport_if<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_used_sockets [protected]

multi_passthrough_initiator_socket.h271 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
std::vector<callback_binder_bw<TYPES>*> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_binders [protected]

multi_passthrough_initiator_socket.h273 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
MODULE* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_mod [protected]

multi_passthrough_initiator_socket.h275 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
nb_cb tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_cb [protected]

multi_passthrough_initiator_socket.h276 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
dmi_cb tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_cb [protected]

multi_passthrough_initiator_socket.h277 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
base_type* tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_hierarch_bind [protected]

multi_passthrough_initiator_socket.h278 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
bool tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_beoe_disabled [protected]

multi_passthrough_initiator_socket.h279 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
callback_binder_bw<TYPES> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dummy [protected]

multi_passthrough_initiator_socket.h280 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
boost::function<sync_enum_type (int i, transaction_type& txn, phase_type& p, sc_core::sc_time& t)> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_nb_f [protected]

multi_passthrough_initiator_socket.h286 行で定義されています。

template<typename MODULE, unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types, unsigned int N = 0, sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND>
boost::function<void (int i, sc_dt::uint64 l, sc_dt::uint64 u)> tlm_utils::multi_passthrough_initiator_socket< MODULE, BUSWIDTH, TYPES, N, POL >::m_dmi_f [protected]

multi_passthrough_initiator_socket.h287 行で定義されています。


このクラスの説明は次のファイルから生成されました:

TLM 2.0に対してWed Jun 11 00:11:02 2008に生成されました。  doxygen 1.5.6