Sampa::Cache Class Reference

#include <cache.h>

Inheritance diagram for Sampa::Cache:

Sampa::Module Sampa::ContainerObject Sampa::Object

List of all members.

Public Member Functions

 Cache (const Name &)
void bind_inst_initiator (Initiator *)
void bind_data_initiator (Initiator *)
Targetget_inst_target ()
Targetget_data_target ()
void bind_inst_target (Target *)
void bind_data_target (Target *)
Initiatorget_inst_initiator ()
Initiatorget_data_initiator ()
 SAMPA_PERSISTENT (Module)
const char * get_name () const
const char * get_full_name () const
 name can be ([^. ]+.)*[^. ]+
Objectget_parent () const
 return object containing this one
Objectget_sibling () const
 return next object with same parent or NULL if none
Objectget_first_child () const
 return first child object or NULL if none
int is_debug () const

Protected Types

enum  Severity { S_INFO, S_WARNING, S_ERROR, S_FATAL }

Protected Member Functions

void set_next_trigger (EventListenerSingle &)
ProcessBase__get_process_by_name (const std::string &name)
void debug (const char *,...)
void error (Severity severity, const char *,...)
virtual void complete_restart ()

Private Member Functions

bool recieve_inst_response (const Response &)
void fill_instruction ()
void forward_data_request ()
void forward_data_response ()
void forward_inst_response ()

Private Attributes

AdaptingTarget p_inst_slave
AdaptingTarget p_data_slave
AdaptingInitiator p_inst_master
AdaptingInitiator p_data_master
EventSingle e_inst_response
EventSingle e_data_response
IntParameter m_response_pipeline_depth
Array< Responsem_inst_responses
Array< Responsem_data_responses
Gated< Requestm_inst_req
Gated< Requestm_data_req


Detailed Description

Definition at line 26 of file cache.h.


Member Enumeration Documentation

enum Sampa::Object::Severity [protected, inherited]

Enumerator:
S_INFO 
S_WARNING 
S_ERROR 
S_FATAL 

Definition at line 48 of file object.h.


Constructor & Destructor Documentation

Sampa::Cache::Cache ( const Name  ) 


Member Function Documentation

void Sampa::Cache::bind_inst_initiator ( Initiator  ) 

void Sampa::Cache::bind_data_initiator ( Initiator  ) 

Target* Sampa::Cache::get_inst_target (  )  [inline]

Definition at line 32 of file cache.h.

References p_inst_slave.

Target* Sampa::Cache::get_data_target (  )  [inline]

Definition at line 33 of file cache.h.

References p_data_slave.

void Sampa::Cache::bind_inst_target ( Target  ) 

void Sampa::Cache::bind_data_target ( Target  ) 

Initiator* Sampa::Cache::get_inst_initiator (  )  [inline]

Definition at line 37 of file cache.h.

References p_inst_master.

Initiator* Sampa::Cache::get_data_initiator (  )  [inline]

Definition at line 38 of file cache.h.

References p_data_master.

bool Sampa::Cache::recieve_inst_response ( const Response  )  [private]

void Sampa::Cache::fill_instruction (  )  [inline, private]

Definition at line 71 of file cache.h.

References m_inst_req, p_inst_slave, and Sampa::Target::send_response().

void Sampa::Cache::forward_data_request (  )  [inline, private]

Definition at line 88 of file cache.h.

void Sampa::Cache::forward_data_response (  )  [inline, private]

Definition at line 95 of file cache.h.

References e_inst_response, m_inst_responses, m_response_pipeline_depth, p_inst_slave, and Sampa::Target::send_response().

void Sampa::Cache::forward_inst_response (  )  [inline, private]

Definition at line 103 of file cache.h.

References e_inst_response, m_inst_responses, m_response_pipeline_depth, p_inst_slave, and Sampa::Target::send_response().

void Sampa::Module::set_next_trigger ( EventListenerSingle  )  [protected, inherited]

ProcessBase* Sampa::Module::__get_process_by_name ( const std::string &  name  )  [protected, inherited]

Sampa::Module::SAMPA_PERSISTENT ( Module   )  [inherited]

const char* Sampa::Object::get_name (  )  const [inherited]

returns the local name

const char* Sampa::Object::get_full_name (  )  const [inherited]

name can be ([^. ]+.)*[^. ]+

Object* Sampa::Object::get_parent (  )  const [inherited]

return object containing this one

Object* Sampa::Object::get_sibling (  )  const [inherited]

return next object with same parent or NULL if none

Object* Sampa::Object::get_first_child (  )  const [inherited]

return first child object or NULL if none

int Sampa::Object::is_debug (  )  const [inline, inherited]

Definition at line 44 of file object.h.

void Sampa::Object::debug ( const char *  ,
  ... 
) [protected, inherited]

void Sampa::Object::error ( Severity  severity,
const char *  ,
  ... 
) [protected, inherited]

virtual void Sampa::Object::complete_restart (  )  [protected, virtual, inherited]

is called to finalize restart. On restart, one shall update pointers, or reopen ressources (files, ...).

Most of pointers are restored by the thanks to the post++ library provided that the CLASSINFO() was correctly set.

However, some pointers are not relocated by the library. These are for example the method pointers used for the processes. Take a look at

See also:
Module::restart_process, to see how this is handled

Reimplemented in Sampa::Bridge, Sampa::Dma, Sampa::FixLatencySlave, Sampa::PeriodicTrafficGenerator, Sampa::TwoPortL1Cpu, and Sampa::StochasticCpu.


Member Data Documentation

AdaptingTarget Sampa::Cache::p_inst_slave [private]

Definition at line 111 of file cache.h.

Referenced by fill_instruction(), forward_data_response(), forward_inst_response(), and get_inst_target().

AdaptingTarget Sampa::Cache::p_data_slave [private]

Definition at line 112 of file cache.h.

Referenced by get_data_target().

AdaptingInitiator Sampa::Cache::p_inst_master [private]

Definition at line 113 of file cache.h.

Referenced by get_inst_initiator().

AdaptingInitiator Sampa::Cache::p_data_master [private]

Definition at line 114 of file cache.h.

Referenced by get_data_initiator().

EventSingle Sampa::Cache::e_inst_response [private]

Definition at line 116 of file cache.h.

Referenced by forward_data_response(), and forward_inst_response().

EventSingle Sampa::Cache::e_data_response [private]

Definition at line 117 of file cache.h.

IntParameter Sampa::Cache::m_response_pipeline_depth [private]

Definition at line 118 of file cache.h.

Referenced by forward_data_response(), and forward_inst_response().

Array<Response> Sampa::Cache::m_inst_responses [private]

Definition at line 119 of file cache.h.

Referenced by forward_data_response(), and forward_inst_response().

Array<Response> Sampa::Cache::m_data_responses [private]

Definition at line 120 of file cache.h.

Gated<Request> Sampa::Cache::m_inst_req [private]

Definition at line 121 of file cache.h.

Referenced by fill_instruction().

Gated<Request> Sampa::Cache::m_data_req [private]

Definition at line 122 of file cache.h.


The documentation for this class was generated from the following file:
Generated on Sat Feb 16 16:23:18 2008 for Sampa by  doxygen 1.5.3