Type Declarations

VHDL has types (also called a base type) and subtypes. The following shows VHDL’s type hierarchy:

Class Hierarchy

Scalar Types

Enumeration

Todo

Write documentation.

Condensed definition of class EnumeratedType:

@export
class EnumeratedType(ScalarType, DiscreteType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # from EnumeratedType
  @property
  def Elements(self) -> List[str]:

Integer

Todo

Write documentation.

Condensed definition of class IntegerType:

@export
class IntegerType(RangedScalarType, NumericType, DiscreteType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # inherited from RangedScalarType
  @property
  def LeftBound(self) -> 'BaseExpression':

  @property
  def RightBound(self) -> 'BaseExpression':

Real

Todo

Write documentation.

Condensed definition of class RealType:

@export
class RealType(RangedScalarType, NumericType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # inherited from RangedScalarType
  @property
  def LeftBound(self) -> 'BaseExpression':

  @property
  def RightBound(self) -> 'BaseExpression':

Physical

Todo

Write documentation.

Condensed definition of class PhysicalType:

@export
class PhysicalType(RangedScalarType, NumericType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # inherited from RangedScalarType
  @property
  def LeftBound(self) -> 'BaseExpression':

  @property
  def RightBound(self) -> 'BaseExpression':

  # from PhysicalType
  @property
  def PrimaryUnit(self) -> str:

  @property
  def SecondaryUnits(self) -> List[Tuple[int, str]]:

Composite Types

Array

Todo

Write documentation.

Condensed definition of class ArrayType:

@export
class ArrayType(CompositeType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # from ArrayType
  @property
  def Dimensions(self) -> List[Range]:

  @property
  def ElementType(self) -> Subtype:

Record

Todo

Write documentation.

Condensed definition of class RecordType:

@export
class RecordType(CompositeType):
  # inherited from ModelEntity
  @property
  def Parent(self) -> ModelEntity:

  # inherited from NamedEntity
  @property
  def Name(self) -> str:

  # from RecordType
  @property
  def Members(self) -> List[RecordTypeElement]:

Protected

Todo

Write documentation.

Access

Todo

Write documentation.

File

Todo

Write documentation.