scc 2025.09
SystemC components library
scc Namespace Reference

SCC TLM utilities. More...

Namespaces

namespace  trace
 SCC SystemC tracing utilities.

Classes

class  ticking_clock
 The ticking_clock class is a mixin that provides ticking clock functionality. More...
class  tickless_clock
 The tickless_clock class is a mixin that provides tickless clock functionality. More...
struct  dmi_mgr
 The dmi_mgr class manages Direct Memory Interface (DMI) transactions. More...
struct  delay_spec_type
struct  delay_spec_type< true >
struct  delay_spec_type< false >
class  memory
 simple TLM2.0 LT memory model More...
struct  host_mem_map_extension
class  sc_register_indexed
class  sc_register_masked
struct  sc_register_mem
class  resetable
 base class for components having a reset More...
class  resource_access_if
 interface defining access to a resource e.g. a register More...
class  indexed_resource_access_if
 interface defining access to an indexed resource e.g. register file More...
class  router
 a TLM2.0 router for loosly-timed (LT) models More...
class  socket_width_adapter
 The socket_width_adapter class is a TLM (Transaction-Level Modeling) socket width adapter. More...
struct  addr_range
 struct representing address range More...
class  tlm_target
 a simple access-width based bus interface (no DMI support) More...
struct  target_memory_map_entry
struct  target_name_map_entry
struct  tlm_target_mod
struct  tlm_target_bfs_params
class  tlm_target_bfs_base
class  tlm_target_bfs
 Peripheral base class using scc::tlm_target. More...
class  abstract_bitfield
 Abstract baseclass for bitfield. More...
class  bitfield_register
 Register that can contain bitfields. More...
class  bitfield
class  tlm_target_bfs_register_base
struct  async_event
struct  async_source_if
struct  async_queue
struct  async_thread
class  cci_broker
struct  cci_param_restricted
 extension of cci_param<T, TM> which automatically registeres a callback to restrict the valid values given to the parameter. More...
class  configurable_tracer
 configurable tracer for automatic port and signal tracing More...
class  configurer
 design configuration reader More...
class  ext_attribute
 extended sc_attribute More...
class  fifo_w_cb
 fifo with callbacks More...
struct  fst_trace_file
class  hierarchy_dumper
 A SystemC module for dumping the hierarchy of objects in a specified format. More...
class  MT19937
 a mersenne-twister based random number generator More...
struct  observer
 The interface defining an observer. More...
class  ordered_semaphore
 The ordered_semaphore primitive channel class. More...
struct  ordered_semaphore_t
struct  peq
 priority event queue More...
class  perf_estimator
 a performance estimator More...
class  Logger
struct  python4sc
struct  LogConfig
 the configuration class for the logging setup More...
struct  ScLogger
 the logger class More...
class  stream_redirection
 stream redirector More...
class  sc_attribute_randomized
struct  sc_clock_ext
 A clock source with construction time configurable start delay. More...
class  sc_owning_signal
 sc_signal which takes ownership of the data (acquire()/release()) More...
class  sc_thread_pool
 A thread pool for executing tasks concurrently. More...
struct  sc_variable_b
struct  sc_variable
 SystemC variable. More...
struct  sc_variable< bool >
struct  sc_variable_vector
struct  sc_ref_variable
 the sc_ref_variable for a particular plain data type. This marks an existing C++ variable as discoverable via the sc_object tree. Whenever possible sc_variable should be used as this does not support value change callback. More...
struct  sc_ref_variable< sc_core::sc_event >
struct  sc_ref_variable_masked
 the sc_variable for a particular plain data type with limited bit width More...
class  sc_in_opt
 A template class for an optional input port with optimized binding. More...
class  sc_in_opt< bool >
class  sc_in_opt< sc_dt::sc_logic >
class  sc_inout_opt
 A template class for an optional input port with optimized binding. More...
class  sc_inout_opt< bool >
class  sc_inout_opt< sc_dt::sc_logic >
class  sc_out_opt
 A template class for an optional input port with optimized binding. More...
struct  tick2time
struct  time2tick
 translate a tick-less clock (sc_time based) to boolean clock More...
class  traceable
 interface defining a traceable component More...
class  tracer
 a component traversing the SystemC object hierarchy and tracing the objects More...
