Sampa Namespace Reference


Classes

class  Arbiter
 n to 1 component, that serializes access to a single port. More...
class  Bridge
class  Cache
class  Dma
struct  ResponseForecast
class  FixLatencySlave
class  PeriodicTrafficGenerator
class  TwoPortL1Cpu
class  Transaction
 Transaction. More...
class  Nil
struct  TL
struct  ExtPayload
struct  ExtPayload< Nil >
class  Factory
class  NthElem
struct  NthType
struct  NthType< TL, 1 >
class  Tx
class  Tx< Nil >
struct  TargetRequestInterface
 Interface to be implemented by target module. More...
struct  InitiatorResponseInterface
 Interface to be implemented by initiator module. More...
class  Initiator
 kind of master port for point to point connection More...
class  Target
 kind of slave port for point to point connection More...
class  AdaptingInitiator
class  AdaptingTarget
class  Router
 1 to n component, that serializes response to a single port. More...
class  StochasticCpu
class  AddressGenerator
class  CallObserver
 kind of port that allows to log calls to an interface You must prefix each method in an object implementing an interface with the macro SAMPA_IMPLEMENT_INTERFACE, this allows knowing which method of the interface has been called currently disabled by the sampa config More...
class  Chained
class  Clock
 emits cyclically periodical edge events: can be used for rise xor fall event Parameters More...
class  Divider
class  EventListenerSingle
class  EventSingle
 can be notified by a process from the same module It can be used in only one event listener or sensitivity at a time as such it is more intended to be used internally to a module. More...
class  EventListener
 This listens an event, and can forward it to multiple listeners it is aimed at being used in a module interface, so that other modules can be sensitive to this event. More...
class  Event
 can be notified by a process from the same module, and listened by gated variables or processes It is intended to be used internally to a module for it control flow an event is notified, then simulation commit the notification, that is trigger the event triggering the event means activating all the processes or gated variable that have declared to be sensitive to this event More...
class  ClockedEvent
 can be notified by a process from the same module, and listened by gated variables or processes, it is triggered at a clock edge It is intended to be used internally to a module for it control flow, either to time waits or to build registers when used in combination to gated variables. More...
class  ClockedEventSingle
 can be notified by a process from the same module, and listened by 1 gated variable or process at once, it is triggered at a clock edge This is the optimized version of the ClockedEvent for the case the model can ensure that there is only one subscriber at once More...
class  Fifo
 Class to keep fifo indexes. More...
class  TraceFifo
 Class to keep fifo indexes, and traces each push and pop operations. More...
class  GatedBase
 Base class for guarded variable (change value on event). More...
class  Gated
 Template class to define guarded variable types. More...
class  LuaInterpreter
class  ProcessBase
class  Process
class  Module
class  Object
 Base class for reflexivity : allow to name objects. More...
class  ContainerObject
class  ParameterGroupName
class  BoolParameter
class  IntParameter
class  HexParameter
class  StringParameter
class  DoubleParameter
class  TimeParameter
class  SizeParameter
class  EnumeratedParameter
class  ParameterInitializerBase
class  ParameterInitializer
class  EnumeratedParameterInitializer
class  Pstring
class  StaticRestarter
struct  InitElements< INIT_OBJECT, Element >
struct  InitElements< INIT_DEFAULT_CTR, Element >
struct  InitElements< INIT_FUNDAMENTAL, Element >
class  Array
class  PtrQueueBase
class  PtrQueue
class  PtrQueue< Triggerable >
struct  Select< true, IfTrueType, IfElseType >
struct  Select< false, IfTrueType, IfElseType >
struct  Time
class  Trace
class  VersionChecker

Typedefs

typedef unsigned short Burst
typedef unsigned short ThreadId
typedef unsigned short ByteEnable
typedef unsigned
long long 
Data
typedef Transaction Request
 Request.
typedef Request Response
 Response.
typedef unsigned long Address
 Type for addresses used in protocol.
typedef
ParameterGroupName 
Name

Enumerations

enum  Command { CMD_IDLE, CMD_READ, CMD_WRITE, CMD_NUM }
enum  AddressMode { ADDR_INCR, ADDR_WRAP, NUM_ADDR_MODE_KIND }
enum  Severity { S_INFO, S_WARNING, S_ERROR }
enum  DefaultCtrTag { DEFAULT_CTR }
enum  InitMode { INIT_OBJECT, INIT_DEFAULT_CTR, INIT_FUNDAMENTAL }
enum  { RELEASE = 0x00407C00 }

Functions

