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: