pyVHDLModel.Declaration

This module contains parts of an abstract document language model for VHDL.

Classes

  • EntityClass: An EntityClass is an enumeration. It represents a VHDL language entity class (entity, label, …).

  • Attribute: Represents an attribute declaration.

  • AttributeSpecification: Represents an attribute specification.

  • Alias: Represents an alias declaration.


Classes

class pyVHDLModel.Declaration.EntityClass(*values)[source]

An EntityClass is an enumeration. It represents a VHDL language entity class (entity, label, …).

Inheritance

Inheritance diagram of EntityClass

Entity = 0

Entity

Architecture = 1

Architecture

Configuration = 2

Configuration

Procedure = 3

Procedure

Function = 4

Function

Package = 5

Package

Type = 6

Type

Subtype = 7

Subtype

Constant = 8

Constant

Signal = 9

Signal

Variable = 10

Variable

Component = 11

Component

Label = 12

Label

Literal = 13

Literal

Units = 14

Units

Group = 15

Group

File = 16

File

Property = 17

Property

Sequence = 18

Sequence

View = 19

View

Others = 20

Others

classmethod __contains__(value)

Return True if value is in cls.

value is in cls if: 1) value is a member of cls, or 2) value is the value of one of the cls’s members. 3) value is a pseudo-member (flags)

classmethod __getitem__(name)

Return the member matching name.

classmethod __iter__()

Return members in definition order.

classmethod __len__()

Return the number of members (no aliases)

class pyVHDLModel.Declaration.Attribute(identifier, subtype, documentation=None, parent=None)[source]

Represents an attribute declaration.

Example

attribute TotalBits : natural;

Inheritance

Inheritance diagram of Attribute

Parameters:
__init__(identifier, subtype, documentation=None, parent=None)[source]

Initializes an attribute declaration.

Parameters:
  • identifier (str) – The identifier of a model entity.

  • subtype (Symbol) – Reference to the attribute’s subtype.

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

  • parent (ModelEntity | None) – The parent model entity of this entity.

Return type:

None

_subtype: Symbol

Reference to the attribute’s subtype.

property Subtype: None

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

Returns:

The subtype.

__str__()[source]

Formats the attribute declaration.

Format: attribute myAttribute: bit

Return type:

str

Returns:

Formatted attribute declaration.

_identifier: str

The identifier of a model entity.

_normalizedIdentifier: str

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

_documentation: str | None

The associated documentation of a model entity.

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 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.

__getstate__() Dict[str, Any]

Helper for pickle.

Return type:

Dict[str, Any]

_parent: ModelEntity

Reference to a parent entity in the logical model hierarchy.

class pyVHDLModel.Declaration.AttributeSpecification(identifiers, attribute, entityClass, expression, documentation=None, parent=None)[source]

Represents an attribute specification.

Example

attribute TotalBits of BusType : subtype is 32;

Inheritance

Inheritance diagram of AttributeSpecification

Parameters:
__init__(identifiers, attribute, entityClass, expression, documentation=None, parent=None)[source]

Initializes an attribute specification.

Parameters:
Return type:

None

_identifiers: List[Name]

List of all names the attribute is specified for.

_attribute: Name

Reference to the specified attribute.

_entityClass: <pyTooling.Decorators.readonly object at 0x778fa3510a50>

The entity class the named items belong to.

_expression: BaseExpression | QualifiedExpression | FunctionCall | TypeConversion | Literal

The value assigned to the attribute.

property Identifiers: List[Name]

Read-only property to access the identifiers (_identifiers).

Returns:

List of identifiers.

property Attribute: Name

Read-only property to access the attribute (_attribute).

Returns:

The attribute.

property EntityClass: <pyTooling.Decorators.readonly object at 0x778fa3510a50>

Read-only property to access the entity class (_entityClass).

Returns:

The entity class.

property Expression: BaseExpression | QualifiedExpression | FunctionCall | TypeConversion | Literal

Read-only property to access the expression (_expression).

Returns:

The expression.

_documentation: str | None

The associated documentation of a model entity.

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 Parent: ModelEntity

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

Returns:

Reference to the parent entity.

__getstate__() Dict[str, Any]

Helper for pickle.

Return type:

Dict[str, Any]

_parent: ModelEntity

Reference to a parent entity in the logical model hierarchy.

class pyVHDLModel.Declaration.Alias(identifier, name, subtype=None, documentation=None, parent=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

Inheritance

Inheritance diagram of Alias

Parameters:
_identifier: str

The identifier of a model entity.

_normalizedIdentifier: str

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

_documentation: str | None

The associated documentation of a model entity.

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 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.

__getstate__() Dict[str, Any]

Helper for pickle.

Return type:

Dict[str, Any]

_parent: ModelEntity

Reference to a parent entity in the logical model hierarchy.

__init__(identifier, name, subtype=None, documentation=None, parent=None)[source]

Initializes an alias declaration.

Parameters:
  • identifier (str) – The identifier of a model entity.

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

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

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

  • parent (ModelEntity | None) – The parent model entity of this entity.

Return type:

None

_name: Symbol

Reference to the name being aliased.

_subtype: SubtypeSymbol | None

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

property Name: Symbol

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

Returns:

The name.

property Subtype: SubtypeSymbol | None

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

Returns:

The subtype, or None if not set.

__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.