risc::sg::ConflictTable Class Reference

#include <conflict_table.h>

Inheritance diagram for risc::sg::ConflictTable:
Inheritance graph
[legend]
Collaboration diagram for risc::sg::ConflictTable:
Collaboration graph
[legend]

List of all members.

Classes

struct  ConflictInformation

Public Member Functions

 ConflictTable (SegmentGraph &segment_graph, PathInstanceMapper &path_instance_mapper, bool debugging=false)
 Default constructor.
 ~ConflictTable ()
 Default constructor.
void print_conflict_table (std::string filename)
 Generates a html file of the conflict table.
void print_lookup_table (std::string filename)
 Generates a html file of the lookup table.
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.
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.
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 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)
 This function sets a conflict in the conflict table.
void set_conflict_cause (int segment_id_1, int instance_id_1, int segment_id_2, int instance_id_2, SgNode *cause=NULL)
 This function sets a conflict in the conflict table.
virtual void determine_conflict_table ()
 This function determines the conflict table. The function is overloaded for the data and event conflict table.
VertexDescriptor segment_id_to_vertex_descriptor (int id)
 This function translates the given segment id to the corresponding vertex descriptor.

Public Attributes

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].
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.
PathInstanceMapperpath_instance_mapper_
SegmentGraphsegment_graph_
ConflictInformation ** conflict_info_
bool debugging_

Constructor & Destructor Documentation

risc::sg::ConflictTable::ConflictTable ( SegmentGraph segment_graph,
PathInstanceMapper path_instance_mapper,
bool  debugging = false 
)

Default constructor.

risc::sg::ConflictTable::~ConflictTable (  ) 

Default constructor.


Member Function Documentation

void risc::sg::ConflictTable::determine_conflict_table (  )  [virtual]

This function determines the conflict table. The function is overloaded for the data and event conflict table.

determine_conflict_table

Reimplemented in risc::sg::DataConflictTable, and risc::sg::EventConflictTable.

bool risc::sg::ConflictTable::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 instance id 2.

has_conflict

std::pair< int, int > risc::sg::ConflictTable::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.

index_to_segment_and_instance_id

void risc::sg::ConflictTable::print_conflict_table ( std::string  filename  ) 

Generates a html file of the conflict table.

print_conflict_table

void risc::sg::ConflictTable::print_instance_id_to_index_lookup_table (  ) 

This function prints the table instance_id_to_index_lookup_table in the terminal.

print_instance_id_to_index_lookup_table

void risc::sg::ConflictTable::print_lookup_table ( std::string  filename  ) 

Generates a html file of the lookup table.

print_lookup_table

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

segment_and_instance_id_to_index

risc::sg::VertexDescriptor risc::sg::ConflictTable::segment_id_to_vertex_descriptor ( int  id  ) 

This function translates the given segment id to the corresponding vertex descriptor.

segment_id_to_vertex_descriptor

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

set_conflict

void risc::sg::ConflictTable::set_conflict_cause ( int  segment_id_1,
int  instance_id_1,
int  segment_id_2,
int  instance_id_2,
SgNode *  cause = NULL 
)

This function sets a conflict in the conflict table.

set_conflict


Member Data Documentation

The conflict 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].


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 29 Oct 2015 by  doxygen 1.6.1