1 #ifndef MODULE_H_INCLUDED_ 
    2 #define MODULE_H_INCLUDED_ 
   15 class HierarchicalChannelInstance;
 
   21 class PrimitiveChannel;
 
   22 class PrimitiveChannelInstance;
 
   24 class VariableInstance;
 
   26 typedef std::pair<Port*, SgBoolValExp*> 
ResetSignal;
 
   59   explicit Module(SgClassDefinition *ast_node);
 
   67   explicit Module(SgClassDefinition *ast_node, 
Type type);
 
std::pair< Port *, SgBoolValExp * > ResetSignal
Definition: cthread.h:15
 
std::vector< PrimitiveChannel * > PrimitiveChannelVector
Definition: design.h:44
 
std::vector< Module * > ModuleVector
Definition: design.h:42
 
ThreadVector threads_
Vector of threads which are defined in this module. 
Definition: module.h:111
 
Module(SgClassDefinition *ast_node)
Creates an empty module definition. All the lists of instances and sub definitions are empty...
Definition: module.cpp:47
 
ResetSignalVector async_reset_signals_
Vector of async reset signals which are registered in this module. 
Definition: module.h:131
 
CThreadVector cthreads_
Vector of cthreads which are defined in this module. 
Definition: module.h:116
 
std::string get_mangled_type_name()
This function returns the manged type name of the module. 
Definition: module.cpp:1264
 
std::vector< Function * > FunctionVector
Definition: class.h:37
 
std::vector< ModuleInstance * > ModuleInstanceVector
Definition: class.h:42
 
std::vector< Module * >::const_iterator ModuleVectorConstIter
Definition: module.h:33
 
MethodVector methods_
Vector of methods which are defined in this module. 
Definition: module.h:121
 
std::vector< CThread * > CThreadVector
Definition: cthread.h:54
 
std::list< Instance * > instances_
Definition: module.h:155
 
virtual void initialize_functions()
This function searches for all functions, SC_THREADS, SC_CTHREADS, and SC_METHODS in the module defin...
Definition: module.cpp:290
 
std::vector< Thread * > ThreadVector
Definition: module.h:39
 
std::vector< Method * > MethodVector
Definition: method.h:43
 
std::vector< PrimitiveChannelInstance * > PrimitiveChannelInstanceVector
Definition: class.h:45
 
void print_module_definition()
Prints the complete module design into the terminal. 
Definition: module.cpp:797
 
This class represents instances. 
Definition: module.h:49
 
~Module()
Definition: module.cpp:66
 
std::vector< ResetSignal * > ResetSignalVector
Definition: cthread.h:22
 
std::vector< Module * >::iterator ModuleVectorIter
Definition: module.h:34
 
int instance_counter_
This variable counts how many instances of this given type exists in the design. 
Definition: module.h:137
 
ResetSignalVector reset_signals_
Vector of reset signals which are registered in this module. 
Definition: module.h:126
 
std::vector< HierarchicalChannelInstance * > HierarchicalChannelInstanceVector
Definition: class.h:39
 
std::string get_qualified_type_name()
This function returns the qualified type name of the module. 
Definition: module.cpp:1256
 
Type
We are using these enums to identify type type of and instance or definition during traversal...
Definition: definition.h:20
 
std::vector< VariableInstance * > VariableInstanceVector
Definition: module.h:40
 
void initialize_socket_registration()
This function searches for b_transport registration or dmi registration in the module definition...
Definition: module.cpp:111
 
void print_hierarchy(unsigned indent_level=0)
Prints the hierarchy. Roots is this definition. 
Definition: module.cpp:1178