Object Declarations
Constants
VHDL defines regular constants as an object. In addition, deferred constants are supported in package declarations. Often generics to e.g. packages or entities are constants. Also most in parameters to subprograms are constants.
Constant
A constant represents immutable data. This data (value) must be assigned via a default expression. If a constant’s value is delayed in calculation, it’s called a deferred constant. See Deferred Constant in next section.
Condensed definition of class Constant
:
@export
class Constant(BaseConstant):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from Object
@property
def Subtype(self) -> Subtype:
@property
def DefaultExpression(self) -> BaseExpression:
Deferred Constant
If a constant’s value is delayed in calculation, it’s a deferred constant. Such a deferred constant has a reference to the regular constant of the same name.
Condensed definition of class DeferredConstant
:
@export
class DeferredConstant(BaseConstant):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from Object
@property
def Subtype(self) -> Subtype:
# inherited from WithDefaultExpressionMixin
@property
def ConstantReference(self) -> Constant:
Generic Constant
A generic without object class or a generic constant is a regular constant.
See also
See GenericConstantInterfaceItem for details.
Constant as Parameter
A subprogram parameter without object class of mode in or a parameter constant is a regular constant.
See also
See ParameterConstantInterfaceItem for details.
Variables
Variable
A variable represents mutable data in sequential regions. Assignments to variables have no delay. The initial value can be assigned via a default expression.
Condensed definition of class Variable
:
@export
class Variable(Object):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from Object
@property
def Subtype(self) -> Subtype:
# inherited from WithDefaultExpressionMixin
@property
def DefaultExpression(self) -> BaseExpression:
Variable as Parameter
A subprogram parameter without object class of mode out or a parameter variable is a regular variable.
See also
See ParameterVariableInterfaceItem for details.
Signals
Signal
A signal represents mutable data in concurrent regions. Assignments to signals are delayed until next wait statement is executed. The initial value can be assigned via a default expression.
Condensed definition of class Signal
:
@export
class Signal(Object):
# inherited from ModelEntity
@property
def Parent(self) -> ModelEntity:
# inherited from NamedEntity
@property
def Name(self) -> str:
# inherited from Object
@property
def Subtype(self) -> Subtype:
# inherited from WithDefaultExpressionMixin
@property
def DefaultExpression(self) -> BaseExpression:
Signal as Port
A port signal is a regular signal.
See also
See PortSignalInterfaceItem for details.
Signal as Parameter
A parameter signal is a regular signal.
See also
See ParameterSignalInterfaceItem for details.
Files
File
Todo
Write documentation.
File as Parameter
A parameter file is a regular file.
See also
See ParameterFileInterfaceItem for details.