scc 2025.09
SystemC components library
scc::dmi_mgr< TYPES > Struct Template Reference

The dmi_mgr class manages Direct Memory Interface (DMI) transactions. More...

#include <dmi_mgr.h>

Inheritance diagram for scc::dmi_mgr< TYPES >:
Collaboration diagram for scc::dmi_mgr< TYPES >:

Public Member Functions

 dmi_mgr (std::string const &name, sc_core::sc_port_b< tlm::tlm_fw_transport_if< TYPES > > &fw_if)
 Constructor for the dmi_mgr class.
virtual ~dmi_mgr ()=default
 Virtual destructor for the dmi_mgr class.
dmi_status read (uint64_t addr, unsigned length, uint8_t *const data)
 Performs a read operation on the DMI interface.
dmi_status write (uint64_t addr, unsigned length, const uint8_t *const data)
 Performs a write operation on the DMI interface.

Public Attributes

cci::cci_param< bool > disable_dmi {"disable_dmi", false}
 A CCI parameter to disable DMI transactions.
cci::cci_param< sc_core::sc_time > clk_period {"clk_period", sc_core::SC_ZERO_TIME}
 A CCI parameter to specify the clock period for delay calculations.

Detailed Description

template<typename TYPES = tlm::tlm_base_protocol_types>
struct scc::dmi_mgr< TYPES >

The dmi_mgr class manages Direct Memory Interface (DMI) transactions.

The dmi_mgr class is a template class that provides DMI management functionality. It interacts with the TLM (Transaction Level Modeling) framework to handle DMI transactions.

Template Parameters
TYPESThe TLM protocol types.
Note
The dmi_mgr class is a part of the SystemC Component (SCC) library.

Definition at line 48 of file dmi_mgr.h.

Constructor & Destructor Documentation

◆ dmi_mgr()

template<typename TYPES = tlm::tlm_base_protocol_types>
scc::dmi_mgr< TYPES >::dmi_mgr ( std::string const & name,
sc_core::sc_port_b< tlm::tlm_fw_transport_if< TYPES > > & fw_if )
inline

Constructor for the dmi_mgr class.

Parameters
nameThe name of the dmi_mgr instance.
fw_ifThe TLM (Transaction Level Modeling) forward transport interface.

Definition at line 70 of file dmi_mgr.h.

Member Function Documentation

◆ read()

template<typename TYPES = tlm::tlm_base_protocol_types>
dmi_status scc::dmi_mgr< TYPES >::read ( uint64_t addr,
unsigned length,
uint8_t *const data )
inline

Performs a read operation on the DMI interface.

Parameters
addrThe address to read from.
lengthThe length of the data to read.
dataA pointer to the buffer where the read data will be stored.
Returns
The status of the read operation.

Definition at line 86 of file dmi_mgr.h.

◆ write()

template<typename TYPES = tlm::tlm_base_protocol_types>
dmi_status scc::dmi_mgr< TYPES >::write ( uint64_t addr,
unsigned length,
const uint8_t *const data )
inline

Performs a write operation on the DMI interface.

Parameters
addrThe address to write to.
lengthThe length of the data to write.
dataA pointer to the buffer containing the data to write.
Returns
The status of the write operation.

Definition at line 147 of file dmi_mgr.h.

Member Data Documentation

◆ clk_period

template<typename TYPES = tlm::tlm_base_protocol_types>
cci::cci_param<sc_core::sc_time> scc::dmi_mgr< TYPES >::clk_period {"clk_period", sc_core::SC_ZERO_TIME}

A CCI parameter to specify the clock period for delay calculations.

This parameter allows the user to set the clock period for the DMI transactions. By default, the clock period is set to SC_ZERO_TIME.

Definition at line 62 of file dmi_mgr.h.

◆ disable_dmi

template<typename TYPES = tlm::tlm_base_protocol_types>
cci::cci_param<bool> scc::dmi_mgr< TYPES >::disable_dmi {"disable_dmi", false}

A CCI parameter to disable DMI transactions.

This parameter allows the user to disable DMI transactions if needed. By default, DMI transactions are enabled.

Definition at line 55 of file dmi_mgr.h.


The documentation for this struct was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/components/scc/dmi_mgr.h