TLM-2.0  2.0.4
Accellera TLM-2.0 proof-of-concept library
tlm Namespace Reference

Classes

class  circular_buffer
 
class  tlm_analysis_fifo
 
class  tlm_analysis_if
 
class  tlm_analysis_port
 
struct  tlm_analysis_triple
 
class  tlm_array
 
class  tlm_base_initiator_socket
 
class  tlm_base_initiator_socket_b
 
struct  tlm_base_protocol_types
 
class  tlm_base_socket_if
 
class  tlm_base_target_socket
 
class  tlm_base_target_socket_b
 
class  tlm_blocking_get_if
 
class  tlm_blocking_get_peek_if
 
class  tlm_blocking_master_if
 
class  tlm_blocking_peek_if
 
class  tlm_blocking_put_if
 
class  tlm_blocking_slave_if
 
class  tlm_blocking_transport_if
 
class  tlm_bool
 
class  tlm_bw_direct_mem_if
 
class  tlm_bw_nonblocking_transport_if
 
class  tlm_bw_transport_if
 
class  tlm_delayed_analysis_if
 
class  tlm_delayed_write_if
 
class  tlm_dmi
 
class  tlm_endian_context
 
class  tlm_endian_context_pool
 
class  tlm_event_finder_t
 
class  tlm_extension
 
class  tlm_extension_base
 
class  tlm_fifo
 
class  tlm_fifo_config_size_if
 
class  tlm_fifo_debug_if
 
class  tlm_fifo_get_if
 
class  tlm_fifo_put_if
 
class  tlm_fw_direct_mem_if
 
class  tlm_fw_nonblocking_transport_if
 
class  tlm_fw_transport_if
 
class  tlm_generic_payload
 
class  tlm_get_if
 
class  tlm_get_peek_if
 
class  tlm_global_quantum
 
class  tlm_initiator_socket
 
class  tlm_master_if
 
class  tlm_master_imp
 
class  tlm_mm_interface
 
class  tlm_nonblocking_get_if
 
class  tlm_nonblocking_get_peek_if
 
class  tlm_nonblocking_get_port
 
class  tlm_nonblocking_master_if
 
class  tlm_nonblocking_peek_if
 
class  tlm_nonblocking_peek_port
 
class  tlm_nonblocking_put_if
 
class  tlm_nonblocking_put_port
 
class  tlm_nonblocking_slave_if
 
class  tlm_peek_if
 
class  tlm_phase
 
class  tlm_put_get_imp
 
class  tlm_put_if
 
class  tlm_req_rsp_channel
 
class  tlm_slave_if
 
class  tlm_slave_imp
 
class  tlm_slave_to_transport
 
class  tlm_tag
 
class  tlm_target_socket
 
class  tlm_transport_channel
 
class  tlm_transport_dbg_if
 
class  tlm_transport_if
 
class  tlm_transport_to_master
 
class  tlm_write_if
 

Enumerations

enum  tlm_sync_enum { TLM_ACCEPTED, TLM_UPDATED, TLM_COMPLETED }
 
enum  tlm_command { TLM_READ_COMMAND, TLM_WRITE_COMMAND, TLM_IGNORE_COMMAND }
 
enum  tlm_response_status {
  TLM_OK_RESPONSE = 1, TLM_INCOMPLETE_RESPONSE = 0, TLM_GENERIC_ERROR_RESPONSE = -1, TLM_ADDRESS_ERROR_RESPONSE = -2,
  TLM_COMMAND_ERROR_RESPONSE = -3, TLM_BURST_ERROR_RESPONSE = -4, TLM_BYTE_ENABLE_ERROR_RESPONSE = -5
}
 
enum  tlm_gp_option { TLM_MIN_PAYLOAD, TLM_FULL_PAYLOAD, TLM_FULL_PAYLOAD_ACCEPTED }
 
enum  tlm_endianness { TLM_UNKNOWN_ENDIAN, TLM_LITTLE_ENDIAN, TLM_BIG_ENDIAN }
 
enum  tlm_socket_category {
  TLM_UNKNOWN_SOCKET = 0, TLM_INITIATOR_SOCKET = 0x1, TLM_TARGET_SOCKET = 0x2, TLM_MULTI_SOCKET = 0x10,
  TLM_MULTI_INITIATOR_SOCKET = TLM_INITIATOR_SOCKET | TLM_MULTI_SOCKET, TLM_MULTI_TARGET_SOCKET = TLM_TARGET_SOCKET | TLM_MULTI_SOCKET
}
 

Functions

tlm_endian_contextestablish_context (tlm_generic_payload *txn)
 