struct  ForLoop
struct  ForLoop< 1 >
struct  sc_uint_tester
struct  sc_int_tester
struct  sc_biguint_tester
struct  sc_bigint_tester
struct  sc_bv_tester
struct  sc_lv_tester
class  tracer_base
 base class for automatic tracer More...
struct  vcd_mt_trace_file
struct  vcd_pull_trace_file
struct  vcd_push_trace_file

Typedefs

template<unsigned long long SIZE, unsigned BUSWIDTH = LT, unsigned PAGE_ADDR_BITS = 24>
using memory_tl = tickless_clock<memory<SIZE, BUSWIDTH, PAGE_ADDR_BITS, false>>
template<unsigned long long SIZE, unsigned BUSWIDTH = LT, unsigned PAGE_ADDR_BITS = 24>
using memory_tc = ticking_clock<memory<SIZE, BUSWIDTH, PAGE_ADDR_BITS, true>>
template<typename DATATYPE>
using sc_register = impl::sc_register<typename impl::helper<DATATYPE>::Type>
 import the implementation into the scc namespace
typedef struct scc::tlm_target_bfs_params tlm_target_bfs_params_t
using writer_type = PrettyWriter<OStreamWrapper>
using sc_trace_file = sc_core::sc_trace_file
using sc_object = sc_core::sc_object

Enumerations

enum  dmi_status {
  ERROR = 0 , OK = 1 , DMI_RD = 2 , DMI_WR = 4 ,
  DMI_ALL = 6
}
 The dmi_status enum represents the status of DMI transactions. More...
enum class  log {
  NONE , FATAL , ERROR , WARNING ,
  INFO , DEBUG , TRACE , TRACEALL ,
  DBGTRACE = TRACEALL
}
 enum defining the log levels More...
enum class  trace_types : unsigned {
  NONE = 0x0 , SIGNALS = 0x1 , PORTS = 0x2 , SOCKETS = 0x4 ,
  VARIABLES = 0x8 , ALL = 0xff
}
 identifies the various type to be traced More...
enum  { LT = 0 }

Functions

dmi_status operator|= (dmi_status s1, dmi_status s2)
template<unsigned long long SIZE, unsigned BUSWIDTH = LT>
int handle_operation (memory< SIZE, BUSWIDTH > &, tlm::tlm_generic_payload &, sc_core::sc_time &delay)
bool init_cci (std::string name)
template<typename T>
_min_max_restriction< T > min_max_restriction (T min, T max)
 creates a min/max restriction with including the limits
template<typename T>
_min_max_restriction< T > gte_lte_restriction (T min, T max)
 alias for min_max_restriction(T min, T max)
template<typename T>
_min_max_excl_restriction< T > min_max_excl_restriction (T min, T max)
 creates a min/max restriction with excluding the limits
template<typename T>
_min_max_excl_restriction< T > gt_lt_restriction (T min, T max)
 alias for min_max_excl_restriction(T min, T max)
template<typename T>
_min_restriction< T > min_restriction (T min)
 creates a minimum restriction including the minimum value
template<typename T>
_min_restriction< T > gte_restriction (T min)
 alias for min_restriction(T min)
template<typename T>
_min_excl_restriction< T > min_excl_restriction (T min)
 creates a minimum restriction excluding the minimum value
template<typename T>
_min_excl_restriction< T > gt_restriction (T min)
 alias for min_excl_restriction(T min)
template<typename T>
_max_restriction< T > max_restriction (T max)
 creates a maximum restriction including the maximum value
template<typename T>
_max_restriction< T > lte_restriction (T max)
 alias for max_restriction(T max)
template<typename T>
_max_excl_restriction< T > max_excl_restriction (T max)
 creates a maximum restriction excluding the maximum value
template<typename T>
_max_excl_restriction< T > lt_excl_restriction (T max)
 alias for max_excl_restriction(T max)
template<typename T>
_discrete_restriction< T > discrete_restriction (std::initializer_list< T > values)
 creates a restriction for a discrete values set
template<typename T, size_t SZ>
_discrete_restriction< T > discrete_restriction (std::array< T, SZ > values)
 creates a restriction for a discrete values set
template<typename T>
_discrete_restriction< T > discrete_restriction (std::vector< T > values)
 creates a restriction for a discrete values set
