[Top] [Prev] [Next] [Bottom]

CHAPTER 12 FIR Declaration Derived Classes

Declarations introduced named entities or specifications into a declarative region. All such declarations and specifications are descended from FIR_Declaration, as shown in Table 100 on page 155. All classes derived from FIR_Declaration are directly and dynamically instantiated (rather than being incorporated in other classes).
TABLE 100. Class hierarchy derived from FIR_Declaration

Level 3 Derived Classes
(only classes derived from FIR_Declaration)

Level 4 Derived Classes

Level 5 Derived Classes

E

FIR_SubprogramDeclaration

E

FIR_FunctionDeclaration

E

FIR_ProcedureDeclaration

E

FIR_EnumerationLiteral

E

FIR_ElementDeclaration

E

FIR_TypeDeclaration

E

FIR_SubtypeDeclaration

E

FIR_ObjectDeclaration

E

FIR_ConstantDeclaration

E

FIR_VariableDeclaration

FIR_SharedVariableDeclaration

E

FIR_SignalDeclaration

E

FIR_FileDeclaration

E

FIR_TerminalDeclaration

E

FIR_QuantityDeclaration

E

FIR_FreeQuantityDeclaration

E

FIR_BranchQuantityDeclaration

E

FIR_InterfaceDeclaration

E

FIR_ConstantInterfaceDeclaration

E

FIR_VariableInterfaceDeclaration

E

FIR_SignalInterfaceDeclaration

E

FIR_FileInterfaceDeclaration

E

FIR_TerminalInterfaceDeclaration

E

FIR_QuantityInterfaceDeclaration

E

FIR_AliasDeclaration

E

FIR_AttributeDeclaration

E

FIR_ComponentDeclaration

E

FIR_GroupDeclaration

E

FIR_GroupTemplateDeclaration

E

FIR_LibraryDeclaration

E

FIR_LibraryUnit

E

FIR_EntityDeclaration

E

FIR_ArchitectureDeclaration

E

FIR_PackageDeclaration

E

FIR_PackageBodyDeclaration

E

FIR_ConfigurationDeclaration

E

FIR_PhysicalUnit

E

FIR_AttributeSpecification

E

FIR_ConfigurationSpecification

E

FIR_DisconnectionSpecification

E

FIR_Label

E

FIR_LibraryClause

E

FIR_UseClause

12.1 FIR_Declaration

12.1.1 Derived Class Description

The predefined FIR_Declaration class is the parent for all predefined declarations, specifications, library clauses or use clauses.

12.1.2 Properties
TABLE 101. FIR_Declaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR

Predefined child classes

FIR_SubprogramDeclaration
FIR_EnumerationLiteral
FIR_ElementDeclaration
FIR_TypeDeclaration
FIR_SubtypeDeclaration
FIR_ObjectDeclaration
FIR_InterfaceDeclaration
FIR_AliasDeclaration
FIR_AttributeDeclaration
FIR_ComponentDeclaration
FIR_GroupDeclaration
FIR_GroupTemplateDeclaration
FIR_LibraryDeclarationt
FIR_LibraryUnit
FIR_PhysicalUnit
FIR_AttributeSpecification
FIR_ConfigurationSpecification
FIR_DisconnectionSpecification
FIR_Label
FIR_LibraryClause
FIR_UseClause

Application-specific data elements

None, not allowed for this class

12.1.3 Predefined Data Elements

struct FIR_Declaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
};


 

The identifier reference is to an identifier which is the declarator (declaration), an attribute designator (attribute specification), a component identifier (configuration specification), guarded signal name (disconnect specification), logical name (library clause) or selected name (use clause).

12.2 FIR_SubprogramDeclaration

12.2.1 Derived Class Description

The predefined FIR_SubprogramDeclaration class represents declarations and sequential code fragments which are dynamically elaborated when encountered at a procedure or function call site.

12.2.2 Properties
TABLE 102. FIR_SubprogramDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR_Declaration

Predefined child classes

FIR_ProcedureDeclaration
FIR_FunctionDeclaration

Application-specific data elements

None, not allowed for this class

12.2.3 Predefined Data Elements

struct FIR_SubprogramDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_InterfaceList 					interface_declarations;
	FIR_DeclarationList					subprogram_declarations;
	FIR_SequentialStatementList					subprogram_body;
	FIR_AttributeSpecificationList					attributes;
};

 