void copy_db0 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
void copy_dbtrue0 (uchar *src1, uchar *, uchar *dest1, uchar *dest2)
 
void copy_btrue0 (uchar *, uchar *, uchar *, uchar *dest2)
 
void copy_b0 (uchar *, uchar *src2, uchar *, uchar *dest2)
 
void copy_dbyb0 (uchar *src1, uchar *, uchar *dest1, uchar *dest2)
 
template<class D , void COPY>
void loop_generic0 (int new_len, int new_stream_width, int orig_stream_width, int sizeof_databus, sc_dt::uint64 orig_start_address, sc_dt::uint64 new_start_address, int be_length, uchar *ie_data, uchar *ie_be, uchar *he_data, uchar *he_be)
 
template<class DATAWORD >
void tlm_from_hostendian_generic (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class DATAWORD >
void tlm_to_hostendian_generic (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class D >
void copy_d1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void copy_db1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void true_b1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void copy_b1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void copy_dbyb1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void copy_dbytrue1 (uchar *src1, uchar *src2, uchar *dest1, uchar *dest2)
 
template<class D >
void false_b1 (uchar *dest1)
 
template<class D >
void no_b1 (uchar *dest1)
 
template<class D , void COPY, void COPYuchar, void FILLFALSE, void FILLFALSEuchar>
int loop_word1 (int bytes_left, int len0, int lenN, int sizeof_databus, uchar *start, uchar *end, uchar *src, uchar *bsrc, uchar *dest, uchar *bdest)
 
template<class DATAWORD >
void tlm_from_hostendian_word (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class DATAWORD >
void tlm_to_hostendian_word (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class D >
void copy_d2 (D *src1, D *src2, D *dest1, D *dest2)
 
template<class D >
void copy_db2 (D *src1, D *src2, D *dest1, D *dest2)
 
template<class D >
void copy_dbyb2 (D *src1, D *src2, D *dest1, D *dest2)
 
template<class D , void COPY>
void loop_aligned2 (D *src1, D *src2, D *dest1, D *dest2, int words, int words_per_bus)
 
template<class DATAWORD >
void tlm_from_hostendian_aligned (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class DATAWORD >
void tlm_to_hostendian_aligned (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class DATAWORD >
void tlm_from_hostendian_single (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
template<class DATAWORD >
void tlm_to_hostendian_single (tlm_generic_payload *txn, unsigned int sizeof_databus)
 
void tlm_from_hostendian (tlm_generic_payload *txn)
 
SC_API unsigned int max_num_extensions ()
 
tlm_endianness get_host_endianness (void)
 
bool host_has_little_endianness (void)
 
bool has_host_endianness (tlm_endianness endianness)
 
std::ostream & operator<< (std::ostream &s, const tlm_phase &p)
 
const unsigned int tlm_version_major (TLM_VERSION_MAJOR)
 
const unsigned int tlm_version_minor (TLM_VERSION_MINOR)
 
const unsigned int tlm_version_patch (TLM_VERSION_PATCH)
 
const bool tlm_is_prerelease (TLM_IS_PRERELEASE)
 
const std::string tlm_version_string (TLM_VERSION_STRING)
 
const std::string tlm_version_originator (TLM_VERSION_ORIGINATOR)
 
const std::string tlm_version_prerelease (TLM_VERSION_PRERELEASE)
 
const std::string tlm_version_release_date (TLM_VERSION_STRING_RELEASE_DATE)
 
const std::string tlm_copyright_string (TLM_COPYRIGHT)
 
const std::string tlm_version_string_2 (TLM_VERSION_STRING_2)
 
const char * tlm_release (void)
 
const char * tlm_version (void)
 
const char * tlm_copyright (void)
 

Variables

static tlm_endian_context_pool global_tlm_endian_context_pool
 
SC_API_TEMPLATE_DECL_ tlm_array< tlm_extension_base *>
 

Enumeration Type Documentation

◆ tlm_command

Enumerator
TLM_READ_COMMAND 
TLM_WRITE_COMMAND 
TLM_IGNORE_COMMAND 

Definition at line 90 of file tlm_gp.h.

◆ tlm_endianness

Enumerator
TLM_UNKNOWN_ENDIAN 
TLM_LITTLE_ENDIAN 
TLM_BIG_ENDIAN 

Definition at line 38 of file tlm_helpers.h.

◆ tlm_gp_option

Enumerator
TLM_MIN_PAYLOAD 
TLM_FULL_PAYLOAD 
TLM_FULL_PAYLOAD_ACCEPTED 

Definition at line 106 of file tlm_gp.h.

◆ tlm_response_status

Enumerator
TLM_OK_RESPONSE 
TLM_INCOMPLETE_RESPONSE 
TLM_GENERIC_ERROR_RESPONSE 
TLM_ADDRESS_ERROR_RESPONSE 
TLM_COMMAND_ERROR_RESPONSE 
TLM_BURST_ERROR_RESPONSE 
TLM_BYTE_ENABLE_ERROR_RESPONSE 

Definition at line 96 of file tlm_gp.h.

◆ tlm_socket_category

Enumerator
TLM_UNKNOWN_SOCKET 
TLM_INITIATOR_SOCKET 
TLM_TARGET_SOCKET 
TLM_MULTI_SOCKET 
TLM_MULTI_INITIATOR_SOCKET 
TLM_MULTI_TARGET_SOCKET 

Definition at line 27 of file tlm_base_socket_if.h.

◆ tlm_sync_enum

Enumerator
TLM_ACCEPTED 
TLM_UPDATED 
TLM_COMPLETED 

Definition at line 29 of file tlm_fw_bw_ifs.h.

Function Documentation

◆ copy_b0()

void tlm::copy_b0 ( uchar ,
uchar src2,
uchar ,
uchar dest2 
)
inline

Definition at line 301 of file tlm_endian_conv.h.

◆ copy_b1()

template<class D >
void tlm::copy_b1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 443 of file tlm_endian_conv.h.

◆ copy_btrue0()

void tlm::copy_btrue0 ( uchar ,
uchar ,
uchar ,
uchar dest2 
)
inline

Definition at line 297 of file tlm_endian_conv.h.

◆ copy_d1()

template<class D >
void tlm::copy_d1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 426 of file tlm_endian_conv.h.

◆ copy_d2()

template<class D >
void tlm::copy_d2 ( D *  src1,
D *  src2,
D *  dest1,
D *  dest2 
)
inline

Definition at line 629 of file tlm_endian_conv.h.

◆ copy_db0()

void tlm::copy_db0 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 287 of file tlm_endian_conv.h.

◆ copy_db1()

template<class D >
void tlm::copy_db1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 432 of file tlm_endian_conv.h.

◆ copy_db2()

template<class D >
void tlm::copy_db2 ( D *  src1,
D *  src2,
D *  dest1,
D *  dest2 
)
inline

Definition at line 633 of file tlm_endian_conv.h.

◆ copy_dbtrue0()

void tlm::copy_dbtrue0 ( uchar src1,
uchar ,
uchar dest1,
uchar dest2 
)
inline

Definition at line 292 of file tlm_endian_conv.h.

◆ copy_dbyb0()

void tlm::copy_dbyb0 ( uchar src1,
uchar ,
uchar dest1,
uchar dest2 
)
inline

Definition at line 305 of file tlm_endian_conv.h.

◆ copy_dbyb1()

template<class D >
void tlm::copy_dbyb1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 448 of file tlm_endian_conv.h.

◆ copy_dbyb2()

template<class D >
void tlm::copy_dbyb2 ( D *  src1,
D *  src2,
D *  dest1,
D *  dest2 
)
inline

Definition at line 639 of file tlm_endian_conv.h.

◆ copy_dbytrue1()

template<class D >
void tlm::copy_dbytrue1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 453 of file tlm_endian_conv.h.

◆ establish_context()

tlm_endian_context* tlm::establish_context ( tlm_generic_payload txn)
inline

Definition at line 227 of file tlm_endian_conv.h.

◆ false_b1()

template<class D >
void tlm::false_b1 ( uchar dest1)
inline

Definition at line 457 of file tlm_endian_conv.h.

◆ get_host_endianness()

tlm_endianness tlm::get_host_endianness ( void  )
inline

Definition at line 40 of file tlm_helpers.h.

◆ has_host_endianness()

bool tlm::has_host_endianness ( tlm_endianness  endianness)
inline

Definition at line 68 of file tlm_helpers.h.

◆ host_has_little_endianness()

bool tlm::host_has_little_endianness ( void  )
inline

Definition at line 53 of file tlm_helpers.h.

◆ loop_aligned2()

template<class D , void COPY>
void tlm::loop_aligned2 ( D *  src1,
D *  src2,
D *  dest1,
D *  dest2,
int  words,
int  words_per_bus 
)
inline

Definition at line 644 of file tlm_endian_conv.h.

◆ loop_generic0()

template<class D , void COPY>
void tlm::loop_generic0 ( int  new_len,
int  new_stream_width,
int  orig_stream_width,
int  sizeof_databus,
sc_dt::uint64  orig_start_address,
sc_dt::uint64  new_start_address,
int  be_length,
uchar ie_data,
uchar ie_be,
uchar he_data,
uchar he_be 
)
inline

Definition at line 312 of file tlm_endian_conv.h.

◆ loop_word1()

template<class D , void COPY, void COPYuchar, void FILLFALSE, void FILLFALSEuchar>
int tlm::loop_word1 ( int  bytes_left,
int  len0,
int  lenN,
int  sizeof_databus,
uchar start,
uchar end,
uchar src,
uchar bsrc,
uchar dest,
uchar bdest 
)
inline

Definition at line 468 of file tlm_endian_conv.h.

◆ max_num_extensions()

SC_API unsigned int tlm::max_num_extensions ( )

◆ no_b1()

template<class D >
void tlm::no_b1 ( uchar dest1)
inline

Definition at line 461 of file tlm_endian_conv.h.

◆ operator<<()

std::ostream& tlm::operator<< ( std::ostream &  s,
const tlm_phase p 
)
inline

Definition at line 80 of file tlm_phase.h.

◆ tlm_copyright()

const char* tlm::tlm_copyright ( void  )
inline

Definition at line 172 of file tlm_version.h.

◆ tlm_copyright_string()

const std::string tlm::tlm_copyright_string ( TLM_COPYRIGHT  )

◆ tlm_from_hostendian()

void tlm::tlm_from_hostendian ( tlm_generic_payload txn)
inline

Definition at line 777 of file tlm_endian_conv.h.

◆ tlm_from_hostendian_aligned()

template<class DATAWORD >
void tlm::tlm_from_hostendian_aligned ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 668 of file tlm_endian_conv.h.

◆ tlm_from_hostendian_generic()

template<class DATAWORD >
void tlm::tlm_from_hostendian_generic ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 341 of file tlm_endian_conv.h.

◆ tlm_from_hostendian_single()

template<class DATAWORD >
void tlm::tlm_from_hostendian_single ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 753 of file tlm_endian_conv.h.

◆ tlm_from_hostendian_word()

template<class DATAWORD >
void tlm::tlm_from_hostendian_word ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 531 of file tlm_endian_conv.h.

◆ tlm_is_prerelease()

const bool tlm::tlm_is_prerelease ( TLM_IS_PRERELEASE  )

◆ tlm_release()

const char* tlm::tlm_release ( void  )
inline

Definition at line 156 of file tlm_version.h.

◆ tlm_to_hostendian_aligned()

template<class DATAWORD >
void tlm::tlm_to_hostendian_aligned ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 698 of file tlm_endian_conv.h.

◆ tlm_to_hostendian_generic()

template<class DATAWORD >
void tlm::tlm_to_hostendian_generic ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 355 of file tlm_endian_conv.h.

◆ tlm_to_hostendian_single()

template<class DATAWORD >
void tlm::tlm_to_hostendian_single ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 761 of file tlm_endian_conv.h.

◆ tlm_to_hostendian_word()

template<class DATAWORD >
void tlm::tlm_to_hostendian_word ( tlm_generic_payload txn,
unsigned int  sizeof_databus 
)
inline

Definition at line 562 of file tlm_endian_conv.h.

◆ tlm_version()

const char* tlm::tlm_version ( void  )
inline

Definition at line 164 of file tlm_version.h.

◆ tlm_version_major()

const unsigned int tlm::tlm_version_major ( TLM_VERSION_MAJOR  )

◆ tlm_version_minor()

const unsigned int tlm::tlm_version_minor ( TLM_VERSION_MINOR  )

◆ tlm_version_originator()

const std::string tlm::tlm_version_originator ( TLM_VERSION_ORIGINATOR  )

◆ tlm_version_patch()

const unsigned int tlm::tlm_version_patch ( TLM_VERSION_PATCH  )

◆ tlm_version_prerelease()

const std::string tlm::tlm_version_prerelease ( TLM_VERSION_PRERELEASE  )

◆ tlm_version_release_date()

const std::string tlm::tlm_version_release_date ( TLM_VERSION_STRING_RELEASE_DATE  )

◆ tlm_version_string()

const std::string tlm::tlm_version_string ( TLM_VERSION_STRING  )

◆ tlm_version_string_2()

const std::string tlm::tlm_version_string_2 ( TLM_VERSION_STRING_2  )

◆ true_b1()

template<class D >
void tlm::true_b1 ( uchar src1,
uchar src2,
uchar dest1,
uchar dest2 
)
inline

Definition at line 438 of file tlm_endian_conv.h.

Variable Documentation

◆ global_tlm_endian_context_pool

tlm_endian_context_pool tlm::global_tlm_endian_context_pool
static

Definition at line 164 of file tlm_endian_conv.h.

◆ tlm_array< tlm_extension_base *>