All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Functions
risc Namespace Reference

Namespaces

 inst
 
 sa
 
 sg
 
 tools
 
 traverser
 

Classes

class  Class
 
class  CThread
 
class  Definition
 
class  Design
 
class  GlobalDesign
 
class  DynamicPathInstanceMapper
 
class  Event
 
class  EventAndList
 
class  EventOrList
 
class  Function
 
class  HierarchicalChannel
 
class  HierarchicalChannelInstance
 
class  InitiatorSocket
 
class  InOutPort
 
class  InPort
 
class  Instance
 
class  InstanceTree
 
class  Interface
 
struct  pairhash
 
class  MappingInfo
 
class  Method
 
class  Module
 This class represents instances. More...
 
class  ModuleInstance
 This class represents a instance of a module. More...
 
class  Object
 
class  OutPort
 
class  PathInstanceMapper
 This class can be used as a lookup table between an instance id of a module or hierarchical channel and the instance tree. More...
 
class  Port
 
class  PrimitiveChannel
 
class  PrimitiveChannelInstance
 
class  Socket
 
class  StaticPathInstanceMapper
 
class  TargetSocket
 
class  Thread
 
class  Variable
 This class represents a variable in a module. More...
 

Typedefs

typedef std::vector< Event * > EventVector
 
typedef std::vector
< EventAndList * > 
EventAndListVector
 
typedef std::vector
< EventOrList * > 
EventOrListVector
 
typedef std::vector< Function * > FunctionVector
 
typedef std::vector
< HierarchicalChannelInstance * > 
HierarchicalChannelInstanceVector
 
typedef std::vector< InOutPort * > InOutPortVector
 
typedef std::vector< InPort * > InPortVector
 
typedef std::vector
< ModuleInstance * > 
ModuleInstanceVector
 
typedef std::vector< OutPort * > OutPortVector
 
typedef std::vector< Port * > PortVector
 
typedef std::vector
< PrimitiveChannelInstance * > 
PrimitiveChannelInstanceVector
 
typedef std::vector< Variable * > VariableVector
 
typedef std::vector< Socket * > SocketVector
 
typedef std::vector
< InitiatorSocket * > 
InitiatorSocketVector
 
typedef std::vector
< TargetSocket * > 
TargetSocketVector
 
typedef std::pair< Port
*, SgBoolValExp * > 
ResetSignal
 
typedef std::vector
< ResetSignal * > 
ResetSignalVector
 
typedef std::vector
< ResetSignal * >::iterator 
ResetSignalVectorIter
 
typedef std::vector
< ResetSignal * >
::const_iterator 
ResetSignalVectorConstIter
 
typedef std::vector< CThread * > CThreadVector
 
typedef std::vector< CThread * >
::iterator 
CThreadVectorIter
 
typedef std::vector< CThread * >
::const_iterator 
CThreadVectorConstIter
 
typedef std::vector
< HierarchicalChannel * > 
HierarchicalChannelVector
 
typedef std::vector< Instance * > InstanceVector
 
typedef std::vector< Interface * > InterfaceVector
 
typedef std::vector< Module * > ModuleVector
 
typedef std::vector
< PrimitiveChannel * > 
PrimitiveChannelVector
 
typedef std::vector< Event * >
::iterator 
EventVectorIter
 
typedef std::vector< Event * >
::const_iterator 
EventVectorConstIter
 
typedef std::vector
< EventAndList * >::iterator 
EventAndListVectorIter
 
typedef std::vector
< EventAndList * >
::const_iterator 
EventAndListVectorConstIter
 
typedef std::vector
< EventOrList * >::iterator 
EventOrListVectorIter
 
typedef std::vector
< EventOrList * >
::const_iterator 
EventOrListVectorConstIter
 
typedef std::vector< Function * >
::iterator 
FunctionVectorIter
 
typedef std::vector< Function * >
::const_iterator 
FunctionVectorConstIter
 
