All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
risc::sg::CombinedDataConflictTable Class Reference

#include <combined_data_conflict_table.h>

Collaboration diagram for risc::sg::CombinedDataConflictTable:
Collaboration graph

Public Member Functions

 CombinedDataConflictTable (risc::sg::DataConflictTable &dct, PathInstanceMapper *path_instance_mapper)
 Creates the combined data conflict table. The maximum number of steps will be calculated automatically. More...
 
 ~CombinedDataConflictTable ()
 
int get_max_instances (int segment_id)
 This functions returns how many instances of a given segment exist. More...
 
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 instance id. The first value is the segment id and the second value is the instance id. More...
 
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. More...
 
void print_conflict_table ()
 This function prints the combined conflict table in the terminal. More...
 
void print_conflict_table (bool *table)
 This function prints the table table in the terminal. More...
 
void print_conflict_table (std::string filename)
 This function prints the combined conflict table in the file filename. More...
 
void print_lookup_table ()
 This function prints the table instance_id_to_index_lookup_table in the terminal. More...
 
void print_lookup_table (std::string filename)
 This function prints the table instance_id_to_index_lookup_table in the file filename. More...
 
int max_prediction_steps ()
 the number of prediction steps until no more changes will happen More...
 

Public Attributes

PathInstanceMapperpath_instance_mapper_
 The global path instance mapper. More...
 
VertexDescriptorvertex_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]. More...
 
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. More...
 
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. More...
 
int size_of_conflict_table_
 This variable defines the size of the conflict table. The size is quadratic. More...
 
int ** instance_id_to_index_lookup_
 This table should be used a lookup table: (segment id, instance id) -> index of conflict table. More...
 
int * combined_table_
 The conflict table. More...
 
int prediction_steps_
 number of prediction steps until no more changes happen More...
 

Private Member Functions

void compute_combined_table ()
 This function computes the combined table for 'prediction_steps_' prediction steps. More...
 

Private Attributes

risc::sg::DataConflictTabledct_
 The data conflict table. More...
 

Constructor & Destructor Documentation

risc::sg::CombinedDataConflictTable::CombinedDataConflictTable ( risc::sg::DataConflictTable dct,
PathInstanceMapper path_instance_mapper 
)

Creates the combined data conflict table. The maximum number of steps will be calculated automatically.

risc::sg::CombinedDataConflictTable::~CombinedDataConflictTable ( )

Member Function Documentation

risc::sg::CombinedDataConflictTable::compute_combined_table ( )
private

This function computes the combined table for 'prediction_steps_' prediction steps.

risc::sg::CombinedDataConflictTable::get_max_instances ( int  segment_id)

This functions returns how many instances of a given segment exist.

risc::sg::CombinedDataConflictTable::index_to_segment_and_instance_id ( int  index)

This function translates a given index from the conflict table into the corresponding segment id and instance id. The first value is the segment id and the second value is the instance id.

risc::sg::CombinedDataConflictTable::max_prediction_steps ( )

the number of prediction steps until no more changes will happen

risc::sg::CombinedDataConflictTable::print_conflict_table ( )

This function prints the combined conflict table in the terminal.

risc::sg::CombinedDataConflictTable::print_conflict_table ( bool *  table)

This function prints the table table in the terminal.

risc::sg::CombinedDataConflictTable::print_conflict_table ( std::string  filename)

This function prints the combined conflict table in the file filename.

risc::sg::CombinedDataConflictTable::print_lookup_table ( )

This function prints the table instance_id_to_index_lookup_table in the terminal.

risc::sg::CombinedDataConflictTable::print_lookup_table ( std::string  filename)

This function prints the table instance_id_to_index_lookup_table in the file filename.

risc::sg::CombinedDataConflictTable::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.

Member Data Documentation

int* risc::sg::CombinedDataConflictTable::combined_table_

The conflict table.

risc::sg::DataConflictTable& risc::sg::CombinedDataConflictTable::dct_
private

The data conflict table.

int** risc::sg::CombinedDataConflictTable::instance_id_to_index_lookup_

This table should be used a lookup table: (segment id, instance id) -> index of conflict table.

int risc::sg::CombinedDataConflictTable::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 risc::sg::CombinedDataConflictTable::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.

PathInstanceMapper* risc::sg::CombinedDataConflictTable::path_instance_mapper_

The global path instance mapper.

int risc::sg::CombinedDataConflictTable::prediction_steps_

number of prediction steps until no more changes happen

int risc::sg::CombinedDataConflictTable::size_of_conflict_table_

This variable defines the size of the conflict table. The size is quadratic.

VertexDescriptor* risc::sg::CombinedDataConflictTable::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].


The documentation for this class was generated from the following files: