Section Three—Types

Section

Construct

VHDL 1987 Support

VHDL 1993 Support

3.1

Scalar Types

Supported as defined in subsections 3.1.1 through 3.1.2.1.

Supported as defined in subsections 3.1.1 through 3.1.2.1.

3.1.1

Enumeration Types

Supported. The std_ulogic enumeration type in the std_logic_1164 package and user-defined enumeration types with two or fewer elements are treated as logic types, which are represented using a single bit. All other enumeration types are represented using a one-hot logic encoding unless overridden by a user-specified encoding.

Supported. The std_ulogic enumeration type in the std_logic_1164 package and user-defined enumeration types with two or fewer elements are treated as logic types, which are represented using a single bit. All other enumeration types are represented using a one-hot logic encoding unless overridden by a user-specified encoding.

3.1.1.1

Predefined Enumeration Types

Supported

Supported

3.1.2

Integer Types

Supported

Supported

3.1.2.1

Predefined Integer Types

Supported

Supported

3.1.3

Physical Types

Supported

Supported

3.1.3.1

Predefined Physical Types

Supported

Supported

3.1.4

Floating-Point Types

Supported in constant declarations and subprograms.

Supported in constant declarations and subprograms.

3.1.4.1

Predefined Floating-Point Types

Supported in constant declarations and subprograms.

Supported in constant declarations and subprograms.

3.2

Composite Types

Supported

Supported

3.2.1

Array Types

Supported

Supported

3.2.1.1

Index Constraints & Discrete Ranges

Supported

Supported

3.2.1.2

Predefined Array Types

Supported

Supported

3.2.2

Record Types

Supported

Supported

3.3

Access Types

Not supported

Not supported

3.3.1

Incomplete Type Declarations

Supported

Supported

3.3.2

Allocation & Deallocation of Objects

Not supported

Not supported

3.4

File Types

Not supported. File I/O cannot be synthesized.

Not supported. File I/O cannot be synthesized.

3.4.1

File Operations

Not supported. See above.

Not supported. See above.