12.3 FIR_ProcedureDeclaration

12.3.1 Derived Class Description

The FIR_ProcedureDeclaration class represents subprograms callable with in, out, or inout parameters but without a return value.

12.3.2 Properties
TABLE 103. FIR_ProcedureDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_PROCEDURE_DECLARATION

Parent class

FIR_SubprogramDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.3.3 Predefined Data Elements

struct FIR_ProcedureDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_InterfaceList 					interface_declarations;
	FIR_DeclarationList					subprogram_declarations;
	FIR_SequentialStatementList					subprogram_body;
	FIR_AttributeSpecificationList					attributes;
};

12.4 FIR_FunctionDeclaration

12.4.1 Derived Class Description

The FIR_FunctionDeclaration class represents subprograms callable with in, out, or inout parameters with a return value.

12.4.2 Properties
TABLE 104. FIR_FunctionDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_FUNCTION_DECLARATION

Parent class

FIR_SubprogramDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.4.3 Predefined Data Elements

struct FIR_FunctionDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_InterfaceList 					interface_declarations;
	FIR_DeclarationList					subprogram_declarations;
	FIR_SequentialStatementList					subprogram_body;
	FIR_AttributeSpecificationList					attributes;
	FIR_Ref				return_type; /* reference to FIR_TypeDefinition */
	IR_Pure				pure;
};

12.5 FIR_EnumerationLiteral

12.5.1 Derived Class Description

The predefined FIR_EnumerationLiteral represents a literal within an enumerated type or subtype definition.

12.5.2 Properties
TABLE 105. FIR_EnumerationLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ENUMERATION_LITERAL

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.5.3 Predefined Data Elements

struct FIR_EnumerationLiteral {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_EnumerationLiteralList linkage */
	FIR_Ref		identifier;
	FIR_Ref		position;
	FIR_Ref		subtype_definition; /* FIR_EnumerationSubtypeDefinition */
	FIR_AttributeSpecificationList					attributes;
};

12.6 FIR_ElementDeclaration

12.6.1 Derived Class Description

The predefined FIR_ElementDeclaration represents a element field within a FIR_RecordTypeDefinition's FIR_ElementDeclarationList.

12.6.2 Properties
TABLE 106. FIR_ElementDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ELEMENT_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

Public data elements

None

12.6.3 Predefined Data Elements

struct FIR_ElementDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_ElementDeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
};

12.7 FIR_TypeDeclaration

12.7.1 Derived Class Description

The predefined FIR_TypeDeclaration class represents the explicit declaration of a new type definition.

12.7.2 Properties
TABLE 107. FIR_TypeDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_TYPE_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.7.3 Predefined Data Elements

struct FIR_TypeDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		definition; /* reference to FIR_TypeDefinition */
	FIR_AttributeSpecificationList					attributes;
};

12.8 FIR_SubtypeDeclaration

12.8.1 Derived Class Description

The predefined FIR_SubtypeDeclaration class represents the explicit declaration of a new subtype definition.

12.8.2 Properties
TABLE 108. FIR_SubtypeDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_SUBTYPE_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.8.3 Predefined Data Elements

struct FIR_SubtypeDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		definition; /* reference to FIR_TypeDefinition */
	FIR_AttributeSpecificationList					attributes;
};

12.9 FIR_ObjectDeclaration

12.9.1 Derived Class Description

the predefined FIR_ObjectDeclaration class represents a constant, variable, signal or file declaration (as derived classes).

12.9.2 Properties
TABLE 109. FIR_ObjectDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR_Declaration

Predefined child classes

FIR_ConstantDeclaration
FIR_VariableDeclaration
FIR_SharedVariableDeclaration
FIR_SignalDeclaration
FIR_FileDeclaration
FIR_TerminalDeclaration
FIR_QuantityDeclaration

Application-specific data elements

None, not allowed for this class

12.9.3 Predefined Data Elements

struct FIR_ObjectDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
};

12.10 FIR_ConstantDeclaration

12.10.1 Derived Class Description

The predefined FIR_ConstantDeclaration class represent named values which may be assigned exactly once during elaboration. Implementations may update a constant value, such as in the case of a loop iterator, however no programmed assignments may occur to a constant declaration.

12.10.2 Properties
TABLE 110. FIR_ConstantDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_CONSTANT_DECLARATION

Parent class