std::string hier_name_as_regex (std::string const &parname)
auto get_value_from_hierarchy (const std::string &hier_name, Value const &value) -> Value const &
template<typename T, typename OT = T>
bool changed (trace::fst_trace *trace)
sc_core::sc_trace_file * create_fst_trace_file (const char *name, std::function< bool()> enable=std::function< bool()>())
 create FST file which uses pull mechanism
void close_fst_trace_file (sc_core::sc_trace_file *tf)
 close the FST file
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_signal_in_if< T > &object, const char *name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_signal_in_if< T > &object, const std::string &name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_in< T > &port, char const *name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_in< T > &port, const std::string &name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_inout< T > &port, char const *name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_core::sc_inout< T > &port, const std::string &name)
 SC_HAS_PROCESS (perf_estimator)
void wait (int value, std::string const &unit)
log as_log (int logLevel)
 safely convert an integer into a log level
std::istream & operator>> (std::istream &is, log &val)
 read a log level from input stream e.g. used by boost::lexical_cast
std::ostream & operator<< (std::ostream &os, log const &val)
 output the textual representation of the log level
void init_logging (log level=log::WARNING, unsigned type_field_width=24, bool print_time=false)
 initializes the SystemC logging system with a particular logging level
void reinit_logging ()
void reinit_logging (log level)
void init_logging (const LogConfig &log_config)
 initializes the SystemC logging system with a particular configuration
bool is_logging_initialized ()
 get the state of the SCC logging system
void set_logging_level (log level)
 sets the SystemC logging level
log get_logging_level ()
 get the SystemC logging level
void set_cycle_base (sc_core::sc_time period)
 sets the cycle base for cycle based logging
sc_core::sc_verbosity get_log_verbosity ()
 get the global verbosity level
sc_core::sc_verbosity get_log_verbosity (char const *t)
 get the scope-based verbosity level
sc_core::sc_verbosity get_log_verbosity (std::string const &t)
template<typename T>
operator+ (sc_variable< T > const &a, sc_variable< T > const &b)
template<typename T>
operator- (sc_variable< T > const &a, sc_variable< T > const &b)
template<typename T>
operator* (sc_variable< T > const &a, sc_variable< T > const &b)
template<typename T>
operator/ (sc_variable< T > const &a, sc_variable< T > const &b)
template<typename T>
operator+ (T const &a, sc_variable< T > const &b)
template<typename T>
operator- (T const &a, sc_variable< T > const &b)
template<typename T>
operator* (T const &a, sc_variable< T > const &b)
template<typename T>
operator/ (T const &a, sc_variable< T > const &b)
sc_core::sc_trace_file * scc_create_vcd_trace_file (const char *name, std::function< bool()> enable=std::function< bool()>())
 keep backward compatibility
void scc_close_vcd_trace_file (sc_core::sc_trace_file *tf)
template<typename T>
::std::ostream & operator<< (::std::ostream &os, const sc_in_opt< T > &a)
template<typename T>
::std::ostream & operator<< (::std::ostream &os, const sc_inout_opt< T > &a)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_in_opt< T > &port, const std::string &name)
template<class T>
void sc_trace (sc_core::sc_trace_file *tf, const sc_inout_opt< T > &port, const std::string &name)
sc_core::sc_trace_file * create_vcd_pull_trace_file (const char *name, std::function< bool()> enable=std::function< bool()>())
 create VCD file which uses pull mechanism
void close_vcd_pull_trace_file (sc_core::sc_trace_file *tf)
 close the VCD file
sc_core::sc_trace_file * create_vcd_push_trace_file (const char *name, std::function< bool()> enable=std::function< bool()>())
 create VCD file which uses push mechanism
void close_vcd_push_trace_file (sc_core::sc_trace_file *tf)
 close the VCD file
sc_core::sc_trace_file * create_vcd_mt_trace_file (const char *name, std::function< bool()> enable=std::function< bool()>())
 create compressed VCD file which uses push mechanism and multithreading
void close_vcd_mt_trace_file (sc_core::sc_trace_file *tf)
 close the VCD file
template<typename T>
auto try_trace_obj (sc_trace_file *trace_file, const sc_object *object, trace_types types_to_trace) -> bool
trace_types operator| (trace_types lhs, trace_types rhs)
 operator overload to allow boolean or operations on trace_types
