43 #ifndef STATE_TRANSITION_GRAPH_MANAGER_HPP 44 #define STATE_TRANSITION_GRAPH_MANAGER_HPP 221 #define STATE_NAME_PREFIX "S_" CONSTREF_FORWARD_DECL(FunctionBehavior)
Graph include.
StateTransitionGraphManager(const HLS_managerConstRef HLSMgr, hlsRef HLS, const ParameterConstRef _Param)
Constructor of the class.
const StateTransitionGraph_constructorRef STG_builder
reference to the class for building the graph
CustomOrderedSet< vertex > get_ending_states(const vertex &op) const
const StateTransitionGraphConstRef CGetEPPStg() const
Returns pointer to acyclic STG with additional edges for Efficient Path Profiling.
const StateTransitionGraphsCollectionRef state_transition_graphs_collection
The bulk graph.
vertex get_entry_state() const
Gets vertex that represents state that contains entry node.
StateTransitionGraphRef GetAstg()
Returns pointer to state transition graph created.
Class specification of the graph structures.
hlsRef HLS
HLS data-structure.
This class manages the circuit structures.
This structure defines the bulk for the state transition graph.
void ComputeCyclesCount(bool is_pipelined)
Compute minimum and maximum number of cycles for bounded scheduling.
vertex get_exit_state() const
Gets vertex that represents state that contains exit node.
Class used to manage a graph into finite state machine representation; it contains methods to build t...
const OpGraphConstRef op_function_graph
reference to operation graph
StateTransitionGraphRef GetEPPStg()
Returns pointer to acyclic STG with additional edges for Efficient Path Profiling.
const ParameterConstRef Param
class containing all the parameters
std::map< vertex, generic_objRef > multi_unbounded_table
map between state and multi-unbounded controllers
void print_statistics() const
CustomOrderedSet< vertex > get_states(const vertex &op, StateTypes statetypes) const
Class used to describe a state transition graph.
unsigned int get_number_of_states() const
const unsigned int _max_cycles_bounded
const std::map< vertex, generic_objRef > & get_mu_ctrls() const
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
Generic class managing all resources into datapath.
CustomOrderedSet< vertex > get_starting_states(const vertex &op) const
const StateTransitionGraphRef STG_graph
The complete version of the STG.
const StateTransitionGraphConstRef CGetAstg() const
Returns pointer to state transition graph created.
Template definition of refcount.
const StateTransitionGraphRef EPP_STG_graph
The acyclic version of stg with additional edges necessary for Efficient Path Profiling.
void add_to_SM(structural_objectRef clock_port, structural_objectRef reset_port)
Add components to the datapath required by the FSM.
void specialise_mu(structural_objectRef &mu_mod, generic_objRef mu) const
const StateTransitionGraphRef ACYCLIC_STG_graph
The acyclic version of the STG.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
StateTransitionGraphRef GetStg()
Returns pointer to state transition graph created.
~StateTransitionGraphManager()
Destructor.
int output_level
verbosity level
Data structure that contains all information about high level synthesis process.
Class used to describe a particular graph with operations as nodes.
const StateTransitionGraphConstRef CGetStg() const
Returns pointer to state transition graph created.
CustomOrderedSet< vertex > get_execution_states(const vertex &op) const
Base object for all the structural objects.
void add_multi_unbounded_obj(vertex s, const CustomOrderedSet< vertex > &ops)
int debug_level
debugging level
std::string get_state_name(vertex state) const
Get the name of a state.