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)
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)
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)
MappedVariableList get_mapped_variable_statically (SgVariableSymbol *variable, int instance_id)
MappedVariableList get_mapped_variable_dynamically (SgVariableSymbol *variable, int instance_id)

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

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

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

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

risc::sg::MappedVariableList risc::sg::ConflictTable::get_mapped_variable_dynamically ( SgVariableSymbol *  variable,
int  instance_id 
)
risc::sg::MappedVariableList risc::sg::ConflictTable::get_mapped_variable_statically ( SgVariableSymbol *  variable,
int  instance_id 
)
bool risc::sg::ConflictTable::has_conflict ( int  segment_id_1,
int  instance_id_1,
int  segment_id_2,
int  instance_id_2 
)
std::pair< int, int > risc::sg::ConflictTable::index_to_segment_and_instance_id ( int  index  ) 
void risc::sg::ConflictTable::print_conflict_table ( std::string  filename  ) 
risc::sg::ConflictTable::print_instance_id_to_index_lookup_table (  ) 

This function prints the table instance_id_to_index_lookup_table in the terminal.

void risc::sg::ConflictTable::print_lookup_table ( std::string  filename  ) 
int risc::sg::ConflictTable::segment_and_instance_id_to_index ( int  segment_id,
int  instance_id 
)
risc::sg::VertexDescriptor risc::sg::ConflictTable::segment_id_to_vertex_descriptor ( int  id  ) 
void risc::sg::ConflictTable::set_conflict ( int  segment_id_1,
int  instance_id_1,
int  segment_id_2,
int  instance_id_2 
)

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 30 Sep 2016 by  doxygen 1.6.1