trace_types operator& (trace_types lhs, trace_types rhs)
 operator overload to allow boolean and operations on trace_types
template<typename T, typename... Args>
std::unique_ptr< T > make_unique (Args &&... args)
char * legalize_name (char *const name)
std::string legalize_name (std::string const &name)
bool icompare (std::string const &a, std::string const &b)
sc_core::sc_time parse_from_string (std::string value, std::string unit) noexcept
sc_core::sc_time parse_from_string (std::string value) noexcept
sc_core::sc_time time_to_next_posedge (sc_core::sc_clock const *clk)
unsigned ilog2 (uint32_t val)
template<typename T>
get_value (sc_core::sc_attribute< T > &a)
template<typename T>
void set_value (sc_core::sc_attribute< T > &a, T &&value)
template<typename T>
get_value (cci::cci_param_typed< T > &a)
template<typename T>
void set_value (cci::cci_param_typed< T > &a, T &&value)
template<typename T, typename OT = T>
bool changed (trace::vcd_trace *trace)
void record_changes (FILE *vcd_out, std::vector< trace::vcd_trace * > const &changed, std::vector< trace::vcd_trace * > const &triggered)

Variables

std::mutex verbosity_mtx
 a mutex needed to syncronize verbosity manipulations

Detailed Description

SCC TLM utilities.

SCC SystemC utilities.

Typedef Documentation

◆ memory_tc

template<unsigned long long SIZE, unsigned BUSWIDTH = LT, unsigned PAGE_ADDR_BITS = 24>
using scc::memory_tc = ticking_clock<memory<SIZE, BUSWIDTH, PAGE_ADDR_BITS, true>>

Definition at line 178 of file memory.h.

◆ memory_tl

template<unsigned long long SIZE, unsigned BUSWIDTH = LT, unsigned PAGE_ADDR_BITS = 24>
using scc::memory_tl = tickless_clock<memory<SIZE, BUSWIDTH, PAGE_ADDR_BITS, false>>

Definition at line 176 of file memory.h.

◆ sc_object

using scc::sc_object = sc_core::sc_object

Definition at line 31 of file tracer_base.cpp.

◆ sc_register

template<typename DATATYPE>
using scc::sc_register = impl::sc_register<typename impl::helper<DATATYPE>::Type>

import the implementation into the scc namespace

Definition at line 338 of file register.h.

◆ sc_trace_file

using scc::sc_trace_file = sc_core::sc_trace_file

Definition at line 30 of file tracer_base.cpp.

◆ writer_type

typedef PrettyWriter< OStreamWrapper > scc::writer_type = PrettyWriter<OStreamWrapper>

Definition at line 31 of file configurer_nocci.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 187 of file utilities.h.

◆ dmi_status

The dmi_status enum represents the status of DMI transactions.

The dmi_status enum is used to indicate the success or failure of DMI read and write operations. It provides a clear and concise way to communicate the status of the transactions.

Note
The dmi_status enum is a part of the SystemC Component (SCC) library.

Definition at line 36 of file dmi_mgr.h.

◆ log

enum class scc::log
strong

enum defining the log levels

Definition at line 86 of file report.h.

◆ trace_types

enum class scc::trace_types : unsigned
strong

identifies the various type to be traced

Enumerator
NONE 

NONE

SIGNALS 

SIGNALS

PORTS 

PORTS

SOCKETS 

SOCKETS

VARIABLES 

VARIABLES

ALL 

ALL

Definition at line 36 of file tracer_base.h.

Function Documentation

◆ as_log()

log scc::as_log ( int logLevel)
inline

safely convert an integer into a log level

Parameters
logLevelthe logging level
Returns
the log level

Definition at line 101 of file report.h.

◆ changed() [1/2]

template<typename T, typename OT = T>
bool scc::changed ( trace::fst_trace * trace)

Definition at line 259 of file fst_trace.cpp.

◆ changed() [2/2]

template<typename T, typename OT = T>
bool scc::changed ( trace::vcd_trace * trace)

Definition at line 65 of file vcd_mt_trace.cpp.

◆ close_fst_trace_file()

void scc::close_fst_trace_file ( sc_core::sc_trace_file * tf)

close the FST file

Definition at line 496 of file fst_trace.cpp.

◆ close_vcd_mt_trace_file()

