|
HAL
v4.5.0-251-g305763a14
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
|
#include <hal_core/netlist/gate_library/gate_type_component/latch_component.h>


Public Member Functions | |
| ComponentType | get_type () const override |
| std::vector< GateTypeComponent * > | get_components (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override |
| BooleanFunction | get_data_in_function () const |
| void | set_data_in_function (const BooleanFunction &data_in_bf) |
| BooleanFunction | get_enable_function () const |
| void | set_enable_function (const BooleanFunction &enable_bf) |
| BooleanFunction | get_async_reset_function () const |
| void | set_async_reset_function (const BooleanFunction &async_reset_bf) |
| BooleanFunction | get_async_set_function () const |
| void | set_async_set_function (const BooleanFunction &async_set_bf) |
| const std::pair< AsyncSetResetBehavior, AsyncSetResetBehavior > & | get_async_set_reset_behavior () const |
| void | set_async_set_reset_behavior (AsyncSetResetBehavior behav_state, AsyncSetResetBehavior behav_neg_state) |
Public Member Functions inherited from hal::GateTypeComponent | |
| 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 std::unique_ptr< LatchComponent > | create (std::unique_ptr< GateTypeComponent > component) |
| static bool | is_class_of (const GateTypeComponent *component) |
Additional Inherited Members | |
Public Types inherited from hal::GateTypeComponent | |
| enum class | ComponentType { lut , ff , latch , ram , mac , init , state , ram_port , state_table } |
A gate type component that describes a latch, i.e., its data input, enable, and asynchronous set and reset behavior.
Definition at line 39 of file latch_component.h.
|
static |
Create a new LatchComponent with given child component.
| [in] | component | - Another component to be added as a child component. |
Definition at line 11 of file latch_component.cpp.
Referenced by hal::GateLibraryWizard::setComponents().
| BooleanFunction hal::LatchComponent::get_async_reset_function | ( | ) | const |
Get the Boolean function describing the asynchronous reset behavior of the latch. Returns an empty function if asynchronous reset is not supported by the latch.
Definition at line 69 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init().
| BooleanFunction hal::LatchComponent::get_async_set_function | ( | ) | const |
Get the Boolean function describing the asynchronous set behavior of the latch. Returns an empty function if asynchronous set is not supported by the latch.
Definition at line 79 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init().
| const std::pair< AsyncSetResetBehavior, AsyncSetResetBehavior > & hal::LatchComponent::get_async_set_reset_behavior | ( | ) | const |
Get the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
Definition at line 89 of file latch_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 26 of file latch_component.cpp.
| BooleanFunction hal::LatchComponent::get_data_in_function | ( | ) | const |
Get the Boolean function describing the data input of the latch.
Definition at line 49 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init().
| BooleanFunction hal::LatchComponent::get_enable_function | ( | ) | const |
Get the Boolean function describing the enable behavior of the latch.
Definition at line 59 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init().
|
overridevirtual |
Get the type of the gate type component.
Implements hal::GateTypeComponent.
Definition at line 16 of file latch_component.cpp.
|
static |
Check whether a component is a LatchComponent.
| [in] | component | - The component to check. |
true if component is a LatchComponent, false otherwise. Definition at line 21 of file latch_component.cpp.
References hal::GateTypeComponent::get_type().
Referenced by hal::gate_type_components_init(), hal::LatchWizardPage::setData(), and hal::GateLibraryFrameLatch::update().
| void hal::LatchComponent::set_async_reset_function | ( | const BooleanFunction & | async_reset_bf | ) |
Set the Boolean function describing the asynchronous reset behavior of the latch.
| [in] | async_reset_bf | - The function describing the asynchronous reset behavior. |
Definition at line 74 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init(), and hal::GateLibraryWizard::setComponents().
| void hal::LatchComponent::set_async_set_function | ( | const BooleanFunction & | async_set_bf | ) |
Set the Boolean function describing the asynchronous set behavior of the latch.
| [in] | async_set_bf | - The function describing the asynchronous set behavior. |
Definition at line 84 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init(), and hal::GateLibraryWizard::setComponents().
| void hal::LatchComponent::set_async_set_reset_behavior | ( | AsyncSetResetBehavior | behav_state, |
| AsyncSetResetBehavior | behav_neg_state | ||
| ) |
Set the behavior of the internal state and the negated internal state when both asynchronous set and reset are active at the same time.
| [in] | behav_state | - The behavior of the internal state. |
| [in] | behav_neg_state | - The behavior of the negated internal state. |
Definition at line 94 of file latch_component.cpp.
Referenced by hal::gate_type_components_init(), and hal::GateLibraryWizard::setComponents().
| void hal::LatchComponent::set_data_in_function | ( | const BooleanFunction & | data_in_bf | ) |
Set the Boolean function describing the data input of the latch.
| [in] | data_in_bf | - The function describing the data input. |
Definition at line 54 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init(), and hal::GateLibraryWizard::setComponents().
| void hal::LatchComponent::set_enable_function | ( | const BooleanFunction & | enable_bf | ) |
Set the Boolean function describing the enable behavior of the latch.
| [in] | enable_bf | - The function describing the enable behavior. |
Definition at line 64 of file latch_component.cpp.
References hal::BooleanFunction::clone().
Referenced by hal::gate_type_components_init(), and hal::GateLibraryWizard::setComponents().