40 #ifndef FU_BINDING_CS_H 41 #define FU_BINDING_CS_H 72 const std::list<structural_objectRef>& memory_modules,
74 unsigned int& _unique_id)
override;
88 unsigned int num)
override;
118 const std::list<structural_objectRef>& memory_modules,
155 const std::list<structural_objectRef>& memory_modules,
176 #endif // FU_BINDING_CS_H void manage_memory_ports_parallel_chained(const HLS_managerRef HLSMgr, const structural_managerRef SM, const std::list< structural_objectRef > &memory_modules, const structural_objectRef circuit, const hlsRef HLS, unsigned int &_unique_id) override
decide based on function what function to call in order to connect appropriately the datapath memory_...
void add_to_SM(const HLS_managerRef HLSMgr, const hlsRef HLS, structural_objectRef clock_port, structural_objectRef reset_port) override
Call different method that instantiate the new component for each function_type.
void manage_extern_global_port(const HLS_managerRef HLSMgr, const hlsRef HLS, const structural_managerRef SM, structural_objectRef port_in, unsigned int dir, structural_objectRef circuit, unsigned int num) override
manage_extern_global_port based on function attach the input of memory modules
~fu_binding_cs() override
Destructor.
void resize_dimension_bus_port(const HLS_managerRef HLSMgr, structural_objectRef port)
for each port resize it using vector size
void connect_scheduler_Datapath(const structural_managerRef SM, const std::list< structural_objectRef > &memory_modules, const structural_objectRef circuit, const hlsRef HLS, unsigned int &_unique_id)
connect scheduler with datapath and other memory modules
void set_atomic_memory_parameter(const hlsRef HLS)
set_atomic_memory_parameter need to set in order to have memory operation defined as atomic ...
void manage_memory_port_kernel(const structural_managerRef SM, const std::list< structural_objectRef > &memory_modules, const structural_objectRef circuit, const hlsRef HLS, unsigned int &_unique_id)
manage_memory_port_kernel connect correctly memory port when in kernel function
void connectOutOr(const HLS_managerRef HLSMgr, const hlsRef HLS, structural_objectRef port_out_or)
connectOutOr connect or with datapath or scheduler depending on function
fu_binding_cs(const HLS_managerConstRef _HLSMgr, const unsigned int function_id, const ParameterConstRef parameters)
void instantiate_component_kernel(const HLS_managerRef HLSMgr, const hlsRef HLS, structural_objectRef clock_port, structural_objectRef reset_port)
instantiate_component_kernel
void connect_selector(const hlsRef HLS)
connect_selector in function not kernel connect selector with all the module that have the right port...
void connect_selector_kernel(const hlsRef HLS)
connect_selector_kernel, kernel take selector from scheduler
Data structure used to store the functional-unit binding of the vertexes.
void manage_memory_port_hierarchical(const structural_managerRef SM, const std::list< structural_objectRef > &memory_modules, const structural_objectRef circuit, const hlsRef HLS, unsigned int &_unique_id)
manage_memory_port_hierarchical connect correctly memory port when in hierarchical function ...
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Class managing the functional-unit binding.
const ParameterConstRef parameters
The set of input parameters.
void resize_scheduler_ports(const HLS_managerRef HLSMgr, structural_objectRef scheduler_mod)
for each port decide its vector size