CIRCT 23.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Attributes | List of all members
circt::firrtl::InstanceInfo::ModuleAttributes Class Reference

Information about a module. More...

#include <FIRRTLInstanceInfo.h>

Collaboration diagram for circt::firrtl::InstanceInfo::ModuleAttributes:
Collaboration graph
[legend]

Public Member Functions

bool postOrderSaturated ()
 Return true if the product of post-order information is saturated (cannot ever change).
 

Public Attributes

InstanceInfo::LatticeValue underDut
 Indicates if this module is instantiated under the design-under-test.
 
InstanceInfo::LatticeValue underLayer
 Indicates if this module is instantiated under a layer.
 
InstanceInfo::LatticeValue inDesign
 Indicates if this module is instantiated in the design.
 
InstanceInfo::LatticeValue inEffectiveDesign
 Indicates if this modules is instantiated in the effective design.
 
InstanceInfo::LatticeValue inInstanceChoice
 Indicates if this module is instantiated within (or transitively within) an instance choice operation.
 
bool hasProperties = false
 Indicates if this module has any property operations within (or transitively within) it, or if it is public or contains (transitively) any public modules.
 

Private Attributes

bool saturated = false
 

Detailed Description

Information about a module.

Definition at line 109 of file FIRRTLInstanceInfo.h.

Member Function Documentation

◆ postOrderSaturated()

bool circt::firrtl::InstanceInfo::ModuleAttributes::postOrderSaturated ( )
inline

Return true if the product of post-order information is saturated (cannot ever change).

This corresponds to all attributes populated during the post-order walk are true. This is an optimization that is used to short circuit the walk when no more information can change.

Definition at line 143 of file FIRRTLInstanceInfo.h.

References hasProperties, and saturated.

Referenced by circt::firrtl::InstanceInfo::InstanceInfo().

Member Data Documentation

◆ hasProperties

bool circt::firrtl::InstanceInfo::ModuleAttributes::hasProperties = false

Indicates if this module has any property operations within (or transitively within) it, or if it is public or contains (transitively) any public modules.

Definition at line 137 of file FIRRTLInstanceInfo.h.

Referenced by circt::firrtl::InstanceInfo::InstanceInfo(), circt::firrtl::InstanceInfo::moduleContainsProperties(), and postOrderSaturated().

◆ inDesign

InstanceInfo::LatticeValue circt::firrtl::InstanceInfo::ModuleAttributes::inDesign

Indicates if this module is instantiated in the design.

The "design" is defined as being under the design-under-test, excluding verification code (e.g., layers).

Definition at line 120 of file FIRRTLInstanceInfo.h.

Referenced by circt::firrtl::InstanceInfo::allInstancesInDesign(), circt::firrtl::InstanceInfo::anyInstanceInDesign(), and circt::firrtl::InstanceInfo::InstanceInfo().

◆ inEffectiveDesign

InstanceInfo::LatticeValue circt::firrtl::InstanceInfo::ModuleAttributes::inEffectiveDesign

Indicates if this modules is instantiated in the effective design.

The "effective design" is defined as the design-under-test (DUT), excluding verification code (e.g., layers). If a DUT is specified, then this is the same as inDesign. However, if there is no DUT, then every module is deemed to be in the design except those which are explicitly verification code.

Definition at line 128 of file FIRRTLInstanceInfo.h.

Referenced by circt::firrtl::InstanceInfo::allInstancesInEffectiveDesign(), circt::firrtl::InstanceInfo::anyInstanceInEffectiveDesign(), and circt::firrtl::InstanceInfo::InstanceInfo().

◆ inInstanceChoice

InstanceInfo::LatticeValue circt::firrtl::InstanceInfo::ModuleAttributes::inInstanceChoice

Indicates if this module is instantiated within (or transitively within) an instance choice operation.

Definition at line 132 of file FIRRTLInstanceInfo.h.

Referenced by circt::firrtl::InstanceInfo::anyInstanceInInstanceChoice(), and circt::firrtl::InstanceInfo::InstanceInfo().

◆ saturated

bool circt::firrtl::InstanceInfo::ModuleAttributes::saturated = false
private

Definition at line 151 of file FIRRTLInstanceInfo.h.

Referenced by postOrderSaturated().

◆ underDut

InstanceInfo::LatticeValue circt::firrtl::InstanceInfo::ModuleAttributes::underDut

Indicates if this module is instantiated under the design-under-test.

Definition at line 112 of file FIRRTLInstanceInfo.h.

Referenced by circt::firrtl::InstanceInfo::allInstancesUnderDut(), circt::firrtl::InstanceInfo::anyInstanceUnderDut(), and circt::firrtl::InstanceInfo::InstanceInfo().

◆ underLayer

InstanceInfo::LatticeValue circt::firrtl::InstanceInfo::ModuleAttributes::underLayer

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