#include <combined_data_conflict_table.h>
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 | |
PathInstanceMapper * | path_instance_mapper_ |
The global path instance mapper. More... | |
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]. 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::DataConflictTable & | dct_ |
The data conflict table. More... | |
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 | ( | ) |
|
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.
int* risc::sg::CombinedDataConflictTable::combined_table_ |
The conflict table.
|
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].