scc 2025.09
SystemC components library
ahb Namespace Reference

TLM2.0 components modeling AHB. More...

Namespaces

namespace  pe
 protocol engine implementations
namespace  pin
 pin level adapters

Classes

struct  enable_for_enum
struct  ahb_extension
struct  enable_for_enum< lock_e >
struct  enable_for_enum< resp_e >
struct  enable_for_enum< trans_e >
struct  enable_for_enum< burst_e >

Enumerations

enum class  lock_e : uint8_t { NORMAL = 0x0 , EXLUSIVE = 0x1 , LOCKED = 0x2 }
enum class  resp_e : uint8_t { OKAY = 0x0 , EXOKAY = 0x1 , SLVERR = 0x2 , DECERR = 0x3 }
enum class  trans_e : uint8_t { IDLE = 0x0 , BUSY = 0x1 , NONSEQ = 0x2 , SEQ = 0x3 }
enum class  burst_e : uint8_t {
  SINGLE = 0x0 , INCR = 0x1 , WRAP4 = 0x2 , INCR4 = 0x3 ,
  WRAP8 = 0x4 , INCR8 = 0x5 , WRAP16 = 0x6 , INCR16 = 0x7
}

Functions

template<>
const char * to_char< burst_e > (burst_e v)
template<>
const char * to_char< resp_e > (resp_e v)
std::ostream & operator<< (std::ostream &os, const tlm::tlm_generic_payload &t)
template<typename E>
into (typename std::underlying_type< E >::type t)
template<typename E, typename ULT = typename std::underlying_type<E>::type, typename X = typename std::enable_if<std::is_enum<E>::value && !std::is_convertible<E, ULT>::value, bool>::type>
constexpr ULT to_int (E t)
template<typename E>
const char * to_char (E t)
template<typename E, typename std::enable_if< enable_for_enum< E >::value, bool >::type>
std::ostream & operator<< (std::ostream &os, E e)

Detailed Description

TLM2.0 components modeling AHB.

Enumeration Type Documentation

◆ burst_e

enum class ahb::burst_e : uint8_t
strong

Definition at line 73 of file ahb_tlm.h.

◆ lock_e

enum class ahb::lock_e : uint8_t
strong

Definition at line 67 of file ahb_tlm.h.

◆ resp_e

enum class ahb::resp_e : uint8_t
strong

Definition at line 69 of file ahb_tlm.h.

◆ trans_e

enum class ahb::trans_e : uint8_t
strong

Definition at line 71 of file ahb_tlm.h.

Function Documentation

◆ into()

template<typename E>
E ahb::into ( typename std::underlying_type< E >::type t)
inline

helper function to convert integer into class enums

Parameters
t
Returns

◆ operator<<() [1/2]

std::ostream & ahb::operator<< ( std::ostream & os,
const tlm::tlm_generic_payload & t )

Definition at line 61 of file ahb_tlm.cpp.

◆ operator<<() [2/2]

template<typename E, typename std::enable_if< enable_for_enum< E >::value, bool >::type>
std::ostream & ahb::operator<< ( std::ostream & os,
E e )
inline
Parameters
os
e
Returns

Definition at line 60 of file ahb_tlm.h.

◆ to_char()

template<typename E>
const char * ahb::to_char ( E t)

helper function to convert class enums into char string

Parameters
t
Returns

◆ to_char< burst_e >()

template<>
const char * ahb::to_char< burst_e > ( burst_e v)

Definition at line 23 of file ahb_tlm.cpp.

◆ to_char< resp_e >()

template<>
const char * ahb::to_char< resp_e > ( resp_e v)

Definition at line 46 of file ahb_tlm.cpp.

◆ to_int()

template<typename E, typename ULT = typename std::underlying_type<E>::type, typename X = typename std::enable_if<std::is_enum<E>::value && !std::is_convertible<E, ULT>::value, bool>::type>
ULT ahb::to_int ( E t)
inlineconstexpr

helper function to convert class enums into integer

Parameters
t
Returns

Definition at line 44 of file ahb_tlm.h.