Design Units
A VHDL design (see Design) is assembled from design units. VHDL distinguishes between primary and secondary design units.
Class Hierarchy
Primary Units
Context
Todo
Write documentation.
Configuration
Todo
Write documentation.
Entity
An Entity
represents a VHDL entity declaration. Libraries and package
references declared ahead an entity are consumed by that entity and made
available as lists. An entities also provides lists of generic and port items.
The list of declared items (e.g. objects) also contains defined items (e.g.
types). An entity’s list of statements is called body items.
Condensed definition of class Entity
:
@export
class Entity(PrimaryUnit, MixinDesignUnitWithContext):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from MixinDesignUnitWithContext
@property
def LibraryReferences(self) -> List[LibraryClause]:
@property
def PackageReferences(self) -> List[UseClause]:
@property
def ContextReferences(self) -> List[Context]:
# from Entity
@property
def GenericItems(self) -> List[GenericInterfaceItem]:
@property
def PortItems(self) -> List[PortInterfaceItem]:
@property
def DeclaredItems(self) -> List:
@property
def BodyItems(self) -> List[ConcurrentStatement]:
Package
Todo
Write documentation.
Condensed definition of class Package
:
@export
class Package(PrimaryUnit, MixinDesignUnitWithContext):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from MixinDesignUnitWithContext
@property
def LibraryReferences(self) -> List[LibraryClause]:
@property
def PackageReferences(self) -> List[UseClause]:
@property
def ContextReferences(self) -> List[Context]:
# from Package
@property
def GenericItems(self) -> List[GenericInterfaceItem]:
@property
def DeclaredItems(self) -> List:
Secondary Units
Architeture
Todo
Write documentation.
Condensed definition of class Architecture
:
@export
class Architecture(SecondaryUnit, MixinDesignUnitWithContext):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from MixinDesignUnitWithContext
@property
def LibraryReferences(self) -> List[LibraryClause]:
@property
def PackageReferences(self) -> List[UseClause]:
@property
def ContextReferences(self) -> List[Context]:
# from Architecture
@property
def Entity(self) -> Entity:
@property
def DeclaredItems(self) -> List:
@property
def BodyItems(self) -> List[ConcurrentStatement]:
Package Body
Todo
Write documentation.
Condensed definition of class PackageBody
:
@export
class PackageBody(SecondaryUnit, MixinDesignUnitWithContext):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from MixinDesignUnitWithContext
@property
def LibraryReferences(self) -> List[LibraryClause]:
@property
def PackageReferences(self) -> List[UseClause]:
@property
def ContextReferences(self) -> List[Context]:
# from Package Body
@property
def Package(self) -> Package:
@property
def DeclaredItems(self) -> List: