1 #ifndef CONFLICT_TABLE_H_INCLUDED_ 
    2 #define CONFLICT_TABLE_H_INCLUDED_ 
   13 class PathInstanceMapper;
 
   27       bool debugging = 
false);
 
  111   bool has_conflict(
int segment_id_1, 
int instance_id_1, 
int segment_id_2,
 
  127       int segment_id_2, 
int instance_id_2);
 
  150       bool dynamic_analysis);
 
  188       bool dynamic_analysis);
 
int max_instances_
This variable represents the max number of module instances in the design. Also, this is the number o...
Definition: conflict_table.h:58
 
Definition: port_call_path.h:46
 
virtual void determine_conflict_table()
This function determines the conflict table. The function is overloaded for the data and event confli...
Definition: conflict_table.cpp:614
 
This class represents a segment graph for a process. 
Definition: segment_graph.h:79
 
int max_instances_with_thread_
Maximum number of module/channel instances Only instances with at least one simulation thread are con...
Definition: conflict_table.h:51
 
bool ** conflict_table_
The conflict table. 
Definition: conflict_table.h:76
 
int number_of_segments_
This variable defines how many segments exist in the segment graph. Also, this is the number of colum...
Definition: conflict_table.h:65
 
int get_channel_id_statically(const SymbolWithPath &swp, int instance)
Determines the channel instance id for a given variable declared in a channel. 
Definition: conflict_table.cpp:1014
 
boost::graph_traits< Graph >::vertex_descriptor VertexDescriptor
Definition: segment_graph.h:34
 
int size_of_conflict_table_
This variable defines the size of the conflict table. The size is quadratic. 
Definition: conflict_table.h:45
 
bool has_conflict(int segment_id_1, int instance_id_1, int segment_id_2, int instance_id_2)
This function looks up if there is a conflict between segment 1 with instance id 1 and segment 2 with...
Definition: conflict_table.cpp:717
 
VertexDescriptor * vertex_lookup_
This lookup table translates segment ids into vertex descriptors. At position i is the segment with t...
Definition: conflict_table.h:39
 
PathInstanceMapper * path_instance_mapper_
Definition: conflict_table.h:208
 
This class can be used as a lookup table between an instance id of a module or hierarchical channel a...
Definition: path_instance_mapper.h:13
 
std::pair< int, int > index_to_segment_and_instance_id(int index)
This function translates a given index from the conflict table into the corresponding segment id and ...
Definition: conflict_table.cpp:695
 
bool debugging_
Definition: conflict_table.h:221
 
int segment_and_instance_id_to_index(int segment_id, int instance_id)
This function translates a given segment id and instance id to a index of the conflict table...
Definition: conflict_table.cpp:674
 
ConflictTable(SegmentGraph &segment_graph, PathInstanceMapper *path_instance_mapper, bool debugging=false)
Default constructor. 
Definition: conflict_table.cpp:309
 
void print_conflict_table(std::string filename)
Generates a html file of the conflict table. 
Definition: conflict_table.cpp:726
 
void set_conflict(int segment_id_1, int instance_id_1, int segment_id_2, int instance_id_2)
This function sets a conflict in the conflict table. 
 
int get_max_instances(int segment_id)
This functions returns how many instances of a given segment exist. 
Definition: conflict_table.cpp:976
 
MappedVariableList get_mapped_variable_dynamically(SgVariableSymbol *variable, int instance_id)
This function determines the mapped address of a reference during the pre simulation. 
Definition: conflict_table.cpp:54
 
Definition: conflict_table.h:17
 
ConflictInformation ** conflict_info_
Definition: conflict_table.h:219
 
int get_channel_id(const SymbolWithPath &swp, int instance, bool dynamic_analysis)
Determines the channel instance id for a given variable declared in a channel. 
Definition: conflict_table.cpp:998
 
MappedVariableList get_mapped_variable_statically(SgVariableSymbol *variable, int instance_id)
This function determines for a given variable the mapped variable. If variable is a reference...
Definition: conflict_table.cpp:174
 
MappedVariableList get_mapped_variable(SgVariableSymbol *variable, int instance_id, bool dynamic_analysis)
Determines the mapped variable. 
Definition: conflict_table.cpp:41
 
VertexDescriptor segment_id_to_vertex_descriptor(int id)
This function translates the given segment id to the corresponding vertex descriptor. 
Definition: conflict_table.cpp:965
 
~ConflictTable()
Destructor. 
Definition: conflict_table.cpp:624
 
std::list< MappedVariable > MappedVariableList
Definition: mapped_variable.h:44
 
int ** instance_id_to_index_lookup_
This table should be used a lookup table: (segment id, instance id) -> index of conflict table...
Definition: conflict_table.h:71
 
void print_lookup_table(std::string filename)
Generates a html file of the lookup table. 
Definition: conflict_table.cpp:908
 
void print_instance_id_to_index_lookup_table()
This function prints the table instance_id_to_index_lookup_table in the terminal. ...
Definition: conflict_table.cpp:652
 
SegmentGraph & segment_graph_
Definition: conflict_table.h:210
 
int get_channel_id_dynamically(const SymbolWithPath &swp, int instance)
Determines the channel instance id for a given variable declared in a channel. 
Definition: conflict_table.cpp:1051