56 #include <boost/algorithm/string/predicate.hpp> 120 const auto HLS_D = HLSMgr->get_HLS_device();
121 const auto TechM = HLS_D->get_technology_manager();
122 const auto fu_node = TechM->GetFunctionFU(fname);
123 return fu_node ? fu_node->get_name() : fname;
128 const auto original_function_name = HLSMgr->CGetFunctionBehavior(funID)->CGetBehavioralHelper()->get_function_name();
129 return GetFUName(original_function_name, HLSMgr);
Data structure representing the entire HLS information.
const CustomOrderedSet< std::string > & get_shared_functions(unsigned int funID_scope) const
return the set of shared functions allocated in a given function.
bool is_a_shared_function(unsigned int funID_scope, const std::string &fun) const
return true if a given function is a shared function allocated in a given function scope ...
exceptions managed by PandA
Class specification of the manager of the technology library data structures.
bool has_proxied_shared_functions(unsigned int funID_scope) const
check if the function has proxy shared functions
#define STR(s)
Macro which performs a lexical_cast to a string.
Auxiliary methods for manipulating string.
const CustomOrderedSet< std::string > & get_proxied_shared_functions(unsigned int funID_scope) const
return the proxied internal functions associated with the function
std::map< std::string, unsigned int > proxied_functions
define where the proxied functions are mapped
Class specification of the data structures used to manage technology information. ...
void map_shared_function(unsigned int funID_scope, const std::string &fun)
allocate a shared function in a specified function.
Datastructure to describe functions allocation in high-level synthesis.
static std::string GetFUName(const std::string &fname, const HLS_managerRef HLSMgr)
Return FU used to implement given function.
virtual ~functions()
Destructor.
unsigned int get_proxy_mapping(const std::string &fun) const
in case the function is a proxy function, it returns where the function is actually instantiated ...
bool is_a_proxied_shared_function(unsigned int funID_scope, const std::string &fun) const
return true if a given function is a shared function allocated in a given function scope ...
void add_shared_function_proxy(unsigned int funID_scope, const std::string &fun)
allocate a proxy for the function referred within a given function
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
bool is_a_proxied_function(const std::string &fun) const
return true if the function is a proxied function
Class specification of the manager for each library.
std::map< unsigned int, CustomOrderedSet< std::string > > shared_function_proxy
set of function proxies called by a function
int fun(float *A, float *invA, float *b, float *x, float *I)
bool has_shared_functions(unsigned int funID_scope) const
return true in case there are shared functions allocated in a given function.
std::map< unsigned int, CustomOrderedSet< std::string > > shared_functions
reverse map of proxied_functions
HLS specialization of generic_device.
A brief description of the C++ Header File.
#define THROW_ASSERT(cond, str_expr)
helper function used to check an assert and if needed to throw an error in a standard way ...