risc::sg::EventConflictTable Class Reference
The conflicts are stored in the base class variable conflict_table_. The columns represent wait statements of the segments. The rows are representing the notifications of events. So, a true in conflict_table_[i][j] means that the associated segment/instance i notifies the event for which the associated segment/instance j is waiting.  
More...
#include <event_conflict_table.h>
List of all members.
Public Member Functions | 
|   | EventConflictTable (SegmentGraph &graph, PathInstanceMapper *path_instance_mapper, bool debugging) | 
|   | Default constructor for the DataConflictTable.  
  | 
std::list 
< risc::sg::MappedVariable >  | get_all_list_events_statically (SgSymbol *sc_event_list, int instance_id) | 
std::list 
< risc::sg::MappedVariable >  | get_all_list_events_dynamically (SgVariableSymbol *sc_event_list, int instance_id) | 
| virtual void  | determine_conflict_table () | 
|   | This function determines conflicts among the segments.  
  | 
| void  | print_conflict_table (std::string filename) | 
| void  | print_lookup_table (std::string filename) | 
| int  | segment_and_instance_id_to_index (int segment_id, int instance_id) | 
| std::pair< int, int >  | index_to_segment_and_instance_id (int index) | 
| bool  | has_conflict (int segment_id_1, int instance_id_1, int segment_id_2, int instance_id_2) | 
| void  | print_instance_id_to_index_lookup_table () | 
|   | This function prints the table instance_id_to_index_lookup_table in the terminal.  
  | 
| void  | set_conflict (int segment_id_1, int instance_id_1, int segment_id_2, int instance_id_2) | 
| VertexDescriptor  | segment_id_to_vertex_descriptor (int id) | 
| MappedVariableList  | get_mapped_variable_statically (SgVariableSymbol *variable, int instance_id) | 
| MappedVariableList  | get_mapped_variable_dynamically (SgVariableSymbol *variable, int instance_id) | 
| int  | get_max_instances (int segment_id) | 
Public Attributes | 
| VertexDescriptor *  | vertex_lookup_ | 
|   | This lookup table translates segment ids into vertex descriptors. At position i is the segment with the id of instance_id_to_index_lookup_[0][i].  
  | 
| int  | size_of_conflict_table_ | 
|   | This variable defines the size of the conflict table. The size is quadratic.  
  | 
| int  | max_instances_ | 
|   | This variable represents the max number of module instances in the design. Also, this is the number of rows in the instance_id_to_index_lookup_ table.  
  | 
| int  | number_of_segments_ | 
|   | This variable defines how many segments exist in the segment graph. Also, this is the number of columns in the instance_id_to_index_lookup_ table.  
  | 
| int **  | instance_id_to_index_lookup_ | 
|   | This table should be used a lookup table: (segment id, instance id) -> index of conflict table.  
  | 
| bool **  | conflict_table_ | 
|   | The conflict table.  
  | 
