#include <prediction_event_notification_table.h>
Classes | |
struct | Node |
Public Member Functions | |
PredictionEventNotificationTable (risc::sg::EventConflictTable &ect, PathInstanceMapper *path_instance_mapper) | |
int | get_max_instances (int segment_id) |
std::pair< int, int > | index_to_segment_and_instance_id (int index) |
int | segment_and_instance_id_to_index (int segment_id, int instance_id) |
void | print_notification_table () |
This function prints the prediction event notification table in the terminal. | |
void | print_notification_table (std::string filename) |
void | print_instance_id_to_index_lookup_table () |
This function prints the table instance_id_to_index_lookup_ table in the terminal. | |
void | print_instance_id_to_index_lookup_table (std::string filename) |
Public Attributes | |
PathInstanceMapper * | path_instance_mapper_ |
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 | 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 | size_of_conflict_table_ |
This variable defines the size of the conflict table. The size is quadratic. | |
int ** | instance_id_to_index_lookup_ |
This table should be used a lookup table: (segment id, instance id) -> index of conflict table. | |
Time ** | combined_table_ |
The prediction event notification table. | |
risc::sg::EventConflictTable & | ect_ |
Private Types | |
typedef std::pair < VertexDescriptor, Time > | SegmentTimeTuple |
Private Member Functions | |
void | bfs (VertexDescriptor start, int instance) |
void | compute_combined_table () |
This function computes the combined table for 'prediction_steps_' prediction steps. |
typedef std::pair<VertexDescriptor, Time> risc::sg::PredictionEventNotificationTable::SegmentTimeTuple [private] |
risc::sg::PredictionEventNotificationTable::PredictionEventNotificationTable | ( | risc::sg::EventConflictTable & | ect, | |
PathInstanceMapper * | path_instance_mapper | |||
) |
void risc::sg::PredictionEventNotificationTable::bfs | ( | VertexDescriptor | start, | |
int | instance | |||
) | [private] |
risc::sg::PredictionEventNotificationTable::compute_combined_table | ( | ) | [private] |
This function computes the combined table for 'prediction_steps_' prediction steps.
int risc::sg::PredictionEventNotificationTable::get_max_instances | ( | int | segment_id | ) |
std::pair< int, int > risc::sg::PredictionEventNotificationTable::index_to_segment_and_instance_id | ( | int | index | ) |
void risc::sg::PredictionEventNotificationTable::print_instance_id_to_index_lookup_table | ( | std::string | filename | ) |
risc::sg::PredictionEventNotificationTable::print_instance_id_to_index_lookup_table | ( | ) |
This function prints the table instance_id_to_index_lookup_ table in the terminal.
This function prints the table instance_id_to_index_lookup_ table in the file filename.
void risc::sg::PredictionEventNotificationTable::print_notification_table | ( | std::string | filename | ) |
risc::sg::PredictionEventNotificationTable::print_notification_table | ( | ) |
This function prints the prediction event notification table in the terminal.
This function prints the prediction event notification table in the file filename.
int risc::sg::PredictionEventNotificationTable::segment_and_instance_id_to_index | ( | int | segment_id, | |
int | instance_id | |||
) |
The prediction event notification table.
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].