PandA-2024.02
|
This class describe a functional unit template. More...
#include <technology_node.hpp>
Public Member Functions | |
const std::string & | get_name () const override |
Return the name of the operation. More... | |
void | xload (const xml_element *Enode, const technology_nodeRef tnd, const ParameterConstRef Param) override |
Load a functional unit starting from an xml file. More... | |
void | xwrite (xml_element *rootnode, const technology_nodeRef tn, const ParameterConstRef Param) override |
Add a functional unit to an xml tree. More... | |
void | print (std::ostream &os) const override |
function that prints the class functional_unit. More... | |
functional_unit_template () | |
Constructor. More... | |
functional_unit_template (const xml_nodeRef XML_description) | |
Public Member Functions inherited from technology_node | |
technology_node () | |
Constructor. More... | |
virtual | ~technology_node () |
Destructor. More... | |
virtual std::string | get_kind_text () const =0 |
Virtual function used to get the string name of a technology_node instance. More... | |
virtual enum tec_kind | get_kind () const =0 |
Virtual function used to find the real type of a technology_nodeinstance. More... | |
Data Fields | |
technology_nodeRef | FU |
Functional Unit. More... | |
std::string | specialized |
when non empty it defines with respect what the functional unit template has been specialized More... | |
std::string | characterizing_constant_value |
Value used during the characterization of templates. More... | |
std::string | memory_type |
Specify the type of memory the functional unit is compliant with. More... | |
std::string | channels_type |
Specify the type of the channel the functional unit is compliant with. More... | |
std::string | memory_ctrl_type |
Specify the type of memory controller the functional unit is compliant with. More... | |
std::string | bram_load_latency |
Specify the bram load latency the functional unit is compliant with. More... | |
bool | no_constant_characterization |
The template will not consider constants connected to the inputs during the module characterization. More... | |
Additional Inherited Members | |
Static Protected Attributes inherited from technology_node | |
static simple_indent | PP |
pretty print functor object used by all print members to indent the output of the print function. More... | |
This class describe a functional unit template.
Definition at line 689 of file technology_node.hpp.
functional_unit_template::functional_unit_template | ( | ) |
Constructor.
Definition at line 804 of file technology_node.cpp.
|
explicit |
Definition at line 808 of file technology_node.cpp.
|
inlineoverridevirtual |
Return the name of the operation.
Implements technology_node.
Definition at line 728 of file technology_node.hpp.
References technology_node::get_name(), GET_TEC_KIND, GET_TEC_KIND_TEXT, technology_node::print(), technology_node::xload(), and technology_node::xwrite().
|
overridevirtual |
function that prints the class functional_unit.
os | is the output stream. |
Implements technology_node.
Definition at line 932 of file technology_node.cpp.
References FU, and technology_node::print().
|
overridevirtual |
Load a functional unit starting from an xml file.
node | is a node of the xml tree. |
owner | is the refcount version of this. |
Implements technology_node.
Definition at line 813 of file technology_node.cpp.
References bram_load_latency, channels_type, characterizing_constant_value, xml_node::convert_escaped(), FU, xml_child::get_children(), GET_CLASS_NAME, xml_text_node::get_content(), memory_ctrl_type, memory_type, no_constant_characterization, specialized, THROW_ERROR, and technology_node::xload().
|
overridevirtual |
Add a functional unit to an xml tree.
rootnode | is the root node at which the xml representation of the functional unit is attached. |
Implements technology_node.
Definition at line 892 of file technology_node.cpp.
References xml_child::add_child_element(), xml_child::add_child_text(), bram_load_latency, channels_type, characterizing_constant_value, FU, GET_CLASS_NAME, memory_ctrl_type, memory_type, no_constant_characterization, specialized, and technology_node::xwrite().
std::string functional_unit_template::bram_load_latency |
Specify the bram load latency the functional unit is compliant with.
non-null only in case the functional unit is a memory or a memory controller.
Definition at line 713 of file technology_node.hpp.
std::string functional_unit_template::channels_type |
Specify the type of the channel the functional unit is compliant with.
Definition at line 705 of file technology_node.hpp.
std::string functional_unit_template::characterizing_constant_value |
Value used during the characterization of templates.
Definition at line 698 of file technology_node.hpp.
technology_nodeRef functional_unit_template::FU |
Functional Unit.
Definition at line 692 of file technology_node.hpp.
Referenced by allocation::get_compliant_pipelined_unit(), print(), xload(), and xwrite().
std::string functional_unit_template::memory_ctrl_type |
Specify the type of memory controller the functional unit is compliant with.
non-null only in case the functional unit is a memory controller.
Definition at line 709 of file technology_node.hpp.
std::string functional_unit_template::memory_type |
Specify the type of memory the functional unit is compliant with.
non-null only in case the functional unit is a memory.
Definition at line 702 of file technology_node.hpp.
bool functional_unit_template::no_constant_characterization |
The template will not consider constants connected to the inputs during the module characterization.
Definition at line 716 of file technology_node.hpp.
std::string functional_unit_template::specialized |
when non empty it defines with respect what the functional unit template has been specialized
Definition at line 695 of file technology_node.hpp.