pyVHDLModel.Regions

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

tbd.

Classes


Classes

class pyVHDLModel.Regions.ConcurrentDeclarationRegionMixin(declaredItems=None)[source]

Inheritance

Inheritance diagram of ConcurrentDeclarationRegionMixin

Parameters:

declaredItems (Iterable | None)

__init__(declaredItems=None)[source]
Parameters:

declaredItems (Iterable | None)

Return type:

None

_declaredItems: List

List of all declared items in this concurrent declaration region.

_types: Dict[str, FullType]

Dictionary of all types declared in this concurrent declaration region.

_subtypes: Dict[str, Subtype]

Dictionary of all subtypes declared in this concurrent declaration region.

_constants: Dict[str, Constant]

Dictionary of all constants declared in this concurrent declaration region.

_signals: Dict[str, Signal]

Dictionary of all signals declared in this concurrent declaration region.

_sharedVariables: Dict[str, SharedVariable]

Dictionary of all shared variables declared in this concurrent declaration region.

_files: Dict[str, File]

Dictionary of all files declared in this concurrent declaration region.

_functions: Dict[str, Dict[str, Function]]

Dictionary of all functions declared in this concurrent declaration region.

_procedures: Dict[str, Dict[str, Procedure]]

Dictionary of all procedures declared in this concurrent declaration region.

IndexDeclaredItems()[source]

Index declared items listed in the concurrent declaration region.

Return type:

None

Algorithm

  1. Iterate all declared items:

    • Every declared item is added to _namespace.

    • If the declared item is a FullType, then add an entry to _types.

    • If the declared item is a SubType, then add an entry to _subtypes.

    • If the declared item is a Function, then add an entry to _functions.

    • If the declared item is a Procedure, then add an entry to _procedures.

    • If the declared item is a Constant, then add an entry to _constants.

    • If the declared item is a Signal, then add an entry to _signals.

    • If the declared item is a Variable, TODO.

    • If the declared item is a SharedVariable, then add an entry to _sharedVariables.

    • If the declared item is a File, then add an entry to _files.

    • If the declared item is neither of these types, call _IndexOtherDeclaredItem().
      Derived classes may override this virtual function.

See also

pyVHDLModel.Design.IndexPackages()

Iterate all packages in the design and index declared items.

pyVHDLModel.Library.IndexPackages()

Iterate all packages in the library and index declared items.

pyVHDLModel.Library._IndexOtherDeclaredItem()

Iterate all packages in the library and index declared items.