FIR_ObjectDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.10.3 Predefined Data Elements

struct FIR_ConstantDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.11 FIR_VariableDeclaration

12.11.1 Derived Class Description

The predefined FIR_VariableDeclaration class represents variables which may take on a sequence of values as execution proceeds.

12.11.2 Properties
TABLE 111. FIR_VariableDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_VARIABLE_DECLARATION

Parent class

FIR_ObjectDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.11.3 Predefined Data Elements

struct FIR_VariableDeclaration {
	IR_Kind		kind;
	FIR_Souce		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.12 FIR_SharedVariableDeclaration

12.12.1 Derived Class Description

The predefined FIR_SharedVariableDeclaration class represents variables which may take on a sequence of values, assigned from more than one execution thread.

12.12.2 Properties
TABLE 112. FIR_VariableDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_SHARED_VARIABLE_DECLARATION

Parent class

FIR_ObjectDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.12.3 Predefined Data Elements

struct FIR_SharedVariableDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.13 FIR_SignalDeclaration

12.13.1 Derived Class Description

The predefined FIR_SignalDeclaration class represents signal declarations which may take on a sequence of values as execution proceeds.

12.13.2 Properties
TABLE 113. FIR_SignalDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_SIGNAL_DECLARATION

Parent class

FIR_ObjectDeclaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

Public data elements

None

12.13.3 Predefined Data Elements

struct FIR_SignalDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	IR_SignalKind		signal_kind;
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.14 FIR_TerminalDeclaration

12.14.1 Derived Class Description

The predefined FIR_TerminalDeclaration class.

12.14.2 Properties
TABLE 114. FIR_TerminalDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_TERMINAL_DECLARATION

Parent class

FIR_ObjectDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.14.3 Predefined Data Elements

struct FIR_TerminalDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		nature;
	FIR_AttributeSpecificationList					attributes;
};

 

12.15 FIR_QuantityDeclaration

12.15.1 Derived Class Description

The predefined FIR_QuantityDeclaration class.

12.15.2 Properties
TABLE 115. FIR_QuantityDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

none

Parent class

FIR_ObjectDeclaration

Predefined child classes

FIR_FreeQuantityDeclaration
FIR_BranchQuantityDeclaration

Application-specific data elements

Via extension class

12.15.3 Predefined Data Elements

struct FIR_QuantityDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
};

 

12.16 FIR_FreeQuantityDeclaration

12.16.1 Derived Class Description

The predefined FIR_FreeQuantityDeclaration class.

12.16.2 Properties
TABLE 116. FIR_FreeQuantityDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_FREE_QUANTITY_DECLARATION

Parent class

FIR_QuantityDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.16.3 Predefined Data Elements

struct FIR_FreeQuantityDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

 

12.17 FIR_BranchQuantityDeclaration

12.17.1 Derived Class Description

The predefined FIR_BranchQuantityDeclaration class.

12.17.2 Properties
TABLE 117. FIR_BranchQuantityDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_BRANCH_QUANTITY_DECLARATION

Parent class

FIR_QuantityDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.17.3 Predefined Data Elements

struct FIR_BranchQuantityDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		across_aspect;
	FIR_Ref		through_aspect;
	FIR_Ref		plus_terminal;
	FIR_Ref		minus_terminal;
	FIR_AttributeSpecificationList					attributes;
};

 

12.18 FIR_InterfaceDeclaration

12.18.1 Derived Class Description

The predefined FIR_InterfaceDeclaration class refers to constants, variables, signals and files present at an elaborated interface.

12.18.2 Properties
TABLE 118. FIR_ScalarTypeDefinition Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR_Declaration

Predefined child classes

FIR_ConstantInterfaceDeclaration
FIR_VariableInterfaceDeclaration
FIR_SignalInterfaceDeclaration
FIR_FileInterfaceDeclaration
FIR_TerminalInterfaceDeclaration
FIR_QuantityInterfaceDeclaration

Application-specific data elements

None, not allowed for this class

12.18.3 Predefined Data Elements

struct FIR_ObjectDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode; /* IN,OUT,INOUT,... */
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
};

12.19 FIR_ConstantInterfaceDeclaration

12.19.1 Derived Class Description

The predefined FIR_ConstantInterfaceDeclaration class represent named values which may be assigned exactly once during elaboration.

12.19.2 Properties
TABLE 119. FIR_ConstantInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_CONSTANT_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.19.3 Predefined Data Elements