typedef std::vector
< HierarchicalChannel * >
::iterator 
HierarchicalChannelVectorIter
 
typedef std::vector
< HierarchicalChannel * >
::const_iterator 
HierarchicalChannelVectorConstIter
 
typedef std::vector
< HierarchicalChannelInstance * >
::iterator 
HierarchicalChannelInstanceVectorIter
 
typedef std::vector
< HierarchicalChannelInstance * >
::const_iterator 
HierarchicalChannelInstanceVectorConstIter
 
typedef std::vector
< InitiatorSocket * >
::iterator 
InitiatorSocketVectorIter
 
typedef std::vector
< InitiatorSocket * >
::const_iterator 
InitiatorSocketVectorConstIter
 
typedef std::vector< InOutPort * >
::iterator 
InOutPortVectorIter
 
typedef std::vector< InOutPort * >
::const_iterator 
InOutPortVectorConstIter
 
typedef std::vector< InPort * >
::iterator 
InPortVectorIter
 
typedef std::vector< InPort * >
::const_iterator 
InPortVectorConstIter
 
typedef std::vector< Instance * >
::iterator 
InstanceVectorIter
 
typedef std::vector< Instance * >
::const_iterator 
InstanceVectorConstIter
 
typedef std::vector< Interface * >
::iterator 
InterfaceVectorIter
 
typedef std::vector< Interface * >
::const_iterator 
InterfaceVectorConstIter
 
typedef std::vector< Method * > MethodVector
 
typedef std::vector< Method * >
::iterator 
MethodVectorIter
 
typedef std::vector< Method * >
::const_iterator 
MethodVectorConstIter
 
typedef std::vector< Module * >
::const_iterator 
ModuleVectorConstIter
 
typedef std::vector< Module * >
::iterator 
ModuleVectorIter
 
typedef std::vector< Thread * > ThreadVector
 
typedef std::vector
< VariableInstance * > 
VariableInstanceVector
 
typedef std::vector
< ModuleInstance * >::iterator 
ModuleInstanceVectorIter
 
typedef std::vector
< ModuleInstance * >
::const_iterator 
ModuleInstanceVectorConstIter
 
typedef std::vector< OutPort * >
::iterator 
OutPortVectorIter
 
typedef std::vector< OutPort * >
::const_iterator 
OutPortVectorConstIter
 
typedef std::vector< Port * >
::iterator 
PortVectorIter
 
typedef std::vector< Port * >
::const_iterator 
PortVectorConstIter
 
typedef std::vector
< PrimitiveChannel * >
::iterator 
PrimitiveChannelVectorIter
 
typedef std::vector
< PrimitiveChannel * >
::const_iterator 
PrimitiveChannelVectorConstIter
 
typedef std::vector
< PrimitiveChannelInstance * >
::iterator 
PrimitiveChannelInstanceVectorIter
 
typedef std::vector
< PrimitiveChannelInstance * >
::const_iterator 
PrimitiveChannelInstanceVectorConstIter
 
typedef std::vector< Socket * >
::iterator 
SocketVectorIter
 
typedef std::vector< Socket * >
::const_iterator 
SocketVectorConstIter
 
typedef std::vector
< TargetSocket * >::iterator 
TargetSocketVectorIter
 
typedef std::vector
< TargetSocket * >
::const_iterator 
TargetSocketVectorConstIter
 
typedef std::vector< Thread * >
::iterator 
ThreadVectorIter
 
typedef std::vector< Thread * >
::const_iterator 
ThreadVectorConstIter
 
typedef std::vector< Variable * >
::iterator 
VariableVectorIter
 
typedef std::vector< Variable * >
::const_iterator 
VariableVectorConstIter
 

Functions

Designget_design ()
 
SgProject * get_project ()
 
Modulefind_module_definition (std::string name)
 This function searches for module definition with the name 'name'. The name is the mangled name of the class. More...
 
