PandA-2024.02
|
This class is a specialization of generic_obj class to represent a multiplexer into the datapath. More...
#include <mux_obj.hpp>
Public Member Functions | |
mux_obj (const generic_objRef first, const generic_objRef second, unsigned int level, const std::string &name, const generic_objRef overall_target) | |
This is the constructor of the object class. More... | |
~mux_obj () override | |
Destructor. More... | |
void | set_target (const generic_objRef tgt) |
Sets target object for multiplexer. More... | |
generic_objRef | get_final_target () |
Returns the object which will receive the mux tree result. More... | |
generic_objRef | GetSelector () const |
Gets the selector. More... | |
void | set_selector (const generic_objRef sel) |
Sets the element representing the selector. More... | |
unsigned int | get_level () const |
Return the level of the multiplexer. More... | |
void | add_bitsize (unsigned int _bitsize) |
add a size to the component More... | |
unsigned int | get_bitsize () const |
return the maximum bitsize associated with the component More... | |
Public Member Functions inherited from generic_obj | |
generic_obj (const resource_type t, const std::string &_name) | |
This is the constructor of the object class. More... | |
virtual | ~generic_obj ()=default |
Destructor. More... | |
void | print (std::ostream &os) const |
Prints elements into given stream. More... | |
const std::string | get_string () const |
Returns the name associated with the element. More... | |
unsigned int | get_type () const |
Return generic_obj type. More... | |
void | set_structural_obj (const structural_objectRef &SM_) |
Sets structural_object associated to this object. More... | |
void | set_out_sign (const structural_objectRef &out_sign_) |
Sets structural_object of output signal associated to this object. More... | |
const structural_objectRef | get_structural_obj () const |
Gets structural_object associated to this object. More... | |
const structural_objectRef | get_out_sign () const |
Gets structural_object of output signal associated to this object. More... | |
bool | operator< (const generic_obj &other) const |
Private Attributes | |
unsigned int | bitsize |
number of bit of in/out ports More... | |
const generic_objRef | first |
reference to generic_obj associated with first input (when selector is TRUE, it's connected to out) More... | |
const generic_objRef | second |
reference to generic_obj associated with second input (when selector is FALSE, it's connected to out) More... | |
generic_objRef | target |
reference to generic_obj associated with the multiplexer More... | |
generic_objRef | tree_target |
reference to generic_obj target of the mux tree's dataflow More... | |
generic_objRef | selector |
selector object. It can be both a port or the root of a logic gate More... | |
unsigned int | level |
depth level of the mux More... | |
Additional Inherited Members | |
Public Types inherited from generic_obj | |
enum | resource_type { FUNCTIONAL_UNIT = 0, REGISTER, MULTI_UNBOUNDED_OBJ, COMMAND_PORT, DATA_PORT, CONNECTION_ELEMENT, ADDER_CONN_OBJ, UU_CONV_CONN_OBJ, UI_CONV_CONN_OBJ, IU_CONV_CONN_OBJ, II_CONV_CONN_OBJ, FF_CONV_CONN_OBJ, I_ASSIGN_CONN_OBJ, U_ASSIGN_CONN_OBJ, F_ASSIGN_CONN_OBJ } |
Admissible resource types. More... | |
Protected Attributes inherited from generic_obj | |
const resource_type | type |
type of resource More... | |
Wrefcount< structural_object > | SM |
structural_object associated to element More... | |
Wrefcount< structural_object > | out_sign |
output signal associated to element. More... | |
std::string | name |
connection obj id More... | |
This class is a specialization of generic_obj class to represent a multiplexer into the datapath.
Definition at line 57 of file mux_obj.hpp.
mux_obj::mux_obj | ( | const generic_objRef | first, |
const generic_objRef | second, | ||
unsigned int | level, | ||
const std::string & | name, | ||
const generic_objRef | overall_target | ||
) |
This is the constructor of the object class.
It initializes type for generic_obj superclass
first | is reference to first input |
second | is reference to second input |
level | is the mux level |
name | is the id |
target | is the overall mux tree target |
Definition at line 46 of file mux_obj.cpp.
References ~mux_obj().
|
overridedefault |
|
inline |
add a size to the component
Definition at line 129 of file mux_obj.hpp.
References bitsize, and get_bitsize().
unsigned int mux_obj::get_bitsize | ( | ) | const |
return the maximum bitsize associated with the component
Definition at line 83 of file mux_obj.cpp.
References bitsize.
Referenced by add_bitsize().
generic_objRef mux_obj::get_final_target | ( | ) |
Returns the object which will receive the mux tree result.
Definition at line 64 of file mux_obj.cpp.
References tree_target.
unsigned int mux_obj::get_level | ( | ) | const |
generic_objRef mux_obj::GetSelector | ( | ) | const |
Gets the selector.
Definition at line 69 of file mux_obj.cpp.
References selector.
void mux_obj::set_selector | ( | const generic_objRef | sel | ) |
Sets the element representing the selector.
is | the reference to the new selector for the multiplexer |
Definition at line 74 of file mux_obj.cpp.
References selector.
void mux_obj::set_target | ( | const generic_objRef | tgt | ) |
Sets target object for multiplexer.
tgt | is reference to generic_obj where multiplexer output is connected |
Definition at line 59 of file mux_obj.cpp.
References target.
|
private |
number of bit of in/out ports
Definition at line 60 of file mux_obj.hpp.
Referenced by add_bitsize(), and get_bitsize().
|
private |
reference to generic_obj associated with first input (when selector is TRUE, it's connected to out)
Definition at line 63 of file mux_obj.hpp.
|
private |
|
private |
reference to generic_obj associated with second input (when selector is FALSE, it's connected to out)
Definition at line 66 of file mux_obj.hpp.
|
private |
selector object. It can be both a port or the root of a logic gate
Definition at line 75 of file mux_obj.hpp.
Referenced by GetSelector(), and set_selector().
|
private |
reference to generic_obj associated with the multiplexer
Definition at line 69 of file mux_obj.hpp.
Referenced by set_target().
|
private |
reference to generic_obj target of the mux tree's dataflow
Definition at line 72 of file mux_obj.hpp.
Referenced by get_final_target().