struct FIR_ConstantInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* GenericList or InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.20 FIR_VariableInterfaceDeclaration

12.20.1 Derived Class Description

The predefined FIR_VariableInterfaceDeclaration class represents interface variables which may take on a sequence of values as execution proceeds.

12.20.2 Properties
TABLE 120. FIR_VariableInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_VARIABLE_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.20.3 Predefined Data Elements

struct FIR_VariableInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.21 FIR_SignalInterfaceDeclaration

12.21.1 Derived Class Description

The predefined FIR_SignalInterfaceDeclaration class represents signal interface declarations which may take on a sequence of values as execution proceeds.

12.21.2 Properties
TABLE 121. FIR_SignalInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_SIGNAL_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

Public data elements

None

12.21.3 Predefined Data Elements

struct FIR_SignalInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* PortList or InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	IR_SignalKind		signal_kind;
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};


 Signal kind is one of the enumeration:

enum IR_SignalKind {IR_NO_SIGNAL_KIND, IR_REGISTER_KIND, IR_BUS_KIND};

12.22 FIR_FileInterfaceDeclaration

12.22.1 Derived Class Description

The predefined FIR_FileInterfaceDeclaration class represents an instance of a specific external file.

12.22.2 Properties
TABLE 122. FIR_FileInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_FILE_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

Public data elements

None

12.22.3 Predefined Data Elements

struct FIR_FileInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.23 FIR_TerminalInterfaceDeclaration

12.23.1 Derived Class Description

The predefined FIR_TerminalInterfaceDeclaration class.

12.23.2 Properties
TABLE 123. FIR_TerminalInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_TERMINAL_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

Public data elements

None

12.23.3 Predefined Data Elements

struct FIR_TerminalInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Souce		source_locator;
	FIR_Ref		next; /* FIR_InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.24 FIR_QuantityInterfaceDeclaration

12.24.1 Derived Class Description

The predefined FIR_QuantityInterfaceDeclaration class.

12.24.2 Properties
TABLE 124. FIR_QuantityInterfaceDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_QUANTITY_INTERFACE_DECLARATION

Parent class

FIR_InterfaceDeclaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

Public data elements

None

12.24.3 Predefined Data Elements

struct FIR_QuantityInterfaceDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_InterfaceList linkage */
	FIR_Ref		identifier;
	IR_Mode		mode;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		value;
	FIR_AttributeSpecificationList					attributes;
};

12.25 FIR_AliasDeclaration

12.25.1 Derived Class Description

The predefined FIR_AliasDeclaration class represent alternative names for a pre-existing entity.

12.25.2 Properties
TABLE 125. FIR_AliasDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ALIAS_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.25.3 Predefined Data Elements

struct FIR_AliasDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
	FIR_Ref		target; /* reference to FIR_Name */
};

12.26 FIR_AttributeDeclaration

12.26.1 Derived Class Description

The predefined FIR_AttributeDeclaration class represent a named and typed attribute which may be associated with existing entities through an attribute specification.

12.26.2 Properties
TABLE 126. FIR_AttributeDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ATTRIBUTE_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.26.3 Predefined Data Elements

struct FIR_AttributeDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_AttributeSpecificationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		subtype; /* reference to FIR_TypeDefinition */
};

12.27 FIR_ComponentDeclaration

12.27.1 Derived Class Description

The predefined FIR_ComponentDeclaration class represents a place-holder for an entity interface (allowing delayed binding of a component instance to a specific entity/architecture pair).

12.27.2 Properties
TABLE 127. FIR_ComponentDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_COMPONENT_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.27.3 Predefined Data Elements

struct FIR_ComponentDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_InterfaceList			local_generic_clause;
	FIR_InterfaceList			local_port_clause;
	FIR_AttributeSpecificationList					attributes;
};

12.28 FIR_GroupDeclaration

12.28.1 Derived Class Description

The predefined FIR_GroupDeclaration class represents explicit, named collections of entities corresponding to a group template declaration.

12.28.2 Properties
TABLE 128. FIR_GroupDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_GROUP_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.28.3 Predefined Data Elements

struct FIR_GroupDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		template; /* reference to FIR_Name */
	FIR_DesignatorList					group_constituent_list;
	FIR_AttributeSpecificationList					attributes;
};

12.29 FIR_GroupTemplateDeclaration

