scc 2025.09
SystemC components library
tilelink Namespace Reference

SCV components for AXI/ACE. More...

Classes

struct  master_types
struct  slave_types
struct  signal_types
struct  select_if
struct  select_if< true, T, S >
struct  tl_cfg
struct  ch_a
 A channel signals. More...
struct  ch_b
 B channel signals. More...
struct  ch_c
 C channel signals. More...
struct  ch_d
 D channel signals. More...
struct  ch_e
 E channel signals. More...
struct  tl_ul
struct  tl_c
class  tlc_ext_recording
struct  enable_for_enum
struct  tl_protocol_types
 The AXI protocol traits class. Since the protocoll defines additional non-ignorable phases a dedicated protocol traits class has to be defined. More...
class  bw_blocking_transport_if
class  tlc_bw_transport_if
struct  tlu_initiator_socket
struct  tlu_target_socket
struct  tlc_initiator_socket
struct  tlc_target_socket
struct  enable_for_enum< opcode_e >

Typedefs

template<typename CFG, typename TYPES = master_types>
using tl_uh = tl_ul<CFG, TYPES>
using tl_payload = tlm::tlm_generic_payload
 aliases for payload and phase types
using tl_phase = tlm::tlm_phase
template<typename TYPES = tl_protocol_types>
using tlu_fw_transport_if = tlm::tlm_fw_transport_if<TYPES>
 alias declaration for the forward interface
template<typename TYPES = tl_protocol_types>
using tlu_bw_transport_if = tlm::tlm_bw_transport_if<TYPES>
 alias declaration for the backward interface:
template<typename TYPES = tl_protocol_types>
using tlc_fw_transport_if = tlm::tlm_fw_transport_if<TYPES>
 alias declaration for the ACE forward interface

Enumerations

enum class  opcode_e {
  Get = 0x184 , AccessAckData = 0x061 , PutFullData = 0x180 , PutPartialData = 0x181 ,
  AccessAck = 0x060 , ArithmeticData = 0x182 , LogicalData = 0x183 , Intent = 0x185 ,
  HintAck = 0x062 , AcquireBlock = 0x106 , AcquirePerm = 0x107 , Grant = 0x024 ,
  GrantData = 0x025 , GrantAck = 0x010 , ProbeBlock = 0x086 , ProbePerm = 0x087 ,
  ProbeAck = 0x044 , ProbeAckData = 0x045 , Release = 0x046 , ReleaseData = 0x047 ,
  ReleaseAck = 0x026 , ILLEGAL = 0xf
}
 opcodes of Tilelink.. The encode the opcode (opcode_e[2:0]) and the applicable channels (opcode_e[8] -> A ... opcode_e[4] -> E) More...
enum  param_e {
  CAP_2T = 0x0 , CAP_2B = 0x1 , CAP_2N = 0x2 , GROW_N2B = 0x10 ,
  GROW_N2T = 0x11 , GROW_B2T = 0x12 , PRUNE_T2B = 0x20 , PRUNE_T2N = 0x21 ,
  PRUNE_B2N = 0x22 , REP_T2T = 0x3 , REP_B2B = 0x4 , REP_N2N = 0x5
}

Functions

std::string concat (const char *prefix, const char *name)
template<>
const char * to_char< opcode_e > (opcode_e v)
template<>
const char * to_char< param_e > (param_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)
 DECLARE_EXTENDED_PHASE (ACK)

Variables

const sc_core::sc_time CLK_DELAY = 1_ps

Detailed Description

SCV components for AXI/ACE.

TLM2.0 components modeling APB.

Typedef Documentation

◆ tl_payload

using tilelink::tl_payload = tlm::tlm_generic_payload

aliases for payload and phase types

Definition at line 158 of file tl_tlm.h.

◆ tl_phase

using tilelink::tl_phase = tlm::tlm_phase

Definition at line 159 of file tl_tlm.h.

◆ tl_uh

template<typename CFG, typename TYPES = master_types>
using tilelink::tl_uh = tl_ul<CFG, TYPES>

Definition at line 285 of file signal_if.h.

◆ tlc_fw_transport_if

template<typename TYPES = tl_protocol_types>
using tilelink::tlc_fw_transport_if = tlm::tlm_fw_transport_if<TYPES>

alias declaration for the ACE forward interface

Definition at line 189 of file tl_tlm.h.

◆ tlu_bw_transport_if

template<typename TYPES = tl_protocol_types>
using tilelink::tlu_bw_transport_if = tlm::tlm_bw_transport_if<TYPES>

alias declaration for the backward interface:

Definition at line 187 of file tl_tlm.h.

◆ tlu_fw_transport_if

template<typename TYPES = tl_protocol_types>
using tilelink::tlu_fw_transport_if = tlm::tlm_fw_transport_if<TYPES>

alias declaration for the forward interface

Definition at line 185 of file tl_tlm.h.

Enumeration Type Documentation

◆ opcode_e

enum class tilelink::opcode_e
strong

opcodes of Tilelink.. The encode the opcode (opcode_e[2:0]) and the applicable channels (opcode_e[8] -> A ... opcode_e[4] -> E)

Definition at line 67 of file tl_tlm.h.

◆ param_e

enum tilelink::param_e

Definition at line 92 of file tl_tlm.h.

Function Documentation

◆ concat()

std::string tilelink::concat ( const char * prefix,
const char * name )
inline

Definition at line 94 of file signal_if.h.

◆ DECLARE_EXTENDED_PHASE()

tilelink::DECLARE_EXTENDED_PHASE ( ACK )

definition of the additional protocol phases

◆ into()

template<typename E>
E tilelink::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 & tilelink::operator<< ( std::ostream & os,
const tlm::tlm_generic_payload & t )

Definition at line 106 of file tl_tlm.cpp.

◆ operator<<() [2/2]

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

Definition at line 59 of file tl_tlm.h.

◆ to_char()

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

helper function to convert class enums into char string

Parameters
t
Returns

◆ to_char< opcode_e >()

template<>
const char * tilelink::to_char< opcode_e > ( opcode_e v)

Definition at line 26 of file tl_tlm.cpp.

◆ to_char< param_e >()

template<>
const char * tilelink::to_char< param_e > ( param_e v)

Definition at line 75 of file tl_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 tilelink::to_int ( E t)
inlineconstexpr

helper function to convert class enums into integer

Parameters
t
Returns

Definition at line 43 of file tl_tlm.h.

Variable Documentation

◆ CLK_DELAY

const sc_core::sc_time tilelink::CLK_DELAY = 1_ps

Definition at line 25 of file signal_if.h.