| PathInstanceMapper *  | path_instance_mapper_ | 
| SegmentGraph &  | segment_graph_ | 
| ConflictInformation **  | conflict_info_ | 
| bool  | debugging_ | 
Detailed Description
The conflicts are stored in the base class variable conflict_table_. The columns represent wait statements of the segments. The rows are representing the notifications of events. So, a true in conflict_table_[i][j] means that the associated segment/instance i notifies the event for which the associated segment/instance j is waiting. 
TODO Handling for pointers 
Constructor & Destructor Documentation
Member Function Documentation
      
        
          | risc::sg::EventConflictTable::determine_conflict_table  | 
          ( | 
           | 
           )  | 
           [virtual] | 
        
      
 
 
      
        
          | std::list< risc::sg::MappedVariable > risc::sg::EventConflictTable::get_all_list_events_dynamically  | 
          ( | 
          SgVariableSymbol *  | 
           sc_event_list,  | 
        
        
           | 
           | 
          int  | 
           instance_id |   | 
        
        
           | 
          ) | 
           |  |  | 
        
      
 
 
      
        
          | std::list< risc::sg::MappedVariable > risc::sg::EventConflictTable::get_all_list_events_statically  | 
          ( | 
          SgSymbol *  | 
           sc_event_list,  | 
        
        
           | 
           | 
          int  | 
           instance_id |   | 
        
        
           | 
          ) | 
           |  |  | 
        
      
 
 
      
        
          | risc::sg::MappedVariableList risc::sg::ConflictTable::get_mapped_variable_dynamically  | 
          ( | 
          SgVariableSymbol *  | 
           variable,  | 
        
        
           | 
           | 
          int  | 
           instance_id |   | 
        
        
           | 
          ) | 
           |  |  [inherited] | 
        
      
 
 
      
        
          | risc::sg::MappedVariableList risc::sg::ConflictTable::get_mapped_variable_statically  | 
          ( | 
          SgVariableSymbol *  | 
           variable,  | 
        
        
           | 
           | 
          int  | 
           instance_id |   | 
        
        
           | 
          ) | 
           |  |  [inherited] | 
        
      
 
 
      
        
          | int risc::sg::ConflictTable::get_max_instances  | 
          ( | 
          int  | 
           segment_id | 
           )  | 
           [inherited] | 
        
      
 
 
      
        
          | bool risc::sg::ConflictTable::has_conflict  | 
          ( | 
          int  | 
           segment_id_1,  | 
        
        
           | 
           | 
          int  | 
           instance_id_1,  | 
        
        
           | 
           | 
          int  | 
           segment_id_2,  | 
        
        
           | 
           | 
          int  | 
           instance_id_2 |   | 
        
        
           | 
          ) | 
           |  |  [inherited] | 
        
      
 
 
      
        
          | std::pair< int, int > risc::sg::ConflictTable::index_to_segment_and_instance_id  | 
          ( | 
          int  | 
           index | 
           )  | 
           [inherited] | 
        
      
 
 
      
        
          | void risc::sg::ConflictTable::print_conflict_table  | 
          ( | 
          std::string  | 
           filename | 
           )  | 
           [inherited] | 
        
      
 
 
      
        
          | risc::sg::ConflictTable::print_instance_id_to_index_lookup_table  | 
          ( | 
           | 
           )  | 
           [inherited] | 
        
      
 
This function prints the table instance_id_to_index_lookup_table in the terminal. 
 
 
      
        
          | void risc::sg::ConflictTable::print_lookup_table  | 
          ( | 
          std::string  | 
           filename | 
           )  | 
           [inherited] | 
        
      
 
 
      
        
          | int risc::sg::ConflictTable::segment_and_instance_id_to_index  | 
          ( | 
          int  | 
           segment_id,  | 
        
        
           | 
           | 
          int  | 
           instance_id |   | 
        
        
           | 
          ) | 
           |  |  [inherited] | 
        
      
 
 
      
        
          | void risc::sg::ConflictTable::set_conflict  | 
          ( | 
          int  | 
           segment_id_1,  | 
        
        
           | 
           | 
          int  | 
           instance_id_1,  | 
        
        
           | 
           | 
          int  | 
           segment_id_2,  | 
        
        
           | 
           | 
          int  | 
           instance_id_2 |   | 
        
        
           | 
          ) | 
           |  |  [inherited] | 
        
      
 
 
Member Data Documentation
This table should be used a lookup table: (segment id, instance id) -> index of conflict table. 
 
 
This variable represents the max number of module instances in the design. Also, this is the number of rows in the instance_id_to_index_lookup_ table. 
 
 
This variable defines how many segments exist in the segment graph. Also, this is the number of columns in the instance_id_to_index_lookup_ table. 
 
 
This variable defines the size of the conflict table. The size is quadratic. 
 
 
This lookup table translates segment ids into vertex descriptors. At position i is the segment with the id of instance_id_to_index_lookup_[0][i]. 
 
 
The documentation for this class was generated from the following files: