|
| | router (const sc_core::sc_module_name &nm, size_t slave_cnt=1, size_t master_cnt=1, bool check_overlap_on_add_target=false) |
| | constructs a router
|
| template<typename TYPE> |
| void | bind_target (TYPE &socket, size_t idx, uint64_t base, uint64_t size, bool remap=true) |
| | bind the initiator socket of the router to some target giving a base and size
|
| template<typename TYPE> |
| void | bind_target (TYPE &socket, size_t idx, std::string name) |
| | bind the initiator socket of the router to some target and name it
|
| void | set_initiator_base (size_t idx, uint64_t base) |
| | define a base address of a socket
|
| void | set_default_target (size_t idx) |
| | define the default target socket
|
| void | set_target_name (size_t idx, std::string name) |
| | establish a mapping between socket name and socket index
|
| void | add_target_range (std::string name, uint64_t base, uint64_t size, bool remap=true) |
| | establish a mapping between a named socket and a target address range
|
| void | set_target_range (size_t idx, uint64_t base, uint64_t size, bool remap=true) |
| | establish a mapping between a socket and a target address range
|
| void | set_warn_on_address_error (bool enable) |
| | enable warning message on address not found error
|
| void | b_transport (int i, tlm::tlm_generic_payload &trans, sc_core::sc_time &delay) |
| | tagged blocking transport method
|
| bool | get_direct_mem_ptr (int i, tlm::tlm_generic_payload &trans, tlm::tlm_dmi &dmi_data) |
| | tagged forward DMI method
|
| unsigned | transport_dbg (int i, tlm::tlm_generic_payload &trans) |
| | tagged debug transaction method
|
| void | invalidate_direct_mem_ptr (int id, ::sc_dt::uint64 start_range, ::sc_dt::uint64 end_range) |
| | tagged backward DMI method
|
| void | end_of_elaboration () override |
| | tagged end of elaboration callback.
|
template<unsigned BUSWIDTH = LT, typename TARGET_SOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH>>
class scc::router< BUSWIDTH, TARGET_SOCKET_TYPE >
a TLM2.0 router for loosly-timed (LT) models
It uses the tlm::scc::scv::tlm_rec_initiator_socket so that incoming and outgoing accesses can be traced using SCV
- Template Parameters
-
| BUSWIDTH | the width of the bus |
Definition at line 41 of file router.h.
template<unsigned BUSWIDTH = LT, typename TARGET_SOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH>>
| void scc::router< BUSWIDTH, TARGET_SOCKET_TYPE >::set_default_target |
( |
size_t | idx | ) |
|
|
inline |
define the default target socket
If no target address range is hit the access is routed to this socket. If this is not defined a address error response is generated
- Parameters
-
Definition at line 107 of file router.h.
template<unsigned BUSWIDTH = LT, typename TARGET_SOCKET_TYPE = tlm::tlm_target_socket<BUSWIDTH>>
| void scc::router< BUSWIDTH, TARGET_SOCKET_TYPE >::set_initiator_base |
( |
size_t | idx, |
|
|
uint64_t | base ) |
|
inline |
define a base address of a socket
This will be added to the address of each access coming thru this socket
- Parameters
-
Definition at line 97 of file router.h.