PandA-2024.02
|
#include <reg_binding_cs.hpp>
Public Member Functions | |
reg_binding_cs (const hlsRef &HLS, const HLS_managerRef HLSMgr_) | |
Constructor. More... | |
~reg_binding_cs () override | |
Destructor. More... | |
Public Member Functions inherited from reg_binding | |
reg_binding (const hlsRef &HLS, const HLS_managerRef HLSMgr_) | |
Constructor. More... | |
~reg_binding () override | |
Destructor. More... | |
void | bind (unsigned int sv, unsigned int index) |
unsigned int | get_used_regs () const |
returns number of used register More... | |
void | set_used_regs (unsigned int regs) |
sets number of used register More... | |
unsigned int | get_register (unsigned int sv) const |
return the register index where the storage value is stored More... | |
bool | is_all_regs_without_enable () |
return true when all registers are without write enable: pipelining comes for free More... | |
void | print_el (const_iterator &it) const override |
Function that print the register binding associated with a storage value. More... | |
generic_objRef | get (const unsigned int &r) const |
Returns reference to register object associated to a given index. More... | |
const register_obj & | operator[] (unsigned int v) |
redefinition of the [] operator More... | |
virtual void | add_to_SM (structural_objectRef clock_port, structural_objectRef reset_port) |
Add the resulting registers to the structural description of the datapath. More... | |
unsigned long long | get_bitsize (unsigned int r) const |
return bitsize More... | |
Public Member Functions inherited from variable2obj< generic_objRef > | |
variable2obj ()=default | |
Constructor. More... | |
virtual | ~variable2obj ()=default |
Destructor. More... | |
virtual void | print_el (typename variable2obj< generic_objRef >::const_iterator &it) const=0 |
Function that print the information associated with a variable. More... | |
virtual void | print () const |
Function that prints the class variable2obj. More... | |
const generic_objRef | operator() (const unsigned int &__k) const |
void | resize (Iterator left, Iterator right, int val) |
Protected Member Functions | |
std::string | GetRegisterFUName (unsigned int i) override |
return the name of register to be used More... | |
void | specialise_reg (structural_objectRef ®, unsigned int r) override |
Specialise a register according to the type of the variables crossing it. More... | |
Protected Member Functions inherited from reg_binding | |
void | compute_is_without_enable () |
compute the is with out enable relation More... | |
Additional Inherited Members | |
Public Types inherited from reg_binding | |
using | type_t = enum { STG=0, CDFG } |
Static Public Member Functions inherited from reg_binding | |
static reg_bindingRef | create_reg_binding (const hlsRef &HLS, const HLS_managerRef HLSMgr_) |
Protected Attributes inherited from reg_binding | |
int | debug |
level of the verbosity during the debugging More... | |
unsigned int | used_regs |
number of used register More... | |
std::map< unsigned int, generic_objRef > | unique_table |
map between register index and object More... | |
std::map< unsigned int, generic_objRef > | stall_reg_table |
map between std register index and stall register object for pipelines More... | |
std::map< unsigned int, unsigned int > | reverse_map |
bind the storage value with the register instance More... | |
std::map< unsigned int, unsigned long long > | bitsize_map |
relation between registers and their bitsize More... | |
hlsRef | HLS |
HLS data-structure. More... | |
const HLS_managerRef | HLSMgr |
information about all the HLS synthesis More... | |
std::map< unsigned int, CustomOrderedSet< unsigned int > > | reg2storage_values |
map between the register and the associated storage value More... | |
CustomOrderedSet< unsigned int > | is_without_enable |
store the set of register without enable More... | |
bool | all_regs_without_enable |
when true all registers do not require write enable: pipelining comes for free More... | |
const FunctionBehaviorConstRef | FB |
Static Protected Attributes inherited from reg_binding | |
static std::string | reset_type |
Definition at line 46 of file reg_binding_cs.hpp.
reg_binding_cs::reg_binding_cs | ( | const hlsRef & | HLS, |
const HLS_managerRef | HLSMgr_ | ||
) |
Constructor.
STD include.
Definition at line 54 of file reg_binding_cs.cpp.
References ~reg_binding_cs().
|
overridedefault |
|
overrideprotectedvirtual |
return the name of register to be used
i | is the id of the register |
Reimplemented from reg_binding.
Definition at line 60 of file reg_binding_cs.cpp.
|
overrideprotectedvirtual |
Specialise a register according to the type of the variables crossing it.
reg | is the register |
r | is the id of the register |
Reimplemented from reg_binding.
Definition at line 65 of file reg_binding_cs.cpp.
References ceil_log2(), structural_object::find_member(), reg_binding::HLS, hls::Param, port_o_K, SELECTOR_REGISTER_FILE, reg_binding::specialise_reg(), STR, and structural_object::type_resize().