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. |