void scc::close_vcd_mt_trace_file ( sc_core::sc_trace_file * tf)

close the VCD file

Definition at line 329 of file vcd_mt_trace.cpp.

◆ close_vcd_pull_trace_file()

void scc::close_vcd_pull_trace_file ( sc_core::sc_trace_file * tf)

close the VCD file

Definition at line 261 of file vcd_pull_trace.cpp.

◆ close_vcd_push_trace_file()

void scc::close_vcd_push_trace_file ( sc_core::sc_trace_file * tf)

close the VCD file

Definition at line 337 of file vcd_push_trace.cpp.

◆ create_fst_trace_file()

sc_core::sc_trace_file * scc::create_fst_trace_file ( const char * name,
std::function< bool()> enable )

create FST file which uses pull mechanism

Definition at line 494 of file fst_trace.cpp.

◆ create_vcd_mt_trace_file()

sc_core::sc_trace_file * scc::create_vcd_mt_trace_file ( const char * name,
std::function< bool()> enable = std::function<bool()>() )

create compressed VCD file which uses push mechanism and multithreading

Definition at line 325 of file vcd_mt_trace.cpp.

◆ create_vcd_pull_trace_file()

sc_core::sc_trace_file * scc::create_vcd_pull_trace_file ( const char * name,
std::function< bool()> enable = std::function<bool()>() )

create VCD file which uses pull mechanism

Definition at line 257 of file vcd_pull_trace.cpp.

◆ create_vcd_push_trace_file()

sc_core::sc_trace_file * scc::create_vcd_push_trace_file ( const char * name,
std::function< bool()> enable = std::function<bool()>() )

create VCD file which uses push mechanism

Definition at line 333 of file vcd_push_trace.cpp.

◆ discrete_restriction() [1/3]

template<typename T, size_t SZ>
_discrete_restriction< T > scc::discrete_restriction ( std::array< T, SZ > values)
inline

creates a restriction for a discrete values set

Template Parameters
Tthe type of the value the restricion applies
SZsize of the array
Parameters
valuesthe set of allowed values
Returns
_discrete_restriction<T>

Definition at line 167 of file cci_param_restricted.h.

◆ discrete_restriction() [2/3]

template<typename T>
_discrete_restriction< T > scc::discrete_restriction ( std::initializer_list< T > values)
inline

creates a restriction for a discrete values set

Template Parameters
Tthe type of the value the restricion applies
Parameters
valuesthe set of allowed values
Returns
_discrete_restriction<T>

Definition at line 156 of file cci_param_restricted.h.

◆ discrete_restriction() [3/3]

template<typename T>
_discrete_restriction< T > scc::discrete_restriction ( std::vector< T > values)
inline

creates a restriction for a discrete values set

Template Parameters
Tthe type of the value the restricion applies
Parameters
valuesthe set of allowed values
Returns
_discrete_restriction<T>

Definition at line 177 of file cci_param_restricted.h.

◆ get_log_verbosity() [1/3]

sc_core::sc_verbosity scc::get_log_verbosity ( )
inline

get the global verbosity level

Returns
the global verbosity level

Definition at line 324 of file report.h.

◆ get_log_verbosity() [2/3]

sc_core::sc_verbosity scc::get_log_verbosity ( char const * t)

get the scope-based verbosity level

The function returns a scope specific verbosity level if defined (e.g. by using a CCI param named "log_level"). Otherwise the global verbosity level is being returned

Parameters
tthe SystemC hierarchy scope name
Returns
the verbosity level

◆ get_log_verbosity() [3/3]

sc_core::sc_verbosity scc::get_log_verbosity ( std::string const & t)
inline

Definition at line 348 of file report.h.

◆ get_logging_level()

auto scc::get_logging_level ( )

get the SystemC logging level

Returns
the logging level

Definition at line 524 of file report.cpp.

◆ get_value() [1/2]

template<typename T>
T scc::get_value ( cci::cci_param_typed< T > & a)
inline

Definition at line 317 of file utilities.h.

◆ get_value() [2/2]

template<typename T>
T scc::get_value ( sc_core::sc_attribute< T > & a)
inline

Definition at line 313 of file utilities.h.

◆ get_value_from_hierarchy()

auto scc::get_value_from_hierarchy ( const std::string & hier_name,
Value const & value )->Valueconst &

