PandA-2024.02
Public Member Functions | Protected Member Functions
conn_binding_cs Class Reference

#include <conn_binding_cs.hpp>

Inheritance diagram for conn_binding_cs:
Inheritance graph
[legend]
Collaboration diagram for conn_binding_cs:
Collaboration graph
[legend]

Public Member Functions

 conn_binding_cs (const BehavioralHelperConstRef BH, const ParameterConstRef parameters)
 
 ~conn_binding_cs () override
 Destructor. More...
 
void add_to_SM (const HLS_managerRef HLSMgr, const hlsRef HLS, const structural_managerRef SM) override
 add_to_SM More...
 
- Public Member Functions inherited from conn_binding
 conn_binding (const BehavioralHelperConstRef BH, const ParameterConstRef parameters)
 Constructor. More...
 
virtual ~conn_binding ()
 Destructor. More...
 
generic_objRef bind_port (unsigned int var, direction_type dir)
 Bind variable to a port object. More...
 
generic_objRef bind_command_port (const vertex &ver, direction_type dir, unsigned int mode, const OpGraphConstRef g)
 Bind vertex to a command port object. More...
 
generic_objRef bind_selector_port (direction_type dir, unsigned int mode, const vertex &cond, const OpGraphConstRef data)
 
generic_objRef bind_selector_port (direction_type dir, unsigned int mode, const generic_objRef elem, unsigned int op)
 
generic_objRef get_port (unsigned int var, direction_type dir)
 Returns reference to generic object associated to a given variable, for a specific port direction. More...
 
virtual void print () const
 Function that prints the interconnection binding. More...
 
void add_data_transfer (const generic_objRef op1, const generic_objRef op2, unsigned int operand, unsigned int port_index, data_transfer data)
 Adds a data transfer between two objects. More...
 
void AddConnectionCB (const generic_objRef op1, const generic_objRef op2, unsigned int operand, unsigned int port_index, connection_objRef conn)
 Creates a connection between two objects. More...
 
const std::map< ConnectionTarget, ConnectionSources > & get_data_transfers () const
 Returns the map containing all the data transfers. More...
 
unsigned long long determine_bit_level_mux () const
 Returns the number of bit-level multiplexers. More...
 
const std::map< unsigned int, Selectors > & GetSelectors () const
 
void add_sparse_logic (const generic_objRef so)
 
generic_objRef get_constant_obj (const std::string &value, const std::string &param, unsigned int precision)
 
const std::map< const_param, generic_objRef > & get_constant_objs () const
 
void cleanInternals ()
 

Protected Member Functions

void instantiate_suspension_component (const HLS_managerRef HLSMgr, const hlsRef HLS)
 connect_suspension_component More...
 
void connectOutOr (const HLS_managerRef HLSMgr, const hlsRef HLS, structural_objectRef port_out_or)
 connectOutOr depending if module is kernel or another connect out More...
 

Additional Inherited Members

- Public Types inherited from conn_binding
using direction_type = enum { IN=0, OUT }
 direction port identifier More...
 
using type_t = enum { STG=0 }
 type of the data-structure More...
 
using connection = std::tuple< generic_objRef, generic_objRef, unsigned int, unsigned int >
 connection between two objects (<src, tgt, tgt_port, tgt_port_index>) More...
 
using conn_implementation_map = std::map< connection, connection_objRef, ConnectionSorter >
 
using const_param = std::tuple< std::string, std::string >
 definition of the key to deal with constant parameters More...
 
using ConnectionSources = std::map< generic_objRef, CustomOrderedSet< data_transfer >, GenericObjSorter >
 definition of sources of a connection More...
 
- Static Public Member Functions inherited from conn_binding
static conn_bindingRef create_conn_binding (const HLS_managerRef _HLSMgr, const hlsRef _HLS, const BehavioralHelperConstRef _BH, const ParameterConstRef _parameters)
 factory method to create the right conn_binding depending on the flow More...
 
- Protected Attributes inherited from conn_binding
const ParameterConstRef parameters
 The set of input parameters. More...
 
int debug_level
 control the verbosity during the debugging More...
 

Detailed Description

Definition at line 45 of file conn_binding_cs.hpp.

Constructor & Destructor Documentation

◆ conn_binding_cs()

conn_binding_cs::conn_binding_cs ( const BehavioralHelperConstRef  BH,
const ParameterConstRef  parameters 
)

Definition at line 57 of file conn_binding_cs.cpp.

References conn_binding::debug_level, GET_CLASS, and ~conn_binding_cs().

Here is the call graph for this function:

◆ ~conn_binding_cs()

conn_binding_cs::~conn_binding_cs ( )
overridedefault

Destructor.

Referenced by conn_binding_cs().

Here is the caller graph for this function:

Member Function Documentation

◆ add_to_SM()

void conn_binding_cs::add_to_SM ( const HLS_managerRef  HLSMgr,
const hlsRef  HLS,
const structural_managerRef  SM 
)
overridevirtual

add_to_SM

Parameters
HLSMgr
HLS
SM

Reimplemented from conn_binding.

Definition at line 65 of file conn_binding_cs.cpp.

References conn_binding::add_to_SM(), and instantiate_suspension_component().

Here is the call graph for this function:

◆ connectOutOr()

void conn_binding_cs::connectOutOr ( const HLS_managerRef  HLSMgr,
const hlsRef  HLS,
structural_objectRef  port_out_or 
)
protected

connectOutOr depending if module is kernel or another connect out

Parameters
HLSMgr
HLS
port_out_or

Definition at line 236 of file conn_binding_cs.cpp.

References structural_manager::add_connection(), structural_manager::add_sign(), component_o_K, hls::datapath, conn_binding::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, structural_object::find_member(), hls::functionId, structural_manager::get_circ(), port_o_K, PRINT_DBG_MEX, STR, and SUSPENSION.

Referenced by instantiate_suspension_component().

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

◆ instantiate_suspension_component()

void conn_binding_cs::instantiate_suspension_component ( const HLS_managerRef  HLSMgr,
const hlsRef  HLS 
)
protected

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

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