All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
port_mapping.h
Go to the documentation of this file.
1 #ifndef PORT_MAPPING_H_INCLUDED_
2 #define PORT_MAPPING_H_INCLUDED_
3 
4 #include <list>
5 
6 #include "rose.h"
7 
8 #include "instance_tree.h"
9 
10 namespace risc {
11 
12 class Port;
13 class Module;
14 
20 std::list<InstanceTree> get_mapped_channel_instances(Port *port);
21 
26 InstanceTree get_mapped_channel_instance(InstanceTree port);
27 
33 InstanceTree get_mapped_channel_instance_for_psg(InstanceTree port);
34 
44 SgVariableSymbol* port_mapping_style1(
45  SgFunctionCallExp *func_call,
46  SgVariableSymbol *port,
47  SgVariableDefinition *parent_variable);
48 
58 SgVariableSymbol* port_mapping_style2(
59  SgFunctionCallExp *func_call,
60  SgVariableSymbol *port,
61  SgVariableDefinition *parent_variable);
62 
72 SgVariableSymbol* port_mapping_style3(
73  SgFunctionCallExp *func_call,
74  SgVariableSymbol *port,
75  Module *parent_module,
76  SgVariableDefinition *parent_variable);
77 
86 SgVariableSymbol* socket_mapping_style2(
87  SgFunctionCallExp *func_call,
88  SgVariableSymbol *socket,
89  SgVariableDefinition *parent_variable);
90 
105 SgVariableSymbol* get_mapped_symbol(
106  SgVariableSymbol *port,
107  Module *parent_module,
108  SgVariableDefinition *parent_variable);
109 
124 SgVariableSymbol* get_mapped_symbol_style3(
125  SgVariableSymbol *port,
126  Module *parent_module,
127  SgVariableDefinition *parent_variable);
128 
143 SgVariableSymbol* get_mapped_module_instance_symbol(
144  SgVariableSymbol *socket,
145  Module *parent_module,
146  SgVariableDefinition *parent_variable);
147 
157 SgVariableSymbol* module_instance_mapping_style1(
158  SgFunctionCallExp *func_call,
159  SgVariableSymbol *socket,
160  SgVariableDefinition *parent_variable);
161 
162 
167 risc::InstanceTree get_mapped_socket_instance_tree(InstanceTree instance_tree_1);
168 } // end of namespace risc
169 
170 #endif /* PORT_MAPPING_H_INCLUDED_ */
171 
172 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
Definition: instance_tree.h:15
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...
Definition: port_mapping.cpp:301
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);.
Definition: port_mapping.cpp:354
SgVariableSymbol * port_mapping_style2(SgFunctionCallExp *func_call, SgVariableSymbol *port, SgVariableDefinition *parent_variable)
Determines if function call bindes in style of sub_module.port(port1);.
Definition: port_mapping.cpp:442
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);.
Definition: port_mapping.cpp:707
risc::InstanceTree get_mapped_socket_instance_tree(InstanceTree instance_tree_1)
This function determines to which socket this socket is bound.
Definition: port_mapping.cpp:1141
InstanceTree get_mapped_channel_instance(InstanceTree port)
This function determines to which channel this port is bound.
Definition: port_mapping.cpp:976
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);.
Definition: port_mapping.cpp:839
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);.
Definition: port_mapping.cpp:564
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 ...
Definition: port_mapping.cpp:43
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...
Definition: port_mapping.cpp:1065
std::list< InstanceTree > get_mapped_channel_instances(Port *port)
This function determines to which channels this port can be bound. An instance of the given port can ...
Definition: port_mapping.cpp:17
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 ...
Definition: port_mapping.cpp:187