Definition at line 254 of file configurer_nocci.cpp.

◆ gt_lt_restriction()

template<typename T>
_min_max_excl_restriction< T > scc::gt_lt_restriction ( T min,
T max )
inline

alias for min_max_excl_restriction(T min, T max)

Definition at line 108 of file cci_param_restricted.h.

◆ gt_restriction()

template<typename T>
_min_excl_restriction< T > scc::gt_restriction ( T min)
inline

alias for min_excl_restriction(T min)

Definition at line 128 of file cci_param_restricted.h.

◆ gte_lte_restriction()

template<typename T>
_min_max_restriction< T > scc::gte_lte_restriction ( T min,
T max )
inline

alias for min_max_restriction(T min, T max)

Definition at line 95 of file cci_param_restricted.h.

◆ gte_restriction()

template<typename T>
_min_restriction< T > scc::gte_restriction ( T min)
inline

alias for min_restriction(T min)

Definition at line 118 of file cci_param_restricted.h.

◆ hier_name_as_regex()

std::string scc::hier_name_as_regex ( std::string const & parname)
inline

Definition at line 733 of file configurer.cpp.

◆ icompare()

bool scc::icompare ( std::string const & a,
std::string const & b )
inline

case-insensitive string compare

Parameters
astring a
bstring b
Returns
result of std::equal

Definition at line 214 of file utilities.h.

◆ ilog2()

unsigned scc::ilog2 ( uint32_t val)
inline

Definition at line 294 of file utilities.h.

◆ init_cci()

bool scc::init_cci ( std::string name)

Definition at line 188 of file cci_broker.cpp.

◆ init_logging() [1/2]

void scc::init_logging ( const LogConfig & log_config)

initializes the SystemC logging system with a particular configuration

Parameters
log_configthe logging configuration

Definition at line 510 of file report.cpp.

◆ init_logging() [2/2]

void scc::init_logging ( scc::log level = log::WARNING,
unsigned type_field_width = 24,
bool print_time = false )

initializes the SystemC logging system with a particular logging level

Parameters
levelthe log level
type_field_widththe with of the type field in the output
print_timewhether to print the system time stamp

Definition at line 502 of file report.cpp.

◆ is_logging_initialized()

bool scc::is_logging_initialized ( )

get the state of the SCC logging system

Returns
true if the logging system has been initialized

Definition at line 500 of file report.cpp.

◆ legalize_name() [1/2]

char * scc::legalize_name ( char *const name)
inline

Definition at line 189 of file utilities.h.

◆ legalize_name() [2/2]

std::string scc::legalize_name ( std::string const & name)
inline

Definition at line 200 of file utilities.h.

◆ lt_excl_restriction()

template<typename T>
_max_excl_restriction< T > scc::lt_excl_restriction ( T max)
inline

alias for max_excl_restriction(T max)

Definition at line 148 of file cci_param_restricted.h.

◆ lte_restriction()

template<typename T>
_max_restriction< T > scc::lte_restriction ( T max)
inline

alias for max_restriction(T max)

Definition at line 138 of file cci_param_restricted.h.

◆ make_unique()

template<typename T, typename... Args>
std::unique_ptr< T > scc::make_unique ( Args &&... args)

Definition at line 44 of file utilities.h.

◆ max_excl_restriction()

template<typename T>
_max_excl_restriction< T > scc::max_excl_restriction ( T max)
inline

creates a maximum restriction excluding the maximum value

Template Parameters
Tthe type of the value the restricion applies
Parameters
maxthe upper bound
Returns
_max_excl_restriction<T>

Definition at line 146 of file cci_param_restricted.h.

◆ max_restriction()

template<typename T>
_max_restriction< T > scc::max_restriction ( T max)
inline

creates a maximum restriction including the maximum value

Template Parameters
Tthe type of the value the restricion applies
Parameters
maxthe upper bound
Returns
_max_restriction<T>

Definition at line 136 of file cci_param_restricted.h.

◆ min_excl_restriction()

template<typename T>
_min_excl_restriction< T > scc::min_excl_restriction ( T min)
inline

creates a minimum restriction excluding the minimum value

Template Parameters
Tthe type of the value the restricion applies
Parameters
minthe lower bound
Returns
_min_excl_restriction<T>

Definition at line 126 of file cci_param_restricted.h.