void protocol_initialize_statics (Transaction::FactoryBase *(*create_factory)())
template<class TopLevel>
bool protocol_initialize (int argc, char **argv, TopLevel *&top_level, Transaction::FactoryBase *(*create_factory)()=0)
TemporaryEventExpression operator| (EventListenerSingle &, EventListenerSingle &)
TemporaryEventExpression operator| (TemporaryEventExpression &, EventListenerSingle &)
TemporaryEventExpression operator & (EventListenerSingle &, EventListenerSingle &)
TemporaryEventExpression operator & (TemporaryEventExpression &, EventListenerSingle &)
bool initialize (int argc, char **argv, Module *&)
template<class TopLevel>
bool initialize (int argc, char **argv, TopLevel *&top_level)
lua_State * get_interpreter ()
Time get_current_time ()
std::string get_current_time_as_string ()
unsigned long long get_current_time_to_default_time_unit ()
bool simulate ()
unsigned int sampa_rand ()
double sampa_rand01 ()
void parameter_initialize (LuaInterpreter *interpreter, const std::string &init_parm_table)
storage * get_storage ()
void set_time_resolution (double, Time::Unit)
Time get_time_resolution ()
void set_default_time_unit (double, Time::Unit)
Time get_default_time_unit ()
const Time operator+ (const Time &t1, const Time &t2)
const Time operator- (const Time &t1, const Time &t2)
const Time operator * (const Time &t, double d)
const Time operator * (double d, const Time &t)
const Time operator/ (const Time &t, double d)
double operator/ (const Time &t1, const Time &t2)
const char * get_copyright ()
const char * get_version ()
const char * get_release ()

Variables

static VersionChecker version_checker (RELEASE)


Typedef Documentation

typedef unsigned long Sampa::Address

Type for addresses used in protocol.

Definition at line 29 of file address.h.

typedef ParameterGroupName Sampa::Name

Definition at line 26 of file object.h.


Enumeration Type Documentation

anonymous enum

Enumerator:
RELEASE 

Definition at line 25 of file version.h.

enum Sampa::DefaultCtrTag

Enumerator:
DEFAULT_CTR 

Definition at line 28 of file persistence.h.

enum Sampa::InitMode

Enumerator:
INIT_OBJECT 
INIT_DEFAULT_CTR 
INIT_FUNDAMENTAL 

Definition at line 27 of file sarray.cxx.

enum Sampa::Severity

Enumerator:
S_INFO 
S_WARNING 
S_ERROR 

Definition at line 52 of file global_function.h.


Function Documentation

const char* Sampa::get_copyright (  ) 

Time Sampa::get_current_time (  ) 

std::string Sampa::get_current_time_as_string (  ) 

unsigned long long Sampa::get_current_time_to_default_time_unit (  ) 

Time Sampa::get_default_time_unit (  ) 

lua_State* Sampa::get_interpreter (  ) 

const char* Sampa::get_release (  ) 

storage* Sampa::get_storage (  ) 

Referenced by Sampa::Array< Element >::Array().

Time Sampa::get_time_resolution (  ) 

const char* Sampa::get_version (  ) 

template<class TopLevel>
bool Sampa::initialize ( int  argc,
char **  argv,
TopLevel *&  top_level 
) [inline]

Definition at line 35 of file global_function.h.

References initialize().

bool Sampa::initialize ( int  argc,
char **  argv,
Module *&   
)

Referenced by initialize(), and protocol_initialize().

TemporaryEventExpression Sampa::operator & ( TemporaryEventExpression &  ,
EventListenerSingle &   
)

TemporaryEventExpression Sampa::operator & ( EventListenerSingle &  ,
EventListenerSingle &   
)

const Time Sampa::operator * ( double  d,
const Time &  t 
) [inline]

Definition at line 251 of file time.h.

const Time Sampa::operator * ( const Time &  t,
double  d 
) [inline]

Definition at line 243 of file time.h.

const Time Sampa::operator+ ( const Time &  t1,
const Time &  t2 
) [inline]

Definition at line 209 of file time.h.

References Sampa::Time::Time().

const Time Sampa::operator- ( const Time &  t1,
const Time &  t2 
) [inline]

Definition at line 216 of file time.h.

References Sampa::Time::Time().

double Sampa::operator/ ( const Time &  t1,
const Time &  t2 
) [inline]

Definition at line 267 of file time.h.

References Sampa::Time::to_double().

const Time Sampa::operator/ ( const Time &  t,
double  d 
) [inline]

Definition at line 259 of file time.h.

TemporaryEventExpression Sampa::operator| ( TemporaryEventExpression &  ,
EventListenerSingle &   
)

TemporaryEventExpression Sampa::operator| ( EventListenerSingle &  ,
EventListenerSingle &   
)

void Sampa::parameter_initialize ( LuaInterpreter *  interpreter,
const std::string &  init_parm_table 
)

template<class TopLevel>
bool Sampa::protocol_initialize ( int  argc,
char **  argv,
TopLevel *&  top_level,
Transaction::FactoryBase *(*)()  create_factory = 0 
) [inline]

Definition at line 29 of file initialization.h.

References initialize(), and protocol_initialize_statics().

void Sampa::protocol_initialize_statics ( Transaction::FactoryBase *(*)()  create_factory  ) 

Referenced by protocol_initialize().

unsigned int Sampa::sampa_rand (  ) 

double Sampa::sampa_rand01 (  ) 

Referenced by eviction_hit(), inst_hit(), read_hit(), and write_hit().

void Sampa::set_default_time_unit ( double  ,
Time::Unit   
)

void Sampa::set_time_resolution ( double  ,
Time::Unit   
)

bool Sampa::simulate (  ) 


Variable Documentation

VersionChecker Sampa::version_checker(RELEASE) [static]


Generated on Sat Feb 16 16:23:17 2008 for Sampa by  doxygen 1.5.3