HierarchicalChannelfind_hierarchical_channel_definition (std::string name)
 This function searches for module definition with the name 'name'. The name is the mangled name of the class. More...
 
std::list< InstanceTreeget_mapped_channel_instances (Port *port)
 This function determines to which channels this port can be bound. An instance of the given port can occur multiple times. More...
 
InstanceTree get_mapped_channel_instance (InstanceTree port)
 This function determines to which channel this port is bound. More...
 
InstanceTree get_mapped_channel_instance_for_psg (InstanceTree port)
 This function determines to which channel this port is bound given mapping information in a PSG file. More...
 
SgVariableSymbol * port_mapping_style1 (SgFunctionCallExp *func_call, SgVariableSymbol *port, SgVariableDefinition *parent_variable)
 Determines if function call bindes in style of sub_module.port.bind(port1);. More...
 
SgVariableSymbol * port_mapping_style2 (SgFunctionCallExp *func_call, SgVariableSymbol *port, SgVariableDefinition *parent_variable)
 Determines if function call bindes in style of sub_module.port(port1);. More...
 
SgVariableSymbol * port_mapping_style3 (SgFunctionCallExp *func_call, SgVariableSymbol *port, Module *parent_module, SgVariableDefinition *parent_variable)
 Determines if function call bindes in style of sub_module(port1, port2, ... ,portn);. More...
 
SgVariableSymbol * socket_mapping_style2 (SgFunctionCallExp *func_call, SgVariableSymbol *socket, SgVariableDefinition *parent_variable)
 Determines if function call bindes in style of sub_module1.portx(sub_module2.porty);. More...
 
SgVariableSymbol * get_mapped_symbol (SgVariableSymbol *port, Module *parent_module, SgVariableDefinition *parent_variable)
 This function is only for internal use Here we determine to which object (port or channel) the given port is mapped in the parent module. More...
 
SgVariableSymbol * get_mapped_symbol_style3 (SgVariableSymbol *port, Module *parent_module, SgVariableDefinition *parent_variable)
 This function is only for internal use Here we determine to which object (port or channel) the given port is mapped in the parent module. More...
 
SgVariableSymbol * get_mapped_module_instance_symbol (SgVariableSymbol *socket, Module *parent_module, SgVariableDefinition *parent_variable)
 This function is only for internal use Here we determine to which module instance the given socket is mapped in the parent module. More...
 
SgVariableSymbol * module_instance_mapping_style1 (SgFunctionCallExp *func_call, SgVariableSymbol *socket, SgVariableDefinition *parent_variable)
 Determines if function call bindes in style of parent_variable.socket(some_module_instance.socket_another);. More...
 
risc::InstanceTree get_mapped_socket_instance_tree (InstanceTree instance_tree_1)
 This function determines to which socket this socket is bound. More...
 

Detailed Description

INFORMATION / EFFICIENCY I tried out boost::numerics::ublas::matrix instead of a self implemented matrix. Unfortunately, boost is slower by factor 4 at least.

Typedef Documentation