12.29.1 Derived Class Description

The predefined FIR_GroupTemplateDeclaration class declares a sequence of entity class entries from which group declarations may be made.

12.29.2 Properties
TABLE 129. FIR_GroupTemplateDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_GROUP_TEMPLATE_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.29.3 Predefined Data Elements

struct FIR_GroupTemplateDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_EntityClassEntryList				entity_class_entry_list;
};

12.30 FIR_LibraryDeclaration

12.30.1 Derived Class Description

The predefined FIR_LibraryDeclaration class declares a sequence of entity class entries from which group declarations may be made.

12.30.2 Properties
TABLE 130. FIR_LibraryDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_LIBRARY_DECLARATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.30.3 Predefined Data Elements

struct FIR_LibraryDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_LibraryUnitList			primary_units;
};

12.31 FIR_LibraryUnit

12.31.1 Derived Class Description

The predefined FIR_LibraryUnit class is a parent representing entity, architecture, package, package body and configuration declarations.

12.31.2 Properties
TABLE 131. FIR_LibraryUnit Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR_Declaration

Predefined child classes

FIR_EntityDeclaration
FIR_ArchitectureDeclaration
FIR_PackageDeclaration
FIR_PackageBodyDeclaration
FIR_ConfigurationDeclaration

Application-specific data elements

None, not allowed for this class

12.31.3 Predefined Data Elements

struct FIR_LibraryUnitDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_DeclarationList					context_items;
	FIR_AttributeSpecificationList					attributes;
};

12.32 FIR_EntityDeclaration

12.32.1 Derived Class Description

The predefined FIR_EntityDeclaration class represents VHDL entities.

12.32.2 Properties
TABLE 132. FIR_EntityDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ENTITY_DECLARATION

Parent class

FIR_LibraryUnit

Predefined child classes

None

Application-specific data elements

Via extension class

12.32.3 Predefined Data Elements

struct FIR_EntityDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_GenericList				generic_clause;
	FIR_PortList				port_clause;
	FIR_DeclarationList				entity_declarative_part;
	FIR_ConcurrentStatementList				entity_statement_part;
	FIR_DesignUnitList				architectures;/*==== what designunitlist???? RNN*/
};

12.33 FIR_ArchitectureDeclaration

12.33.1 Derived Class Description

The predefined FIR_ArchitectureDeclaration class represents one of potentially several implementations of an entity.

12.33.2 Properties
TABLE 133. FIR_ArchitectureDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ARCHITECTURE_DECLARATION

Parent class

FIR_LibraryUnit

Predefined child classes

None

Application-specific data elements

Via extension class

12.33.3 Predefined Data Elements

struct FIR_ArchitectureDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_Ref		entity; /* reference to FIR_EntityDeclaration */
	FIR_DeclarationList					declaration_part;
	FIR_ConcurrentStatementList					statement_part;
	FIR_AttributeSpecificationList					attributes;
};

12.34 FIR_PackageDeclaration

12.34.1 Derived Class Description

The predefined FIR_PackageDeclaration class represents collections of declarations which are elaborated at most once, as a collection.

12.34.2 Properties
TABLE 134. FIR_PackageDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_PACKAGE_DECLARATION

Parent class

FIR_LibraryUnit

Predefined child classes

FIR_PackageDeclaration

Application-specific data elements

Via extension class

12.34.3 Predefined Data Elements

struct FIR_PackageDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_Ref		package_body; /* reference to FIR_PackageBodyDeclaration */ 			
	FIR_DeclarationList			declarative_part;
};

12.35 FIR_PackageBodyDeclaration

12.35.1 Derived Class Description

The predefined FIR_PackageBodyDeclaration class represents the optional implementation part of a package declaration.

12.35.2 Properties
TABLE 135. FIR_PackageBodyDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_PACKAGE_BODY_DECLARATION

Parent class

FIR_LibraryUnit

Predefined child classes

None

Application-specific data elements

Via extension class

12.35.3 Predefined Data Elements

struct FIR_PackageBocyDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_LibraryUnitListFIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_DeclarationList					package_declarative_part;
};

12.36 FIR_ConfigurationDeclaration

12.36.1 Derived Class Description

The predefined FIR_ConfigurationDeclaration class represents the delayed binding components to entity/architecture pairs.

12.36.2 Properties
TABLE 136. FIR_ConfigurationDeclaration Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_CONFIGURATION_DECLARATION

