Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Files | Classes | Functions
Utils

Files

file  ahbdevice.h
 
file  ahbdevicebase.h
 
file  ahbmaster.h
 
file  ahbslave.h
 
file  apbdevice.h
 
file  apbdevicebase.h
 
file  clkdevice.cpp
 
file  clkdevice.h
 
file  memdevice.cpp
 
file  memdevice.h
 
file  strace.cpp
 

Classes

class  AHBDevice< BASE >
 This class is a base class for grlib models. It implements the device plug and play informations. Together with the AHBCtrl class it implements the plug and play feature of the grlib. More...
 
class  AHBDeviceBase
 
class  AHBMaster< BASE >
 
class  AHBSlave< BASE >
 
class  APBDevice< BASE >
 This class is a base class for grlib models. It implements the device plug and play informations. Together with the APBBridge class it implements the plug and play feature of the grlib. More...
 
class  APBDeviceBase
 
class  CLKDevice
 
class  MEMDevice
 This class is a base class for memory models. It implements the device plug and play informations. More...
 

Functions

void terminate_handler1 ()
 
void unexpected_handler1 ()
 
 CLKDevice::CLKDevice ()
 
virtual CLKDevice::~CLKDevice ()
 
virtual void CLKDevice::onrst (const bool &value, const sc_core::sc_time &time)
 
virtual void CLKDevice::onclk (const sc_core::sc_time &value, const sc_core::sc_time &time)
 
void CLKDevice::set_clk (sc_core::sc_clock &clk)
 
void CLKDevice::set_clk (sc_core::sc_time period)
 
void CLKDevice::set_clk (double period, sc_core::sc_time_unit base)
 
virtual void CLKDevice::dorst ()
 
 MEMDevice::MEMDevice (sc_module_name name, device_type type, uint32_t banks=0, uint32_t bsize=0, uint32_t bits=32, uint32_t cols=0)
 
virtual MEMDevice::~MEMDevice ()
 Empty destructor. More...
 
virtual void MEMDevice::init_mem_generics ()
 Initialize MEMDevice generics. More...
 
virtual const charMEMDevice::get_device_info () const
 Returns the memory configuration. More...
 
virtual const device_type MEMDevice::get_type () const
 Returns the device type. More...
 
virtual const std::string MEMDevice::get_type_name () const
 Return the device type name. More...
 
virtual const uint32_t MEMDevice::get_banks () const
 Returns the number of banks of the memory (sram or sdram bank if needed) More...
 
virtual const uint32_t MEMDevice::get_bsize () const
 
virtual const uint32_t MEMDevice::get_bits () const
 
virtual const uint32_t MEMDevice::get_cols () const
 Returns the column size of the memory (sdram) More...
 
virtual const uint32_t MEMDevice::get_size () const
 Returns the size of the whole memory. More...
 

Detailed Description

Function Documentation

CLKDevice::CLKDevice ( )
void CLKDevice::dorst ( )
virtual
const uint32_t MEMDevice::get_banks ( ) const
virtual

Returns the number of banks of the memory (sram or sdram bank if needed)

const uint32_t MEMDevice::get_bits ( ) const
virtual

Returns the bit width of a memory word. 8, 16, 32 or 64 bits are allowed.

Referenced by Mctrl::start_of_simulation().

const uint32_t MEMDevice::get_bsize ( ) const
virtual

Returns the bank size of the memory bank. All memory banks of a type should have the same size.

Referenced by MemoryPower::power_model(), and Mctrl::start_of_simulation().

const uint32_t MEMDevice::get_cols ( ) const
virtual

Returns the column size of the memory (sdram)

Referenced by Mctrl::start_of_simulation().

const char * MEMDevice::get_device_info ( ) const
virtual

Returns the memory configuration.

const uint32_t MEMDevice::get_size ( ) const
virtual

Returns the size of the whole memory.

const MEMDevice::device_type MEMDevice::get_type ( ) const
virtual

Returns the device type.

Referenced by Mctrl::start_of_simulation().

const std::string MEMDevice::get_type_name ( ) const
virtual

Return the device type name.

void MEMDevice::init_mem_generics ( )
virtual

Initialize MEMDevice generics.

Referenced by MEMDevice::MEMDevice().

MEMDevice::MEMDevice ( sc_module_name  name,
MEMDevice::device_type  type,
uint32_t  banks = 0,
uint32_t  bsize = 0,
uint32_t  bits = 32,
uint32_t  cols = 0 
)

All device informations are needed while constructing a device. The register content is formed here.

References MEMDevice::init_mem_generics().

Here is the call graph for this function:

void CLKDevice::onclk ( const sc_core::sc_time &  value,
const sc_core::sc_time &  time 
)
virtual

Clock Callback

This function is called when ever the clock is changing. An internal variable called clock_cycle will be set to the exact value..

Parameters
valueValue of the clock.
timeDelay to the current simulation time. Is not used in this callback.

References CLKDevice::clkcng(), and CLKDevice::clock_cycle.

Here is the call graph for this function:

void CLKDevice::onrst ( const bool value,
const sc_core::sc_time &  time 
)
virtual

Reset Callback

This function is called when the reset signal is triggerd. The reset whill reset all registers and bring the IRQ controler in a valid state.

Parameters
valueValue of the reset signal the reset is active as long the signal is false. Therefore the reset is done on the transition from false to true.
timeDelay to the current simulation time. Is not used in this callback.

References v::debug, and CLKDevice::dorst().

Here is the call graph for this function:

void CLKDevice::set_clk ( sc_core::sc_clock &  clk)

Set the clockcycle length.

With this function you can set the clockcycle length of the gptimer instance. The clockcycle is useed to calculate internal delays and waiting times to trigger the timer core functionality.

Parameters
clkAn sc_clk instance. The function will extract the clockcycle length from the instance.

References CLKDevice::clkcng(), and CLKDevice::clock_cycle.

Referenced by AMBABasePlatform::clkcng(), and sc_main().

Here is the call graph for this function:

void CLKDevice::set_clk ( sc_core::sc_time  period)

Set the clockcycle length.

With this function you can set the clockcycle length of the gptimer instance. The clockcycle is useed to calculate internal delays and waiting times to trigger the timer core functionality.

Parameters
periodAn sc_time variable which holds the clockcycle length.

References CLKDevice::clkcng(), and CLKDevice::clock_cycle.

Here is the call graph for this function:

void CLKDevice::set_clk ( double  period,
sc_core::sc_time_unit  base 
)

Set the clockcycle length.

With this function you can set the clockcycle length of the gptimer instance. The clockcycle is useed to calculate internal delays and waiting times to trigger the timer core functionality.

Parameters
periodA double wich holds the clockcycle length in a unit stored in base.
baseThe unit of the clockcycle length stored in period.

References CLKDevice::clkcng(), and CLKDevice::clock_cycle.

Here is the call graph for this function:

void terminate_handler1 ( )
void unexpected_handler1 ( )
CLKDevice::~CLKDevice ( )
virtual
MEMDevice::~MEMDevice ( )
virtual

Empty destructor.