The STANDARD package predefines a number of types, subtypes, and functions which are visible to all design units.
The STANDARD package is a part of the Language Specification. It defines basic types, subtypes, and functions, together with operators available for each of the (sub)types defined. The operators are specified implicitly. Below is a complete list of declared types, together with their predefined operators.
The STANDARD package declares following types:
BOOLEAN (with predefined operators "and", "or", "nand", "nor", "xor", "xnor", "not", "=", "/=", "<", "<=", ">", ">="),
BIT (with predefined operators "and", "or", "nand", "nor", "xor", "xnor", "not", "=", "/=", "<", "<=", ">", ">="),
CHARACTER (with predefined operators "=", "/=", "<", "<=", ">", ">="),
SEVERITY_LEVEL (with predefined operators "=", "/=", "<", "<=", ">", ">="),
INTEGER (with predefined operators "=", "/=", "<", "<=", ">", ">=", "+", "-", "abs", "*", "/", "mod", "rem", "**"),
REAL (with predefined operators "=", "/=", "<", "<=", ">", ">=", "+", "-", "abs", "*", "/", "**"),
TIME (with predefined operators "=", "/=", "<", "<=", ">", ">=", "+", "-", "abs", "*", "/"),
STRING (with predefined operators "=", "/=", "<", "<=", ">", ">=", "&"),
BIT_VECTOR (with predefined operators "and", "or", "nand", "nor", "xor", "xnor", "not", "sll", "srl", "sla", "sra", "rol", "ror", "=", "/=", "<", "<=", ">", ">=", "&"),
FILE_OPEN_KIND (with predefined operators "=", "/=", "<", "<=", ">", ">="),
FILE_OPEN_STATUS (with predefined operators "=", "/=", "<", "<=", ">", ">="),
and three subtypes:
DELAY_LENGTH (subtype of TIME),
POSITIVE (subtype of INTEGER),
NATURAL (subtype of INTEGER),
See Boolean, Bit, Character, Integer, Real, Physical Types, String, Bit_Vector and File for details on respective types.
Use of the STANDARD package is implicitly assumed by every VHDL simulator and compiler and need not to be explicitly declared by the 'use' clause.
The user may not modify the contents of the package.