![]() |
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.
1.8.13