C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
simics::HierarchicalObjectInterface Class Referenceabstract

Interface for hierarchical objects used in bank register modeling. More...

#include <hierarchical-object-interface.h>

Inheritance diagram for simics::HierarchicalObjectInterface:
simics::HierarchicalObject simics::Bank simics::Field simics::Register simics::PortBank<> simics::BigEndianBank simics::MissPatternBank simics::PortBank< TBank, Args > simics::SharedMemoryBank simics::ClearOnReadField simics::ConstantField simics::DesignLimitationField simics::IgnoreWriteField simics::Read0Field simics::ReadConstantField simics::ReadOnlyField simics::ReadUnimplField simics::RegisterField< TField, Args > simics::ReservedField simics::SilentUnimplField simics::UndocumentedField simics::UnimplField simics::Write0OnlyField simics::Write1ClearsField simics::Write1OnlyField simics::WriteOnceField simics::WriteUnimplField simics::AliasRegister simics::BankRegister< TRegister, Args > simics::ClearOnReadRegister simics::ConstantRegister simics::DesignLimitationRegister simics::IgnoreWriteRegister simics::Read0Register simics::ReadConstantRegister simics::ReadOnlyRegister simics::ReadUnimplRegister simics::ReservedRegister simics::SilentConstantRegister simics::SilentUnimplRegister simics::UndocumentedRegister simics::UnimplRegister simics::UnmappedRegister simics::Write0OnlyRegister simics::Write1ClearsRegister simics::Write1OnlyRegister simics::WriteOnceRegister simics::WriteOnlyRegister simics::WriteUnimplRegister

Public Member Functions

virtual const std::string & hierarchical_name () const =0
 
virtual std::string_view name () const =0
 
virtual const std::string & description () const =0
 
virtual void set_description (std::string_view desc)=0
 
virtual Level hierarchy_level () const =0
 
virtual std::string_view bank_name () const =0
 
virtual MappableConfObjectdev_obj () const =0
 
virtual ConfObjectRef bank_obj_ref () const =0
 
virtual std::string_view parent_name () const =0
 
virtual FieldInterfacelookup_field (const std::string &name) const =0
 
virtual RegisterInterfacelookup_register (const std::string &name) const =0
 
virtual BankInterfacelookup_bank (const std::string &name) const =0
 

Detailed Description

Interface for hierarchical objects used in bank register modeling.

The HierarchicalObjectInterface class provides an interface for objects used in a bank register model. A register bank contains registers, and each register can contain fields. This interface defines methods to access the hierarchical name, description, and hierarchy level of the object, as well as methods to access the associated device and bank objects.

Member Function Documentation

◆ bank_name()

virtual std::string_view simics::HierarchicalObjectInterface::bank_name ( ) const
pure virtual
Returns
the name of the bank where the hierarchical object starts with

Implemented in simics::HierarchicalObject.

◆ bank_obj_ref()

virtual ConfObjectRef simics::HierarchicalObjectInterface::bank_obj_ref ( ) const
pure virtual
Returns
the bank ConfObjectRef that the hierarchical object associated with

Implemented in simics::HierarchicalObject, and simics::Register.

◆ description()

virtual const std::string & simics::HierarchicalObjectInterface::description ( ) const
pure virtual
Returns
the description of the object

Implemented in simics::Bank, simics::Field, simics::HierarchicalObject, and simics::Register.

◆ dev_obj()

virtual MappableConfObject * simics::HierarchicalObjectInterface::dev_obj ( ) const
pure virtual
Returns
the device object holds the bank

Implemented in simics::Bank, simics::HierarchicalObject, and simics::Register.

◆ hierarchical_name()

virtual const std::string & simics::HierarchicalObjectInterface::hierarchical_name ( ) const
pure virtual
Returns
the full name of the object starts with the bank name

Implemented in simics::HierarchicalObject, and simics::Register.

◆ hierarchy_level()

virtual Level simics::HierarchicalObjectInterface::hierarchy_level ( ) const
pure virtual
Returns
the hierarchy level of the object

Implemented in simics::HierarchicalObject.

◆ lookup_bank()

virtual BankInterface * simics::HierarchicalObjectInterface::lookup_bank ( const std::string &  name) const
pure virtual
Returns
the bank interface according to a bank name

Implemented in simics::HierarchicalObject.

◆ lookup_field()

virtual FieldInterface * simics::HierarchicalObjectInterface::lookup_field ( const std::string &  name) const
pure virtual
Returns
the field interface according to a field name

Implemented in simics::HierarchicalObject.

◆ lookup_register()

virtual RegisterInterface * simics::HierarchicalObjectInterface::lookup_register ( const std::string &  name) const
pure virtual
Returns
the register interface according to a register name

Implemented in simics::HierarchicalObject.

◆ name()

virtual std::string_view simics::HierarchicalObjectInterface::name ( ) const
pure virtual
Returns
the name of the object only

Implemented in simics::Bank, simics::Field, simics::HierarchicalObject, and simics::Register.

◆ parent_name()

virtual std::string_view simics::HierarchicalObjectInterface::parent_name ( ) const
pure virtual
Returns
the parent's hierarchical name

Implemented in simics::HierarchicalObject.

◆ set_description()

virtual void simics::HierarchicalObjectInterface::set_description ( std::string_view  desc)
pure virtual

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