Parent class

FIR_Source

Predefined child classes

None

Application-specific data elements

Via extension class

12.36.3 Predefined Data Elements

struct FIR_ConfigurationDeclaration {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_LibraryUnitList linkage */
	FIR_Ref		identifier;
	FIR_Ref		configuration; /* reference to FIR_BlockConfiguration */
	FIR_Ref		entity; /* reference to FIR_EntityDeclaration */
	FIR_DeclarationList			configuration_declarative_part;
};


 

12.37 FIR_PhysicalUnit

12.37.1 Derived Class Description

The predefined FIR_PhysicalUnit class represents physical units within a list of such physical units (and indirectly within a physical type or subtype definition).

12.37.2 Properties
TABLE 137. FIR_PhysicalUnit Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_PHYSICAL_UNIT

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.37.3 Predefined Data Elements

struct FIR_PhysicalUnit {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_UnitList linkage */
	FIR_Ref		identifier;
	FIR_Ref		multiplier;
	FIR_AttributeSpecificationList					attributes;
};

12.38 FIR_AttributeSpecification

12.38.1 Derived Class Description

The predefined FIR_AttributeSpecification class decorates a named entity with a previously declared, named attribute and value.

12.38.2 Properties
TABLE 138. FIR_AttributeSpecification Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_ATTRIBUTE_SPECIFICATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.38.3 Predefined Data Elements

struct FIR_AttributeSpecification {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_AttributeSpecificationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		value;
	FIR_DesignatorList			entity_specifications;
};

12.39 FIR_ConfigurationSpecification

12.39.1 Derived Class Description

The predefined FIR_ConfigurationSpecification class specifies binding information associated with FIR_ComponentInstantiationStatements.

12.39.2 Properties
TABLE 139. FIR_ConfigurationSpecification Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_CONFIGURATION_SPECIFICATION

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.39.3 Predefined Data Elements

struct FIR_ConfigurationSpecification {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next; /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		entity_aspect; /* reference to FIR_LibraryUnit */
	FIR_DesignatorList			instantiation_list;
	FIR_AssociationList			generic_map_aspect;
	FIR_AssociationList			port_map_aspect;
};

12.40 FIR_DisconnectSpecification

12.40.1 Derived Class Description

The predefined FIR_DisconnectionSpecification class denotes the time delay associated with disconnection of a signal's drivers.

12.40.2 Properties
TABLE 140. FIR_DisconnectionSpecification Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_DISCONNECTION_SPECIFICATION

Parent class

FIR_Declaration

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension class

12.40.3 Predefined Data Elements

struct FIR_DisconnectSpecification {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		type_mark; /* reference to FIR_TypeDefinition */
	FIR_Ref		time_expression;
	FIR_DeclarationList			guarded_signal_list;
};

12.41 FIR_Label

12.41.1 Derived Class Description

The predefined FIR_Label class associates a label with a sequential statement (concurrent statements have intrinsic labels).

12.41.2 Properties
TABLE 141. FIR_Label Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_LABEL

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.41.3 Predefined Data Elements

struct FIR_Label {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
	FIR_Ref		statement; /* reference to FIR_SequentialStatement */
	FIR_AttributeSpecificationList					attributes;
};

12.42 FIR_LibraryClause

12.42.1 Derived Class Description

The predefined FIR_LibraryClause class brings an externally defined design library name into direct visibility.

12.42.2 Properties
TABLE 142. FIR_LibraryClause Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_LIBRARY_CLAUSE

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.42.3 Predefined Data Elements

struct FIR_LibraryClause {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
};

12.43 FIR_UseClause

12.43.1 Derived Class Description

The predefined FIR_UseClause class brings an existing declaration into direct visibility.

12.43.2 Properties
TABLE 143. FIR_UseClause Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

IR_USE_CLAUSE

Parent class

FIR_Declaration

Predefined child classes

None

Application-specific data elements

Via extension class

12.43.3 Predefined Data Elements

struct FIR_UseClause {
	IR_Kind		kind;
	FIR_Source		source_locator;
	FIR_Ref		next;  /* FIR_DeclarationList linkage */
	FIR_Ref		identifier;
};



[Top] [Prev] [Next] [Bottom]

aire@vhdl.org
Copyright © 1995, 1996 FTL Systems Inc. All rights reserved except as noted in the document copyright statement.