typedef std::vector< CThread * > risc::CThreadVector
typedef std::vector<CThread*>::const_iterator risc::CThreadVectorConstIter
typedef std::vector<CThread*>::iterator risc::CThreadVectorIter
typedef std::vector< EventAndList * > risc::EventAndListVector
typedef std::vector<EventAndList*>::const_iterator risc::EventAndListVectorConstIter
typedef std::vector<EventAndList*>::iterator risc::EventAndListVectorIter
typedef std::vector< EventOrList * > risc::EventOrListVector
typedef std::vector<EventOrList*>::const_iterator risc::EventOrListVectorConstIter
typedef std::vector<EventOrList*>::iterator risc::EventOrListVectorIter
typedef std::vector< Event * > risc::EventVector
typedef std::vector<Event*>::const_iterator risc::EventVectorConstIter
typedef std::vector<Event*>::iterator risc::EventVectorIter
typedef std::vector< Function * > risc::FunctionVector
typedef std::vector<Function*>::const_iterator risc::FunctionVectorConstIter
typedef std::vector<Function*>::iterator risc::FunctionVectorIter
typedef std::vector<HierarchicalChannel*>::const_iterator risc::HierarchicalChannelVectorConstIter
typedef std::vector< InitiatorSocket * > risc::InitiatorSocketVector
typedef std::vector<InitiatorSocket*>::const_iterator risc::InitiatorSocketVectorConstIter
typedef std::vector<InitiatorSocket*>::iterator risc::InitiatorSocketVectorIter
typedef std::vector< InOutPort * > risc::InOutPortVector
typedef std::vector<InOutPort*>::const_iterator risc::InOutPortVectorConstIter
typedef std::vector<InOutPort*>::iterator risc::InOutPortVectorIter
typedef std::vector< InPort * > risc::InPortVector
typedef std::vector<InPort*>::const_iterator risc::InPortVectorConstIter
typedef std::vector<InPort*>::iterator risc::InPortVectorIter
typedef std::vector< Instance * > risc::InstanceVector
typedef std::vector<Instance*>::const_iterator risc::InstanceVectorConstIter
typedef std::vector<Instance*>::iterator risc::InstanceVectorIter
typedef std::vector< Interface * > risc::InterfaceVector
typedef std::vector<Interface*>::const_iterator risc::InterfaceVectorConstIter
typedef std::vector<Interface*>::iterator risc::InterfaceVectorIter
typedef std::vector< Method * > risc::MethodVector
typedef std::vector<Method*>::const_iterator risc::MethodVectorConstIter
typedef std::vector<Method*>::iterator risc::MethodVectorIter
typedef std::vector< ModuleInstance * > risc::ModuleInstanceVector
typedef std::vector<ModuleInstance*>::const_iterator risc::ModuleInstanceVectorConstIter
typedef std::vector<ModuleInstance*>::iterator risc::ModuleInstanceVectorIter
typedef std::vector< Module * > risc::ModuleVector
typedef std::vector<Module*>::const_iterator risc::ModuleVectorConstIter
typedef std::vector<Module*>::iterator risc::ModuleVectorIter
typedef std::vector< OutPort * > risc::OutPortVector
typedef std::vector<OutPort*>::const_iterator risc::OutPortVectorConstIter
typedef std::vector<OutPort*>::iterator risc::OutPortVectorIter
typedef std::vector< Port * > risc::PortVector
typedef std::vector<Port*>::const_iterator risc::PortVectorConstIter
typedef std::vector<Port*>::iterator risc::PortVectorIter
typedef std::vector<PrimitiveChannel*>::const_iterator risc::PrimitiveChannelVectorConstIter
typedef std::vector<PrimitiveChannel*>::iterator risc::PrimitiveChannelVectorIter
typedef std::pair< Port *, SgBoolValExp * > risc::ResetSignal
typedef std::vector< ResetSignal * > risc::ResetSignalVector
typedef std::vector<ResetSignal*>::const_iterator risc::ResetSignalVectorConstIter
typedef std::vector<ResetSignal*>::iterator risc::ResetSignalVectorIter
typedef std::vector< Socket * > risc::SocketVector
typedef std::vector<Socket*>::const_iterator risc::SocketVectorConstIter
typedef std::vector<Socket*>::iterator risc::SocketVectorIter
typedef std::vector< TargetSocket * > risc::TargetSocketVector
typedef std::vector<TargetSocket*>::const_iterator risc::TargetSocketVectorConstIter
typedef std::vector<TargetSocket*>::iterator risc::TargetSocketVectorIter
typedef std::vector< Thread * > risc::ThreadVector
typedef std::vector<Thread*>::const_iterator risc::ThreadVectorConstIter
typedef std::vector<Thread*>::iterator risc::ThreadVectorIter
typedef std::vector<VariableInstance*> risc::VariableInstanceVector
typedef std::vector< Variable * > risc::VariableVector
typedef std::vector<Variable*>::const_iterator risc::VariableVectorConstIter
typedef std::vector<Variable*>::iterator risc::VariableVectorIter

