Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Public Attributes | List of all members
localram Class Reference

Local Scratchpad RAM. More...

#include <localram.h>

Inheritance diagram for localram:
Collaboration diagram for localram:

Public Member Functions

 GC_HAS_CALLBACKS ()
 
virtual bool mem_read (unsigned int address, unsigned int asi, unsigned char *data, unsigned int len, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable)
 Read from scratchpad. More...
 
virtual void mem_write (unsigned int address, unsigned int asi, unsigned char *data, unsigned int len, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable)
 Write to scratchpad. More...
 
void clkcng (sc_core::sc_time &clk)
 Helper functions for definition of clock cycle. More...
 
void start_of_simulation ()
 Automatically called at the beginning of the simulation. More...
 
void power_model ()
 
gs::cnf::callback_return_type sta_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 Static power callback. More...
 
gs::cnf::callback_return_type int_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 Dynamic/Internal power callback. More...
 
gs::cnf::callback_return_type swi_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 Dynamic/Switching power callback. More...
 
void end_of_simulation ()
 Hook up for showing statistics. More...
 
 localram (ModuleName name, unsigned int lrsize, unsigned int lrstart, bool pow_mon=false)
 Constructor of scratchpad RAM implementation (localram) More...
 
 ~localram ()
 Destructor. More...
 
- Public Member Functions inherited from mem_if
virtual void mem_write (unsigned int addr, unsigned int asi, unsigned char *data, unsigned int length, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable, bool is_lock=false)
 
virtual bool mem_read (unsigned int addr, unsigned int asi, unsigned char *data, unsigned int length, sc_core::sc_time *t, unsigned int *debug, bool is_dbg, bool &cacheable, bool is_lock=false)
 
virtual ~mem_if ()
 

Public Attributes

t_cache_datascratchpad
 
t_cache_data m_default_entry
 
unsigned int m_lrsize
 Size of the local ram in words. More...
 
unsigned int m_lrstart
 Start address of the local ram. More...
 
bool m_pow_mon
 Power monitoring enabled or not. More...
 
gs::cnf::cnf_api * m_api
 GreenControl API container. More...
 
gs::gs_param_array m_performance_counters
 Open a namespace for performance counting in the greencontrol realm. More...
 
sr_param< uint64_tsreads
 Number of read accesses. More...
 
sr_param< uint64_tswrites
 Number of write accesses. More...
 
sr_param< uint64_tsreads_byte
 Volume of total reads (bytes) More...
 
sr_param< uint64_tswrites_byte
 Volume of total writes (bytes) More...
 
sr_param< doublesta_power_norm
 Normalized static power input. More...
 
sr_param< doubleint_power_norm
 Normalized internal power input (activation independent) More...
 
sr_param< doubledyn_read_energy_norm
 Normalized read access energy. More...
 
sr_param< doubledyn_write_energy_norm
 Normalized write access energy. More...
 
gs::gs_param_array power
 Parameter array for power data output. More...
 
sr_param< doublesta_power
 Static power of module. More...
 
sr_param< doubleint_power
 Internal power of module (activation independent) More...
 
sr_param< doubleswi_power
 Swiching power of module. More...
 
sr_param< sc_core::sc_time > power_frame_starting_time
 Power frame starting time. More...
 
sr_param< doubledyn_read_energy
 Dynamic energy per read access. More...
 
sr_param< doubledyn_write_energy
 Dynamic energy per write access. More...
 
sr_param< uint64_tdyn_reads
 Number of reads from memory (read & reset by monitor) More...
 
sr_param< uint64_tdyn_writes
 Number of writes to memory (read & reset by monitor) More...
 
sc_core::sc_time clockcycle
 Clock cycle time. More...
 

Detailed Description

Local Scratchpad RAM.

Member Function Documentation

localram::GC_HAS_CALLBACKS ( )

Member Data Documentation

sc_core::sc_time localram::clockcycle

Clock cycle time.

Referenced by clkcng(), mem_read(), mem_write(), and power_model().

sr_param<double> localram::dyn_read_energy

Dynamic energy per read access.

Referenced by power_model(), and swi_power_cb().

sr_param<double> localram::dyn_read_energy_norm

Normalized read access energy.

Referenced by power_model().

sr_param<uint64_t> localram::dyn_reads

Number of reads from memory (read & reset by monitor)

Referenced by swi_power_cb().

sr_param<double> localram::dyn_write_energy

Dynamic energy per write access.

Referenced by power_model(), and swi_power_cb().

sr_param<double> localram::dyn_write_energy_norm

Normalized write access energy.

Referenced by power_model().

sr_param<uint64_t> localram::dyn_writes

Number of writes to memory (read & reset by monitor)

Referenced by swi_power_cb().

sr_param<double> localram::int_power

Internal power of module (activation independent)

Referenced by localram(), and power_model().

sr_param<double> localram::int_power_norm

Normalized internal power input (activation independent)

Referenced by power_model().

gs::cnf::cnf_api* localram::m_api

GreenControl API container.


Performance Counters

Referenced by localram().

t_cache_data localram::m_default_entry

Referenced by localram().

unsigned int localram::m_lrsize

Size of the local ram in words.

Referenced by localram(), mem_read(), mem_write(), and power_model().

unsigned int localram::m_lrstart

Start address of the local ram.

Referenced by localram(), mem_read(), and mem_write().

gs::gs_param_array localram::m_performance_counters

Open a namespace for performance counting in the greencontrol realm.

bool localram::m_pow_mon

Power monitoring enabled or not.

Referenced by localram(), and start_of_simulation().

gs::gs_param_array localram::power

Parameter array for power data output.

sr_param<sc_core::sc_time> localram::power_frame_starting_time

Power frame starting time.

Referenced by swi_power_cb().

t_cache_data* localram::scratchpad
sr_param<uint64_t> localram::sreads

Number of read accesses.

Referenced by end_of_simulation(), and mem_read().

sr_param<uint64_t> localram::sreads_byte

Volume of total reads (bytes)

Referenced by end_of_simulation(), and mem_read().

sr_param<double> localram::sta_power

Static power of module.

Referenced by localram(), and power_model().

sr_param<double> localram::sta_power_norm

Normalized static power input.


Power Modeling Parameters

Referenced by power_model().

sr_param<double> localram::swi_power

Swiching power of module.

Referenced by localram(), and swi_power_cb().

sr_param<uint64_t> localram::swrites

Number of write accesses.

Referenced by end_of_simulation(), and mem_write().

sr_param<uint64_t> localram::swrites_byte

Volume of total writes (bytes)

Referenced by end_of_simulation(), and mem_write().


The documentation for this class was generated from the following files: