![]() |
HAL
|
#include <ram_component.h>
Public Member Functions | |
RAMComponent (std::unique_ptr< GateTypeComponent > component, const u32 bit_size) | |
ComponentType | get_type () const override |
std::vector< GateTypeComponent * > | get_components (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override |
u32 | get_bit_size () const |
void | set_bit_size (const u32 bit_size) |
![]() | |
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 ram_component.h.
hal::RAMComponent::RAMComponent | ( | std::unique_ptr< GateTypeComponent > | component, |
const u32 | bit_size | ||
) |
Construct a new RAMComponent with given child component.
[in] | component | - Another component to be added as a child component. |
[in] | bit_size | - The size of the RAM in bits. |
Definition at line 5 of file ram_component.cpp.
u32 hal::RAMComponent::get_bit_size | ( | ) | const |
Get the size of the RAM in bits.
Definition at line 42 of file ram_component.cpp.
Referenced by hal::gate_type_components_init().
|
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 ram_component.cpp.
|
overridevirtual |
Get the type of the gate type component.
Implements hal::GateTypeComponent.
Definition at line 9 of file ram_component.cpp.
|
static |
Check whether a component is a RAMComponent.
[in] | component | - The component to check. |
Definition at line 14 of file ram_component.cpp.
References hal::GateTypeComponent::get_type().
Referenced by hal::gate_type_components_init(), hal::RAMWizardPage::setData(), and hal::GateLibraryFrameRAM::update().
void hal::RAMComponent::set_bit_size | ( | const u32 | bit_size | ) |
Set the size of the RAM in bits.
[in] | bit_size | - The size of the RAM in bits. |
Definition at line 47 of file ram_component.cpp.
Referenced by hal::gate_type_components_init().