◆ min_max_excl_restriction()

template<typename T>
_min_max_excl_restriction< T > scc::min_max_excl_restriction ( T min,
T max )
inline

creates a min/max restriction with excluding the limits

Template Parameters
Tthe type of the value the restricion applies
Parameters
minthe lower bound
maxthe upper bound
Returns
_min_max_excl_restriction<T> instance of the restriction functor

Definition at line 104 of file cci_param_restricted.h.

◆ min_max_restriction()

template<typename T>
_min_max_restriction< T > scc::min_max_restriction ( T min,
T max )
inline

creates a min/max restriction with including the limits

Template Parameters
Tthe type of the value the restricion applies
Parameters
minthe lower bound
maxthe upper bound
Returns
_min_max_restriction<T> instance of the restriction functor

Definition at line 93 of file cci_param_restricted.h.

◆ min_restriction()

template<typename T>
_min_restriction< T > scc::min_restriction ( T min)
inline

creates a minimum restriction including the minimum value

Template Parameters
Tthe type of the value the restricion applies
Parameters
minthe lower bound
Returns
_min_restriction<T>

Definition at line 116 of file cci_param_restricted.h.

◆ operator&()

trace_types scc::operator& ( trace_types lhs,
trace_types rhs )
inline

operator overload to allow boolean and operations on trace_types

Parameters
lhsleft hand side
rhsright hand side
Returns
result

Definition at line 63 of file tracer_base.h.

◆ operator*() [1/2]

template<typename T>
T scc::operator* ( sc_variable< T > const & a,
sc_variable< T > const & b )

Definition at line 297 of file sc_variable.h.

◆ operator*() [2/2]

template<typename T>
T scc::operator* ( T const & a,
sc_variable< T > const & b )

Definition at line 301 of file sc_variable.h.

◆ operator+() [1/2]

template<typename T>
T scc::operator+ ( sc_variable< T > const & a,
sc_variable< T > const & b )

Definition at line 295 of file sc_variable.h.

◆ operator+() [2/2]

template<typename T>
T scc::operator+ ( T const & a,
sc_variable< T > const & b )

Definition at line 299 of file sc_variable.h.

◆ operator-() [1/2]

template<typename T>
T scc::operator- ( sc_variable< T > const & a,
sc_variable< T > const & b )

Definition at line 296 of file sc_variable.h.

◆ operator-() [2/2]

template<typename T>
T scc::operator- ( T const & a,
sc_variable< T > const & b )

Definition at line 300 of file sc_variable.h.

◆ operator/() [1/2]

template<typename T>
T scc::operator/ ( sc_variable< T > const & a,
sc_variable< T > const & b )

Definition at line 298 of file sc_variable.h.

◆ operator/() [2/2]

template<typename T>
T scc::operator/ ( T const & a,
sc_variable< T > const & b )

Definition at line 302 of file sc_variable.h.

◆ operator<<() [1/3]

template<typename T>
::std::ostream & scc::operator<< ( ::std::ostream & os,
const sc_in_opt< T > & a )

Definition at line 135 of file signal_opt_ports.h.

◆ operator<<() [2/3]

template<typename T>
::std::ostream & scc::operator<< ( ::std::ostream & os,
const sc_inout_opt< T > & a )

Definition at line 434 of file signal_opt_ports.h.

◆ operator<<() [3/3]

std::ostream & scc::operator<< ( std::ostream & os,
log const & val )
inline

output the textual representation of the log level

Parameters
osoutput stream
vallogging level
Returns
reference to the stream for chaining

Definition at line 131 of file report.h.

◆ operator>>()

std::istream & scc::operator>> ( std::istream & is,
log & val )
inline

read a log level from input stream e.g. used by boost::lexical_cast

Parameters
isinput stream holding the string representation
valthe value holding the resulting value
Returns
the input stream

Definition at line 114 of file report.h.

◆ operator|()

trace_types scc::operator| ( trace_types lhs,
trace_types rhs )
inline

operator overload to allow boolean or operations on trace_types

Parameters
lhsleft hand side
rhsright hand side
Returns
result

Definition at line 52 of file tracer_base.h.

◆ operator|=()

dmi_status scc::operator|= ( dmi_status s1,
dmi_status s2 )
inline

Definition at line 37 of file dmi_mgr.h.