Function Documentation

risc::find_hierarchical_channel_definition ( std::string  name)

This function searches for module definition with the name 'name'. The name is the mangled name of the class.

risc::find_module_definition ( std::string  name)

This function searches for module definition with the name 'name'. The name is the mangled name of the class.

risc::Design * risc::get_design ( )
risc::get_mapped_channel_instance ( InstanceTree  port)

This function determines to which channel this port is bound.

risc::get_mapped_channel_instance_for_psg ( InstanceTree  port)

This function determines to which channel this port is bound given mapping information in a PSG file.

risc::get_mapped_channel_instances ( Port *  port)

This function determines to which channels this port can be bound. An instance of the given port can occur multiple times.

risc::get_mapped_module_instance_symbol ( SgVariableSymbol *  socket,
Module *  parent_module,
SgVariableDefinition *  parent_variable 
)

This function is only for internal use Here we determine to which module instance the given socket is mapped in the parent module.

Parameters
socketSocket declartion in the sub module
parent_moduleParent module top
parent_variableDeclaration of the sub module in parent module
Returns
bounded module instance var symbol something Example: submodule.socket_this.bind(something.socket_another);
risc::get_mapped_socket_instance_tree ( InstanceTree  instance_tree_1)

This function determines to which socket this socket is bound.

risc::get_mapped_symbol ( SgVariableSymbol *  port,
Module *  parent_module,
SgVariableDefinition *  parent_variable 
)

This function is only for internal use Here we determine to which object (port or channel) the given port is mapped in the parent module.

Parameters
portPort declartion in the sub module
parent_moduleParent module top
parent_variableDeclaration of the sub module in Top module
Returns
bounded channel/port something Example: submodule.port.bind(something);
risc::get_mapped_symbol_style3 ( SgVariableSymbol *  port,
Module *  parent_module,
SgVariableDefinition *  parent_variable 
)

This function is only for internal use Here we determine to which object (port or channel) the given port is mapped in the parent module.

Parameters
portPort declartion in the sub module
parent_moduleParent module top
parent_variableDeclaration of the sub module in Top module
Returns
bounded channel/port something Example: submodule.port.bind(something);
SgProject * risc::get_project ( )
risc::module_instance_mapping_style1 ( SgFunctionCallExp *  func_call,
SgVariableSymbol *  socket,
SgVariableDefinition *  parent_variable 
)

Determines if function call bindes in style of parent_variable.socket(some_module_instance.socket_another);.

Returns
Symbol pointer to some_module_instance
risc::port_mapping_style1 ( SgFunctionCallExp *  func_call,
SgVariableSymbol *  port,
SgVariableDefinition *  parent_variable 
)

Determines if function call bindes in style of sub_module.port.bind(port1);.

Returns
Symbol pointer to port1
risc::port_mapping_style2 ( SgFunctionCallExp *  func_call,
SgVariableSymbol *  port,
SgVariableDefinition *  parent_variable 
)

Determines if function call bindes in style of sub_module.port(port1);.

Returns
Symbol pointer to port1
risc::port_mapping_style3 ( SgFunctionCallExp *  func_call,
SgVariableSymbol *  port,
Module *  parent_module,
SgVariableDefinition *  parent_variable 
)

Determines if function call bindes in style of sub_module(port1, port2, ... ,portn);.

risc::socket_mapping_style2 ( SgFunctionCallExp *  func_call,
SgVariableSymbol *  socket,
SgVariableDefinition *  parent_variable 
)

Determines if function call bindes in style of sub_module1.portx(sub_module2.porty);.