HAL  v4.5.0-258-gf372a0264
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::MACComponent Class Reference

#include <hal_core/netlist/gate_library/gate_type_component/mac_component.h>

Inheritance diagram for hal::MACComponent:
Inheritance graph
Collaboration diagram for hal::MACComponent:
Collaboration graph

Public Member Functions

ComponentType get_type () const override
 
std::vector< GateTypeComponent * > get_components (const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override
 
- 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< MACComponent > create ()
 
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
}
 

Detailed Description

A gate type component that marks a gate type as a multiply-accumulate unit.

Definition at line 37 of file mac_component.h.

Member Function Documentation

◆ create()

std::unique_ptr< MACComponent > hal::MACComponent::create ( )
static

Create a new MACComponent.

Returns
The MACComponent.

Definition at line 7 of file mac_component.cpp.

◆ get_components()

std::vector< GateTypeComponent * > hal::MACComponent::get_components ( const std::function< bool(const GateTypeComponent *)> &  filter = nullptr) const
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.

Parameters
[in]filter- The user-defined filter function applied to all candidate components.
Returns
The sub-components of the gate type component.

Implements hal::GateTypeComponent.

Definition at line 23 of file mac_component.cpp.

References UNUSED.

◆ get_type()

MACComponent::ComponentType hal::MACComponent::get_type ( ) const
overridevirtual

Get the type of the gate type component.

Returns
The type of the gate type component.

Implements hal::GateTypeComponent.

Definition at line 13 of file mac_component.cpp.

◆ is_class_of()

bool hal::MACComponent::is_class_of ( const GateTypeComponent *  component)
static

Check whether a component is a MACComponent.

Parameters
[in]component- The component to check.
Returns
true if component is a MACComponent, false otherwise.

Definition at line 18 of file mac_component.cpp.

References hal::GateTypeComponent::get_type().

Referenced by hal::gate_type_components_init().


The documentation for this class was generated from the following files: