![]() |
HAL
|
#include <init_component.h>
Public Member Functions | |
InitComponent (const std::string &init_category, const std::vector< std::string > &init_identifiers) | |
ComponentType | get_type () const override |
std::vector< GateTypeComponent * > | get_components (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override |
const std::string & | get_init_category () const |
void | set_init_category (const std::string &init_category) |
const std::vector< std::string > & | get_init_identifiers () const |
void | set_init_identifiers (const std::vector< std::string > &init_identifiers) |
![]() | |
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 init_component.h.
hal::InitComponent::InitComponent | ( | const std::string & | init_category, |
const std::vector< std::string > & | init_identifiers | ||
) |
Construct a new InitComponent with given child component, the category and a vector of identifiers pointing to the initialization data.
[in] | init_category | - The data category. |
[in] | init_identifiers | - The data identifiers. |
Definition at line 5 of file init_component.cpp.
|
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 19 of file init_component.cpp.
References UNUSED.
const std::string & hal::InitComponent::get_init_category | ( | ) | const |
Get the category in which to find the initialization data.
Definition at line 25 of file init_component.cpp.
Referenced by hal::Gate::add_boolean_function(), hal::gate_type_components_init(), hal::Gate::get_init_data(), and hal::Gate::set_init_data().
const std::vector< std::string > & hal::InitComponent::get_init_identifiers | ( | ) | const |
Get the vector of identifiers at which to find initialization data.
Definition at line 35 of file init_component.cpp.
Referenced by hal::Gate::add_boolean_function(), hal::gate_type_components_init(), hal::Gate::get_init_data(), and hal::Gate::set_init_data().
|
overridevirtual |
Get the type of the gate type component.
Implements hal::GateTypeComponent.
Definition at line 9 of file init_component.cpp.
|
static |
Check whether a component is an InitComponent.
[in] | component | - The component to check. |
Definition at line 14 of file init_component.cpp.
References hal::GateTypeComponent::get_type().
Referenced by hal::gate_type_components_init(), hal::InitWizardPage::setData(), and hal::GatelibraryFrameInit::update().
void hal::InitComponent::set_init_category | ( | const std::string & | init_category | ) |
Set the category in which to find the initialization data.
[in] | init_category | - The data category. |
Definition at line 30 of file init_component.cpp.
Referenced by hal::gate_type_components_init().
void hal::InitComponent::set_init_identifiers | ( | const std::vector< std::string > & | init_identifiers | ) |
Set the vector of identifiers at which to find initialization data.
[in] | init_identifiers | - The data identifiers. |
Definition at line 40 of file init_component.cpp.
Referenced by hal::gate_type_components_init().