![]() |
HAL
|
#include <mac_component.h>
Public Member Functions | |
MACComponent ()=default | |
ComponentType | get_type () const override |
std::vector< GateTypeComponent * > | get_components (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override |
![]() | |
virtual | ~GateTypeComponent ()=default |
template<typename T > | |
T * | convert_to () |
template<typename T > | |
const T * | convert_to () const |
GateTypeComponent * | get_component (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const |
template<typename T > | |
T * | get_component_as (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) |
Static Public Member Functions | |
static bool | is_class_of (const GateTypeComponent *component) |
![]() | |
static std::unique_ptr< GateTypeComponent > | create_lut_component (std::unique_ptr< GateTypeComponent > component, bool init_ascending) |
static std::unique_ptr< GateTypeComponent > | create_ff_component (std::unique_ptr< GateTypeComponent > component, const BooleanFunction &next_state_bf, const BooleanFunction &clock_bf) |
static std::unique_ptr< GateTypeComponent > | create_latch_component (std::unique_ptr< GateTypeComponent > component) |
static std::unique_ptr< GateTypeComponent > | create_ram_component (std::unique_ptr< GateTypeComponent > component, const u32 bit_size) |
static std::unique_ptr< GateTypeComponent > | create_mac_component () |
static std::unique_ptr< GateTypeComponent > | create_init_component (const std::string &init_category, const std::vector< std::string > &init_identifiers) |
static std::unique_ptr< GateTypeComponent > | create_state_component (std::unique_ptr< GateTypeComponent > component, const std::string &state_identifier, const std::string &neg_state_identifier) |
static std::unique_ptr< GateTypeComponent > | create_ram_port_component (std::unique_ptr< GateTypeComponent > component, const std::string &data_group, const std::string &addr_group, const BooleanFunction &clock_bf, const BooleanFunction &enable_bf, bool is_write) |
Additional Inherited Members | |
![]() | |
enum class | ComponentType { lut , ff , latch , ram , mac , init , state , ram_port } |
Definition at line 32 of file mac_component.h.
|
default |
Construct a new MACComponent.
|
overridevirtual |
Get the sub-components of the gate type component. A user-defined filter may be applied to the result vector, but is disabled by default.
[in] | filter | - The user-defined filter function applied to all candidate components. |
Implements hal::GateTypeComponent.
Definition at line 15 of file mac_component.cpp.
References UNUSED.
|
overridevirtual |
Get the type of the gate type component.
Implements hal::GateTypeComponent.
Definition at line 5 of file mac_component.cpp.
|
static |
Check whether a component is a MACComponent.
[in] | component | - The component to check. |
Definition at line 10 of file mac_component.cpp.
References hal::GateTypeComponent::get_type().
Referenced by hal::gate_type_components_init().