PandA-2024.02
Public Member Functions | Protected Attributes
ModuleGeneratorManager Class Reference

#include <ModuleGeneratorManager.hpp>

Collaboration diagram for ModuleGeneratorManager:
Collaboration graph
[legend]

Public Member Functions

 ModuleGeneratorManager (const HLS_managerRef HLSMgr, const ParameterConstRef parameters)
 Constructor. More...
 
virtual ~ModuleGeneratorManager ()
 Destructor. More...
 
structural_type_descriptorRef getDataType (unsigned int variable, const FunctionBehaviorConstRef function_behavior) const
 
void add_port_parameters (structural_objectRef generated_port, structural_objectRef original_port)
 
std::string GenerateHDL (const std::string &hdl_template, structural_objectRef mod, unsigned int function_id, vertex op_v, const std::vector< std::tuple< unsigned int, unsigned int >> &required_variables, HDLWriter_Language language)
 
std::string get_specialized_name (unsigned int firstIndexToSpecialize, const std::vector< std::tuple< unsigned int, unsigned int >> &required_variables, const FunctionBehaviorConstRef FB) const
 
void specialize_fu (const std::string &fu_name, vertex ve, const FunctionBehaviorConstRef FB, const std::string &libraryId, const std::string &new_fu_name, std::map< std::string, technology_nodeRef > &new_fu)
 
void create_generic_module (const std::string &fu_name, vertex ve, const FunctionBehaviorConstRef FB, const std::string &libraryId, const std::string &new_fu_name)
 

Protected Attributes

const HLS_managerRef HLSMgr
 The HLS manager. More...
 
const ParameterConstRef parameters
 The set of input parameters. More...
 
const int debug_level
 The debug level. More...
 

Detailed Description

Definition at line 64 of file ModuleGeneratorManager.hpp.

Constructor & Destructor Documentation

◆ ModuleGeneratorManager()

ModuleGeneratorManager::ModuleGeneratorManager ( const HLS_managerRef  HLSMgr,
const ParameterConstRef  parameters 
)

Constructor.

Parameters
HLSMgris the HLS manager
parametersis the set of input parameters

Definition at line 82 of file ModuleGeneratorManager.cpp.

References ~ModuleGeneratorManager().

Here is the call graph for this function:

◆ ~ModuleGeneratorManager()

ModuleGeneratorManager::~ModuleGeneratorManager ( )
virtualdefault

Destructor.

Referenced by ModuleGeneratorManager().

Here is the caller graph for this function:

Member Function Documentation

◆ add_port_parameters()

void ModuleGeneratorManager::add_port_parameters ( structural_objectRef  generated_port,
structural_objectRef  original_port 
)

Definition at line 163 of file ModuleGeneratorManager.cpp.

References structural_object::copy(), structural_object::get_typeRef(), structural_type_descriptor::size, and structural_type_descriptor::vector_size.

Referenced by create_generic_module(), and specialize_fu().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_generic_module()

void ModuleGeneratorManager::create_generic_module ( const std::string &  fu_name,
vertex  ve,
const FunctionBehaviorConstRef  FB,
const std::string &  libraryId,
const std::string &  new_fu_name 
)

◆ GenerateHDL()

std::string ModuleGeneratorManager::GenerateHDL ( const std::string &  hdl_template,
structural_objectRef  mod,
unsigned int  function_id,
vertex  op_v,
const std::vector< std::tuple< unsigned int, unsigned int >> &  required_variables,
HDLWriter_Language  language 
)

◆ get_specialized_name()

std::string ModuleGeneratorManager::get_specialized_name ( unsigned int  firstIndexToSpecialize,
const std::vector< std::tuple< unsigned int, unsigned int >> &  required_variables,
const FunctionBehaviorConstRef  FB 
) const

Definition at line 103 of file ModuleGeneratorManager.cpp.

References getDataType(), index, NAMESEPARATOR, resize_to_8_or_greater(), STR, and U.

Here is the call graph for this function:

◆ getDataType()

structural_type_descriptorRef ModuleGeneratorManager::getDataType ( unsigned int  variable,
const FunctionBehaviorConstRef  function_behavior 
) const

Definition at line 92 of file ModuleGeneratorManager.cpp.

References FunctionBehavior::CGetBehavioralHelper().

Referenced by GenerateHDL(), get_specialized_name(), and specialize_fu().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ specialize_fu()

void ModuleGeneratorManager::specialize_fu ( const std::string &  fu_name,
vertex  ve,
const FunctionBehaviorConstRef  FB,
const std::string &  libraryId,
const std::string &  new_fu_name,
std::map< std::string, technology_nodeRef > &  new_fu 
)

Field Documentation

◆ debug_level

const int ModuleGeneratorManager::debug_level
protected

The debug level.

Definition at line 74 of file ModuleGeneratorManager.hpp.

Referenced by create_generic_module(), GenerateHDL(), and specialize_fu().

◆ HLSMgr

const HLS_managerRef ModuleGeneratorManager::HLSMgr
protected

The HLS manager.

Definition at line 68 of file ModuleGeneratorManager.hpp.

Referenced by create_generic_module(), GenerateHDL(), and specialize_fu().

◆ parameters

const ParameterConstRef ModuleGeneratorManager::parameters
protected

The set of input parameters.

Definition at line 71 of file ModuleGeneratorManager.hpp.

Referenced by create_generic_module(), and specialize_fu().


The documentation for this class was generated from the following files:

Generated on Mon Feb 12 2024 13:03:58 for PandA-2024.02 by doxygen 1.8.13