pyGHDL.dom.Misc

This module implements derived classes for VHDL constructs not covered by another module, e.g. an alias.

Classes

  • Alias: Represents an alias declaration.


Classes

class pyGHDL.dom.Misc.Alias(node, aliasName, name, subtype=None, documentation=None)[source]

Represents an alias declaration.

Name is a Symbol - like every other cross-reference in this model - rather than a bare Name, so it participates in the usual resolve-later mechanism (Reference / IsResolved). Unlike PackageReferenceSymbol and similar, there is no single fixed PossibleReference value that always fits: an alias without a subtype indication can refer to almost anything nameable (an object, a type, a subprogram, a literal, …), while an alias with a subtype indication can - per the LRM - only ever refer to an object (a constant, variable, signal, or file); the possibleReferences passed to the Symbol should reflect whichever case applies.

Example

alias a : bit_vector(3 downto 0) is s(3 downto 0);
--        ^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^
--        optional Subtype           Name

alias b is s;
--          ^
--          Name

This class implements a pyGHDL.dom object derived from pyVHDLModel.Declaration.Alias.

Inheritance

Inheritance diagram of Alias

Parameters:
__init__(node, aliasName, name, subtype=None, documentation=None)[source]

Initializes an alias declaration.

Parameters:
  • node (TypeVar(Iir, bound= c_int)) – The IIR node this object was translated from.

  • aliasName (str) – The alias’ identifier.

  • name (Symbol) – Reference to the name being aliased.

  • subtype (Symbol) – Reference to the alias’ subtype, or None if none was given.

  • documentation (str) – The documentation comment associated with this declaration.

Return type:

None

classmethod parse(aliasNode)[source]

Translates the IIR node of the alias declaration to an Alias.

Parameters:

aliasNode (TypeVar(Iir, bound= c_int)) – The IIR node of the alias declaration.

Returns:

The translated alias declaration.

_iirNode: Iir

The IIR node in libghdl’s tree this DOM object was translated from.

_position: <pyTooling.Decorators.readonly object at 0x7f3f462456d0>

The IIR node’s position in the source file, resolved on first access and then cached.

property Documentation: str | None

Read-only property to access the model entity’s documentation (_documentation).

Returns:

Associated documentation of a model entity.

GetAncestor(type)

Return the closest ancestor of the given type found by walking the parent chain upwards.

Iterates the parent chain - starting at this model entity - upwards (toward the root of the model) until an ancestor of the requested type is found.

Parameters:

type (Type) – Class (type) of the ancestor to find.

Return type:

ModelEntity

Returns:

The closest ancestor of the requested type.

Raises:

VHDLModelException – If the root of the model is reached without finding an ancestor of the requested type.

classmethod GetMethodsWithAttributes(predicate: TAttr | Iterable[TAttr] | None = None) Dict[Callable, Tuple[Attribute, ...]]
Parameters:

predicate (TypeVar(TAttr) | Iterable[TypeVar(TAttr)] | None) – An attribute class, an iterable of attribute classes, or None to accept every attribute.

Return type:

Dict[Callable, Tuple[Attribute, ...]]

Returns:

Dictionary of methods and the matching attributes attached to them.

Raises:
  • ValueError – If an element of parameter ‘predicate’ is not a sub-class of Attribute.

  • ValueError – If parameter ‘predicate’ is neither an attribute class nor an iterable of those.

property Identifier: str

Read-only property to access the model entity’s identifier (_identifier).

Returns:

Name of a model entity.

property Name: Symbol

Read-only property to access the name (_name).

Returns:

The name.

property NormalizedIdentifier: str

Read-only property to access the model entity’s normalized identifier (_normalizedIdentifier).

Returns:

Normalized name of a model entity.

property Parent: ModelEntity

Property to access the model entity’s parent element reference in a logical hierarchy (_parent).

Returns:

Reference to the parent entity.

property Position: <pyTooling.Decorators.readonly object at 0x7f3f462456d0>

Cached read-only property to access an IIR’s position in source code (_position).

If _position is None, resolve the position object from _iirNode

Returns:

The IIR’s position in the source file.

property Subtype: SubtypeSymbol | None

Read-only property to access the subtype (_subtype).

Returns:

The subtype, or None if not set.

__getstate__() Dict[str, Any]

Helper for pickle.

Return type:

Dict[str, Any]

__str__()[source]

Formats the alias declaration.

Format: alias myAlias : bit is target, or without the subtype when none was given

Return type:

str

Returns:

Formatted alias declaration.

_documentation: str | None

The associated documentation of a model entity.

_identifier: str

The identifier of a model entity.

_name: Symbol

Reference to the name being aliased.

_normalizedIdentifier: str

The normalized (lower case) identifier of a model entity.

_parent: ModelEntity

Reference to a parent entity in the logical model hierarchy.

_subtype: SubtypeSymbol | None

Reference to the alias’ subtype, or None if none was given.