slang::ast::HierarchyOverrideNode struct

A node in a tree representing an instance in the design hierarchy where parameters should be overriden and/or bind directives should be applied.

These are assembled from defparam values, bind directives, and command-line specified overrides.

Public types

struct ParamOverride
Represents a single parameter override value.

Public variables

flat_hash_map<const syntax::SyntaxNode*, ParamOverride> paramOverrides
A map of parameters in the current scope to override.
flat_hash_map<OpaqueInstancePath::Entry, HierarchyOverrideNode> childNodes
A map of child scopes that also contain overrides.
std::vector<std::pair<BindDirectiveInfo, const syntax::SyntaxNode*>> binds
A list of bind directives to apply in this scope.

Variable documentation

flat_hash_map<const syntax::SyntaxNode*, ParamOverride> slang::ast::HierarchyOverrideNode::paramOverrides

A map of parameters in the current scope to override.

The key is the syntax node representing the parameter.

std::vector<std::pair<BindDirectiveInfo, const syntax::SyntaxNode*>> slang::ast::HierarchyOverrideNode::binds

A list of bind directives to apply in this scope.

The first entry is info about the bind instantiation, and the second is an optional pointer to the definition it targets. If the target is null, then the bind is actually targeting the scope represented by this override node.