◆ parse_from_string() [1/2]

sc_core::sc_time scc::parse_from_string ( std::string value)
inlinenoexcept

parse a time value from a given string

Parameters
valuethe string to parse
Returns
the parsed sc_core::sc_time value

Definition at line 254 of file utilities.h.

◆ parse_from_string() [2/2]

sc_core::sc_time scc::parse_from_string ( std::string value,
std::string unit )
inlinenoexcept

parse a time value from given strings

Parameters
valuethe string to parse
unitthe unit string
Returns
the parsed sc_core::sc_time value

Definition at line 229 of file utilities.h.

◆ record_changes()

void scc::record_changes ( FILE * vcd_out,
std::vector< trace::vcd_trace * > const & changed,
std::vector< trace::vcd_trace * > const & triggered )

Definition at line 280 of file vcd_mt_trace.cpp.

◆ reinit_logging() [1/2]

void scc::reinit_logging ( )

Definition at line 488 of file report.cpp.

◆ reinit_logging() [2/2]

void scc::reinit_logging ( scc::log level)

Definition at line 490 of file report.cpp.

◆ sc_trace() [1/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_in< T > & port,
char const * name )
inline

Definition at line 156 of file observer.h.

◆ sc_trace() [2/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_in< T > & port,
const std::string & name )
inline

Definition at line 179 of file observer.h.

◆ sc_trace() [3/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_inout< T > & port,
char const * name )
inline

Definition at line 183 of file observer.h.

◆ sc_trace() [4/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_inout< T > & port,
const std::string & name )
inline

Definition at line 206 of file observer.h.

◆ sc_trace() [5/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_signal_in_if< T > & object,
const char * name )
inline

Definition at line 135 of file observer.h.

◆ sc_trace() [6/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_core::sc_signal_in_if< T > & object,
const std::string & name )
inline

Definition at line 152 of file observer.h.

◆ sc_trace() [7/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_in_opt< T > & port,
const std::string & name )
inline

Definition at line 775 of file signal_opt_ports.h.

◆ sc_trace() [8/8]

template<class T>
void scc::sc_trace ( sc_core::sc_trace_file * tf,
const sc_inout_opt< T > & port,
const std::string & name )
inline

Definition at line 786 of file signal_opt_ports.h.

◆ scc_close_vcd_trace_file()

void scc::scc_close_vcd_trace_file ( sc_core::sc_trace_file * tf)
inline

Definition at line 32 of file sc_vcd_trace.h.

◆ scc_create_vcd_trace_file()

sc_core::sc_trace_file * scc::scc_create_vcd_trace_file ( const char * name,
std::function< bool()> enable = std::function<bool()>() )
inline

keep backward compatibility

Definition at line 29 of file sc_vcd_trace.h.

◆ set_cycle_base()

void scc::set_cycle_base ( sc_core::sc_time period)

sets the cycle base for cycle based logging

if this is set to a non-SC_ZERO_TIME value all logging timestamps are printed as cyles (multiple of this value)

Parameters
periodthe cycle period

◆ set_logging_level()

void scc::set_logging_level ( scc::log level)

sets the SystemC logging level

Parameters
levelthe logging level

Definition at line 516 of file report.cpp.

◆ set_value() [1/2]

template<typename T>
void scc::set_value ( cci::cci_param_typed< T > & a,
T && value )
inline

Definition at line 319 of file utilities.h.

◆ set_value() [2/2]

template<typename T>
void scc::set_value ( sc_core::sc_attribute< T > & a,
T && value )
inline

Definition at line 315 of file utilities.h.

◆ time_to_next_posedge()

sc_core::sc_time scc::time_to_next_posedge ( sc_core::sc_clock const * clk)
inline

Definition at line 275 of file utilities.h.

◆ try_trace_obj()

template<typename T>
auto scc::try_trace_obj ( sc_trace_file * trace_file,
const sc_object * object,
trace_types types_to_trace )->bool
inline

Definition at line 33 of file tracer_base.cpp.

◆ wait()

void scc::wait ( int value,
std::string const & unit )

Definition at line 40 of file python4sc.cpp.

Variable Documentation

◆ verbosity_mtx

std::mutex scc::verbosity_mtx

a mutex needed to syncronize verbosity manipulations

Definition at line 326 of file report.cpp.