The implicitly visible package containing VHDL's predefined types and operators.
- Use clause
-
library STD;use STD.STANDARD.all;(implicit; never required) - Source
-
std/standard.vhdlin the IEEE 1076 OSR, tag1076-2019
Apache License 2.0, © 2019 IEEE P1076 WG Authors - Length
- 620 lines
- VHDL revisions
- Defined in every revision of IEEE 1076 since 1987; current shape is from 1076-2019.
Overview
STANDARD is the implicitly-visible package every VHDL design
unit gets for free. It defines the language's built-in types
(BOOLEAN, BIT, INTEGER,
REAL, TIME, CHARACTER,
STRING, BIT_VECTOR, etc.), the predefined
operators on those types, and the file-handling enumerations
(FILE_OPEN_KIND, FILE_OPEN_STATUS, ...).
Per §16.3 of IEEE Std 1076-2019, this package is implicitly
referenced by every design unit; an explicit library STD;
/ use STD.STANDARD.all; is allowed but never necessary.
Most of what you see in the source listing below is in
comments rather than in actual VHDL declarations. The
operators and conversion functions (the predefined "and",
"or", MINIMUM, TO_STRING, ...)
are predefined by the language itself, not by this file;
the comments document them so a reader can see at a glance what's
available, but they aren't analyzed as VHDL. Only the explicit
type / subtype / attribute
declarations are real source.
What's defined here
- Predefined types
-
DIRECTION,BOOLEAN,BIT,CHARACTER,SEVERITY_LEVEL,INTEGER,REAL,TIME - Predefined subtypes
-
DELAY_LENGTH,NATURAL,POSITIVE - Vector and string types
-
STRING,BOOLEAN_VECTOR,BIT_VECTOR,INTEGER_VECTOR,REAL_VECTOR,TIME_VECTOR - File-handling enumerations
-
FILE_OPEN_KIND,FILE_OPEN_STATUS,FILE_OPEN_STATE,FILE_ORIGIN_KIND - Attributes
FOREIGN- Predefined operations
-
Logical, relational, matching-relational, arithmetic, shift, rotate,
concatenation,
MINIMUM/MAXIMUM,RISING_EDGE/FALLING_EDGE, andTO_STRINGoverloads on every applicable type. These are language-defined; the source file lists them as comments.
VHDL source listing
Package preamble
-- -----------------------------------------------------------------
--
-- Copyright 2019 IEEE P1076 WG Authors
--
-- See the LICENSE file distributed with this work for copyright and
-- licensing information and the AUTHORS file.
--
-- This file to you under the Apache License, Version 2.0 (the "License").
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-- implied. See the License for the specific language governing
-- permissions and limitations under the License.
--
-- Title : STANDARD package
-- :
-- Library : This package shall be compiled into a library
-- : symbolically named std.
-- :
-- Developers: IEEE P1076 Working Group
-- :
-- Purpose : This packages defines predefined types and subprograms
-- :
-- Note : This package may be modified to include additional data
-- : required by tools, but it must in no way change the
-- : external interfaces or simulation behavior of the
-- : description. It is permissible to add comments and/or
-- : attributes to the package declarations, but not to change
-- : or delete any original lines of the package declaration.
-- : The package body may be changed only in accordance with
-- : the terms of Clause 16 of this standard.
-- :
-- --------------------------------------------------------------------
package STANDARD is
Predefined enumeration types
DIRECTION BOOLEAN BIT CHARACTER SEVERITY_LEVEL
DIRECTION BOOLEAN BIT CHARACTER SEVERITY_LEVELDIRECTION
DIRECTION
DIRECTION -- Predefined enumeration types:
type DIRECTION is (
ASCENDING, -- The range is ascending.
DESCENDING -- the range is descending.
);
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function "/="(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function "<"(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function "<="(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function ">"(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function ">="(anonymous, anonymous: DIRECTION) return BOOLEAN;
-- function MINIMUM (L, R: DIRECTION) return DIRECTION;
-- function MAXIMUM (L, R: DIRECTION) return DIRECTION;
-- Implicit defined range record for DIRECTION'RANGE_RECORD:
-- type DIRECTION_RANGE_RECORD is record
-- Left : DIRECTION;
-- Right : DIRECTION;
-- Direction : DIRECTION;
-- end record;
BOOLEAN
BOOLEAN
BOOLEAN type BOOLEAN is (FALSE, TRUE);
-- The predefined operations for this type are as follows:
-- function "and"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "or"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "nand"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "nor"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "xor"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "xnor"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "not"(anonymous: BOOLEAN) return BOOLEAN;
-- function "="(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "/="(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "<"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function "<="(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function ">"(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function ">="(anonymous, anonymous: BOOLEAN) return BOOLEAN;
-- function MINIMUM(L, R: BOOLEAN) return BOOLEAN;
-- function MAXIMUM(L, R: BOOLEAN) return BOOLEAN;
-- function RISING_EDGE(signal S: BOOLEAN) return BOOLEAN;
-- function FALLING_EDGE(signal S: BOOLEAN) return BOOLEAN;
-- Implicit defined range record for BOOLEAN'RANGE_RECORD:
-- type BOOLEAN_RANGE_RECORD is record
-- Left : BOOLEAN;
-- Right : BOOLEAN;
-- Direction : DIRECTION;
-- end record;
BIT
BIT
BIT type BIT is ('0', '1');
-- The predefined operations for this type are as follows:
-- function "and"(anonymous, anonymous: BIT) return BIT;
-- function "or"(anonymous, anonymous: BIT) return BIT;
-- function "nand"(anonymous, anonymous: BIT) return BIT;
-- function "nor"(anonymous, anonymous: BIT) return BIT;
-- function "xor"(anonymous, anonymous: BIT) return BIT;
-- function "xnor"(anonymous, anonymous: BIT) return BIT;
-- function "not"(anonymous: BIT) return BIT;
-- function "="(anonymous, anonymous: BIT) return BOOLEAN;
-- function "/="(anonymous, anonymous: BIT) return BOOLEAN;
-- function "<"(anonymous, anonymous: BIT) return BOOLEAN;
-- function "<="(anonymous, anonymous: BIT) return BOOLEAN;
-- function ">"(anonymous, anonymous: BIT) return BOOLEAN;
-- function ">="(anonymous, anonymous: BIT) return BOOLEAN;
-- function "?="(anonymous, anonymous: BIT) return BIT;
-- function "?/="(anonymous, anonymous: BIT) return BIT;
-- function "?<"(anonymous, anonymous: BIT) return BIT;
-- function "?<="(anonymous, anonymous: BIT) return BIT;
-- function "?>"(anonymous, anonymous: BIT) return BIT;
-- function "?>="(anonymous, anonymous: BIT) return BIT;
-- function MINIMUM (L, R: BIT) return BIT;
-- function MAXIMUM (L, R: BIT) return BIT;
-- function "??"(anonymous: BIT) return BOOLEAN;
-- function RISING_EDGE (signal S: BIT) return BOOLEAN;
-- function FALLING_EDGE (signal S: BIT) return BOOLEAN;
-- Implicit defined range record for BIT'RANGE_RECORD:
-- type BIT_RANGE_RECORD is record
-- Left : BIT;
-- Right : BIT;
-- Direction : DIRECTION;
-- end record;
CHARACTER
CHARACTER
CHARACTER type CHARACTER is (
NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL,
BS, HT, LF, VT, FF, CR, SO, SI,
DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB,
CAN, EM, SUB, ESC, FSP, GSP, RSP, USP,
' ', '!', '"', '#', '$', '%', '&', ''',
'(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?',
'@', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z', '[', '\', ']', '^', '_',
'`', 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', '{', '|', '}', '~', DEL,
C128, C129, C130, C131, C132, C133, C134, C135,
C136, C137, C138, C139, C140, C141, C142, C143,
C144, C145, C146, C147, C148, C149, C150, C151,
C152, C153, C154, C155, C156, C157, C158, C159,
' ', '¡', '¢', '£', '¤', '¥', '¦', '§',
'¨', '©', 'ª', '«', '¬', '-', '®', '¯',
'°', '±', '²', '³', '´', 'µ', '¶', '·',
'¸', '¹', 'º', '»', '¼', '½', '¾', '¿',
'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç',
'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï',
'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×',
'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß',
'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç',
'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï',
'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷',
'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ'
);
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function "/="(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function "<"(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function "<="(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function ">"(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function ">="(anonymous, anonymous: CHARACTER) return BOOLEAN;
-- function MINIMUM (L, R: CHARACTER) return CHARACTER;
-- function MAXIMUM (L, R: CHARACTER) return CHARACTER;
-- Implicit defined range record for CHARACTER'RANGE_RECORD:
-- type CHARACTER_RANGE_RECORD is record
-- Left : CHARACTER;
-- Right : CHARACTER;
-- Direction : DIRECTION;
-- end record;
SEVERITY_LEVEL
SEVERITY_LEVEL
SEVERITY_LEVEL type SEVERITY_LEVEL is (NOTE, WARNING, ERROR, FAILURE);
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function "/="(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function "<"(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function "<="(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function ">"(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function ">="(anonymous, anonymous: SEVERITY_LEVEL) return BOOLEAN;
-- function MINIMUM (L, R: SEVERITY_LEVEL) return SEVERITY_LEVEL;
-- function MAXIMUM (L, R: SEVERITY_LEVEL) return SEVERITY_LEVEL;
-- Implicit defined range record for SEVERITY_LEVEL'RANGE_RECORD:
-- type SEVERITY_LEVEL_RANGE_RECORD is record
-- Left : SEVERITY_LEVEL;
-- Right : SEVERITY_LEVEL;
-- Direction : DIRECTION;
-- end record;
Universal numeric type operations
universal_integer
-- type universal_integer is range implementation_defined;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function "/="(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function "<"(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function "<="(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function ">"(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function ">="(anonymous, anonymous: universal_integer) return BOOLEAN;
-- function "+"(anonymous: universal_integer) return universal_integer;
-- function "-"(anonymous: universal_integer) return universal_integer;
-- function "abs"(anonymous: universal_integer) return universal_integer;
-- function "+"(anonymous, anonymous: universal_integer) return universal_integer;
-- function "-"(anonymous, anonymous: universal_integer) return universal_integer;
-- function "*"(anonymous, anonymous: universal_integer) return universal_integer;
-- function "/"(anonymous, anonymous: universal_integer) return universal_integer;
-- function "mod"(anonymous, anonymous: universal_integer) return universal_integer;
-- function "rem"(anonymous, anonymous: universal_integer) return universal_integer;
-- function MINIMUM (L, R: universal_integer) return universal_integer;
-- function MAXIMUM (L, R: universal_integer) return universal_integer;
-- Implicit defined range record for universal_integer'RANGE_RECORD:
-- type universal_integer_RANGE_RECORD is record
-- Left : universal_integer;
-- Right : universal_integer;
-- Direction : DIRECTION;
-- end record;
universal_real
-- type universal_real is range implementation_defined;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: universal_real) return BOOLEAN;
-- function "/="(anonymous, anonymous: universal_real) return BOOLEAN;
-- function "<"(anonymous, anonymous: universal_real) return BOOLEAN;
-- function "<="(anonymous, anonymous: universal_real) return BOOLEAN;
-- function ">"(anonymous, anonymous: universal_real) return BOOLEAN;
-- function ">="(anonymous, anonymous: universal_real) return BOOLEAN;
-- function "+"(anonymous: universal_real) return universal_real;
-- function "-"(anonymous: universal_real) return universal_real;
-- function "abs"(anonymous: universal_real) return universal_real;
-- function "+"(anonymous, anonymous: universal_real) return universal_real;
-- function "-"(anonymous, anonymous: universal_real) return universal_real;
-- function "*"(anonymous, anonymous: universal_real) return universal_real;
-- function "/"(anonymous, anonymous: universal_real) return universal_real;
-- function "*"(anonymous: universal_real; anonymous: universal_integer) return universal_real;
-- function "*"(anonymous: universal_integer; anonymous: universal_real) return universal_real;
-- function "/"(anonymous: universal_real; anonymous: universal_integer) return universal_real;
-- function MINIMUM (L, R: universal_real) return universal_real;
-- function MAXIMUM (L, R: universal_real) return universal_real;
-- Implicit defined range record for universal_real'RANGE_RECORD:
-- type universal_real_RANGE_RECORD is record
-- Left : universal_real;
-- Right : universal_real;
-- Direction : DIRECTION;
-- end record;
Predefined numeric types
INTEGER REAL
INTEGER REALINTEGER
INTEGER
INTEGER -- Predefined numeric types:
type INTEGER is range implementation_defined;
-- The predefined operations for this type are as follows:
-- function "**"(anonymous: universal_integer; anonymous: INTEGER) return universal_integer;
-- function "**"(anonymous: universal_real; anonymous: INTEGER) return universal_real;
-- function "="(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function "/="(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function "<"(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function "<="(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function ">"(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function ">="(anonymous, anonymous: INTEGER) return BOOLEAN;
-- function "+"(anonymous: INTEGER) return INTEGER;
-- function "-"(anonymous: INTEGER) return INTEGER;
-- function "abs"(anonymous: INTEGER) return INTEGER;
-- function "+"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "-"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "*"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "/"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "mod"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "rem"(anonymous, anonymous: INTEGER) return INTEGER;
-- function "**"(anonymous: INTEGER; anonymous: INTEGER) return INTEGER;
-- function MINIMUM (L, R: INTEGER) return INTEGER;
-- function MAXIMUM (L, R: INTEGER) return INTEGER;
-- Implicit defined range record for INTEGER'RANGE_RECORD:
-- type INTEGER_RANGE_RECORD is record
-- Left : INTEGER;
-- Right : INTEGER;
-- Direction : DIRECTION;
-- end record;
REAL
REAL
REAL type REAL is range implementation_defined;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: REAL) return BOOLEAN;
-- function "/="(anonymous, anonymous: REAL) return BOOLEAN;
-- function "<"(anonymous, anonymous: REAL) return BOOLEAN;
-- function "<="(anonymous, anonymous: REAL) return BOOLEAN;
-- function ">"(anonymous, anonymous: REAL) return BOOLEAN;
-- function ">="(anonymous, anonymous: REAL) return BOOLEAN;
-- function "+"(anonymous: REAL) return REAL;
-- function "-"(anonymous: REAL) return REAL;
-- function "abs"(anonymous: REAL) return REAL;
-- function "+"(anonymous, anonymous: REAL) return REAL;
-- function "-"(anonymous, anonymous: REAL) return REAL;
-- function "*"(anonymous, anonymous: REAL) return REAL;
-- function "/"(anonymous, anonymous: REAL) return REAL;
-- function "**"(anonymous: REAL; anonymous: INTEGER) return REAL;
-- function MINIMUM (L, R: REAL) return REAL;
-- function MAXIMUM (L, R: REAL) return REAL;
-- Implicit defined range record for REAL'RANGE_RECORD:
-- type REAL_RANGE_RECORD is record
-- Left : REAL;
-- Right : REAL;
-- Direction : DIRECTION;
-- end record;
Predefined TIME type, DELAY_LENGTH subtype, and NOW function
TIMEDELAY_LENGTHNOW
TIMEDELAY_LENGTHNOW -- Predefined type TIME:
type TIME is range implementation_defined
units
fs; -- femtosecond
ps = 1000 fs; -- picosecond
ns = 1000 ps; -- nanosecond
us = 1000 ns; -- microsecond
ms = 1000 us; -- millisecond
sec = 1000 ms; -- second
min = 60 sec; -- minute
hr = 60 min; -- hour
end units;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: TIME) return BOOLEAN;
-- function "/="(anonymous, anonymous: TIME) return BOOLEAN;
-- function "<"(anonymous, anonymous: TIME) return BOOLEAN;
-- function "<="(anonymous, anonymous: TIME) return BOOLEAN;
-- function ">"(anonymous, anonymous: TIME) return BOOLEAN;
-- function ">="(anonymous, anonymous: TIME) return BOOLEAN;
-- function "+"(anonymous: TIME) return TIME;
-- function "- (anonymous: TIME) return TIME;
-- function "abs"(anonymous: TIME) return TIME;
-- function "+"(anonymous, anonymous: TIME) return TIME;
-- function "-"(anonymous, anonymous: TIME) return TIME;
-- function "*"(anonymous: TIME; anonymous: INTEGER) return TIME;
-- function "*"(anonymous: TIME; anonymous: REAL) return TIME;
-- function "*"(anonymous: INTEGER; anonymous: TIME) return TIME;
-- function "*"(anonymous: REAL; anonymous: TIME) return TIME;
-- function "/"(anonymous: TIME; anonymous: INTEGER) return TIME;
-- function "/"(anonymous: TIME; anonymous: REAL) return TIME;
-- function "/"(anonymous, anonymous: TIME) return universal_integer;
-- function "mod"(anonymous, anonymous: TIME) return TIME;
-- function "rem"(anonymous, anonymous: TIME) return TIME;
-- function MINIMUM (L, R: TIME) return TIME;
-- function MAXIMUM (L, R: TIME) return TIME;
-- Implicit defined range record for TIME'RANGE_RECORD:
-- type TIME_RANGE_RECORD is record
-- Left : TIME;
-- Right : TIME;
-- Direction : DIRECTION;
-- end record;
subtype DELAY_LENGTH is TIME range 0 fs to TIME'HIGH;
-- A function that returns the current simulation time, Tc, (see 14.7.5.1):
impure function NOW return DELAY_LENGTH;
Predefined numeric subtypes
NATURAL POSITIVE
NATURAL POSITIVE -- Predefined numeric subtypes:
subtype NATURAL is INTEGER range 0 to INTEGER'HIGH;
subtype POSITIVE is INTEGER range 1 to INTEGER'HIGH;
Predefined array types
STRING BOOLEAN_VECTOR BIT_VECTOR INTEGER_VECTOR REAL_VECTOR TIME_VECTOR
STRING BOOLEAN_VECTOR BIT_VECTOR INTEGER_VECTOR REAL_VECTOR TIME_VECTORSTRING
STRING
STRING -- Predefined array types:
type STRING is array (POSITIVE range <>) of CHARACTER;
-- The predefined operations for these types are as follows:
-- function "="(anonymous, anonymous: STRING) return BOOLEAN;
-- function "/="(anonymous, anonymous: STRING) return BOOLEAN;
-- function "<"(anonymous, anonymous: STRING) return BOOLEAN;
-- function "<="(anonymous, anonymous: STRING) return BOOLEAN;
-- function ">"(anonymous, anonymous: STRING) return BOOLEAN;
-- function ">="(anonymous, anonymous: STRING) return BOOLEAN;
-- function "&"(anonymous: STRING; anonymous: STRING) return STRING;
-- function "&"(anonymous: STRING; anonymous: CHARACTER) return STRING;
-- function "&"(anonymous: CHARACTER; anonymous: STRING) return STRING;
-- function "&"(anonymous: CHARACTER; anonymous: CHARACTER) return STRING;
-- function MINIMUM (L, R: STRING) return STRING;
-- function MAXIMUM (L, R: STRING) return STRING;
-- function MINIMUM (L: STRING) return CHARACTER;
-- function MAXIMUM (L: STRING) return CHARACTER;
BOOLEAN_VECTOR
BOOLEAN_VECTOR
BOOLEAN_VECTOR type BOOLEAN_VECTOR is array (NATURAL range <>) of BOOLEAN;
-- The predefined operations for this type are as follows:
-- function "and"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "or"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "nand"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "nor"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "xor"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "xnor"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "not"(anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "and"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "and"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "or"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "or"(anonymous: BOOLEAN; anonymous : BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "nand"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "nand"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "nor"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "nor"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "xor"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "xor"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "xnor"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "xnor"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "and"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "or"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "nand"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "nor"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "xor"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "xnor"(anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "sll"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "srl"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "sla"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "sra"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "rol"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "ror"(anonymous: BOOLEAN_VECTOR; anonymous: INTEGER) return BOOLEAN_VECTOR;
-- function "="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "/="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "<"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "<="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function ">"(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function ">="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "?="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "?/="(anonymous, anonymous: BOOLEAN_VECTOR) return BOOLEAN;
-- function "&"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "&"(anonymous: BOOLEAN_VECTOR; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function "&"(anonymous: BOOLEAN; anonymous: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function "&"(anonymous: BOOLEAN; anonymous: BOOLEAN) return BOOLEAN_VECTOR;
-- function MINIMUM (L, R: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function MAXIMUM (L, R: BOOLEAN_VECTOR) return BOOLEAN_VECTOR;
-- function MINIMUM (L: BOOLEAN_VECTOR) return BOOLEAN;
-- function MAXIMUM (L: BOOLEAN_VECTOR) return BOOLEAN;
BIT_VECTOR
BIT_VECTOR
BIT_VECTOR type BIT_VECTOR is array (NATURAL range <>) of BIT;
-- The predefined operations for this type are as follows:
-- function "and"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "or"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "nand"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "nor"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "xor"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "xnor"(anonymous, anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "not"(anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "and"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "and"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "or"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "or"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "nand"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "nand"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "nor"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "nor"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "xor"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "xor"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "xnor"(anonymous: BIT_VECTOR; anonymous : BIT) return BIT_VECTOR;
-- function "xnor"(anonymous: BIT; anonymous : BIT_VECTOR) return BIT_VECTOR;
-- function "and"(anonymous: BIT_VECTOR) return BIT;
-- function "or"(anonymous: BIT_VECTOR) return BIT;
-- function "nand"(anonymous: BIT_VECTOR) return BIT;
-- function "nor"(anonymous: BIT_VECTOR) return BIT;
-- function "xor"(anonymous: BIT_VECTOR) return BIT;
-- function "xnor"(anonymous: BIT_VECTOR) return BIT;
-- function "sll"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "srl"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "sla"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "sra"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "rol"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "ror"(anonymous: BIT_VECTOR; anonymous: INTEGER) return BIT_VECTOR;
-- function "="(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function "/="(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function "<"(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function "<="(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function ">"(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function ">="(anonymous, anonymous: BIT_VECTOR) return BOOLEAN;
-- function "?="(anonymous, anonymous: BIT_VECTOR) return BIT;
-- function "?/="(anonymous, anonymous: BIT_VECTOR) return BIT;
-- function "&"(anonymous: BIT_VECTOR; anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "&"(anonymous: BIT_VECTOR; anonymous: BIT) return BIT_VECTOR;
-- function "&"(anonymous: BIT; anonymous: BIT_VECTOR) return BIT_VECTOR;
-- function "&"(anonymous: BIT; anonymous: BIT) return BIT_VECTOR;
-- function MINIMUM (L, R: BIT_VECTOR) return BIT_VECTOR;
-- function MAXIMUM (L, R: BIT_VECTOR) return BIT_VECTOR;
-- function MINIMUM (L: BIT_VECTOR) return BIT;
-- function MAXIMUM (L: BIT_VECTOR) return BIT;
-- function TO_STRING (VALUE: BIT_VECTOR) return STRING;
-- alias TO_BSTRING is TO_STRING [BIT_VECTOR return STRING];
-- alias TO_BINARY_STRING is TO_STRING [BIT_VECTOR return STRING];
-- function TO_OSTRING (VALUE: BIT_VECTOR) return STRING;
-- alias TO_OCTAL_STRING is TO_OSTRING [BIT_VECTOR return STRING];
-- function TO_HSTRING (VALUE: BIT_VECTOR) return STRING;
-- alias TO_HEX_STRING is TO_HSTRING [BIT_VECTOR return STRING];
INTEGER_VECTOR
INTEGER_VECTOR
INTEGER_VECTOR type INTEGER_VECTOR is array (NATURAL range <>) of INTEGER;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function "/="(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function "<"(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function "<="(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function ">"(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function ">="(anonymous, anonymous: INTEGER_VECTOR) return BOOLEAN;
-- function "&"(anonymous: INTEGER_VECTOR; anonymous: INTEGER_VECTOR) return INTEGER_VECTOR;
-- function "&"(anonymous: INTEGER_VECTOR; anonymous: INTEGER) return INTEGER_VECTOR;
-- function "&"(anonymous: INTEGER; anonymous: INTEGER_VECTOR) return INTEGER_VECTOR;
-- function "&"(anonymous: INTEGER; anonymous: INTEGER) return INTEGER_VECTOR;
-- function MINIMUM (L, R: INTEGER_VECTOR) return INTEGER_VECTOR;
-- function MAXIMUM (L, R: INTEGER_VECTOR) return INTEGER_VECTOR;
-- function MINIMUM (L: INTEGER_VECTOR) return INTEGER;
-- function MAXIMUM (L: INTEGER_VECTOR) return INTEGER;
REAL_VECTOR
REAL_VECTOR
REAL_VECTOR type REAL_VECTOR is array (NATURAL range <>) of REAL;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: REAL_VECTOR) return BOOLEAN;
-- function "/="(anonymous, anonymous: REAL_VECTOR) return BOOLEAN;
-- function "&"(anonymous: REAL_VECTOR; anonymous: REAL_VECTOR) return REAL_VECTOR;
-- function "&"(anonymous: REAL_VECTOR; anonymous: REAL) return REAL_VECTOR;
-- function "&"(anonymous: REAL; anonymous: REAL_VECTOR) return REAL_VECTOR;
-- function "&"(anonymous: REAL; anonymous: REAL) return REAL_VECTOR;
-- function MINIMUM (L: REAL_VECTOR) return REAL;
-- function MAXIMUM (L: REAL_VECTOR) return REAL;
TIME_VECTOR
TIME_VECTOR
TIME_VECTOR type TIME_VECTOR is array (NATURAL range <>) of TIME;
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: TIME_VECTOR) return BOOLEAN;
-- function "/="(anonymous, anonymous: TIME_VECTOR) return BOOLEAN;
-- function "&"(anonymous: TIME_VECTOR; anonymous: TIME_VECTOR) return TIME_VECTOR;
-- function "&"(anonymous: TIME_VECTOR; anonymous: TIME) return TIME_VECTOR;
-- function "&"(anonymous: TIME; anonymous: TIME_VECTOR) return TIME_VECTOR;
-- function "&"(anonymous: TIME; anonymous: TIME) return TIME_VECTOR;
-- function MINIMUM (L: TIME_VECTOR) return TIME;
-- function MAXIMUM (L: TIME_VECTOR) return TIME;
Predefined file open types
FILE_OPEN_KIND FILE_OPEN_STATUS FILE_OPEN_STATE FILE_ORIGIN_KIND
FILE_OPEN_KIND FILE_OPEN_STATUS FILE_OPEN_STATE FILE_ORIGIN_KINDFILE_OPEN_KIND
FILE_OPEN_KIND
FILE_OPEN_KIND -- The predefined types for opening files:
type FILE_OPEN_KIND is (
READ_MODE, -- Resulting access mode is read-only.
READ_WRITE_MODE, -- Resulting access mode is read/write.
WRITE_MODE, -- Resulting access mode is write-only.
APPEND_MODE -- Resulting access mode is write-only;
); -- information is appended to the end of the existing file.
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function "/="(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function "<"(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function "<="(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function ">"(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function ">="(anonymous, anonymous: FILE_OPEN_KIND) return BOOLEAN;
-- function MINIMUM (L, R: FILE_OPEN_KIND) return FILE_OPEN_KIND;
-- function MAXIMUM (L, R: FILE_OPEN_KIND) return FILE_OPEN_KIND;
-- Implicit defined range record for FILE_OPEN_KIND'RANGE_RECORD:
-- type FILE_OPEN_KIND_RANGE_RECORD is record
-- Left : FILE_OPEN_KIND;
-- Right : FILE_OPEN_KIND;
-- Direction : DIRECTION;
-- end record;
FILE_OPEN_STATUS
FILE_OPEN_STATUS
FILE_OPEN_STATUS type FILE_OPEN_STATUS is (
OPEN_OK, -- File open was successful.
STATUS_ERROR, -- File object was already open.
NAME_ERROR, -- External file not found or inaccessible.
MODE_ERROR -- Could not open file with requested access mode.
);
-- The predefined operations for this type are as follows:
-- function "="(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function "/="(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function "<"(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function "<="(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function ">"(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function ">="(anonymous, anonymous: FILE_OPEN_STATUS) return BOOLEAN;
-- function MINIMUM (L, R: FILE_OPEN_STATUS) return FILE_OPEN_STATUS;
-- function MAXIMUM (L, R: FILE_OPEN_STATUS) return FILE_OPEN_STATUS;
-- Implicit defined range record for FILE_OPEN_STATUS'RANGE_RECORD:
-- type FILE_OPEN_STATUS_RANGE_RECORD is record
-- Left : FILE_OPEN_STATUS;
-- Right : FILE_OPEN_STATUS;
-- Direction : DIRECTION;
-- end record;
FILE_OPEN_STATE
FILE_OPEN_STATE
FILE_OPEN_STATE type FILE_OPEN_STATE is (
STATE_OPEN, -- File object is open.
STATE_CLOSED -- File object is closed.
);
-- The predefined operations for this type are as follows:
-- function "=" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function "/=" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function "<" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function "<=" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function ">" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function ">=" (anonymous, anonymous: FILE_OPEN_STATE) return BOOLEAN;
-- function MINIMUM (L, R: FILE_OPEN_STATE) return FILE_OPEN_STATE;
-- function MAXIMUM (L, R: FILE_OPEN_STATE) return FILE_OPEN_STATE;
-- Implicit defined range record for FILE_OPEN_STATE'RANGE_RECORD:
-- type FILE_OPEN_STATE_RANGE_RECORD is record
-- Left : FILE_OPEN_STATE;
-- Right : FILE_OPEN_STATE;
-- Direction : DIRECTION;
-- end record;
FILE_ORIGIN_KIND
FILE_ORIGIN_KIND
FILE_ORIGIN_KIND type FILE_ORIGIN_KIND is (
FILE_ORIGIN_BEGIN, -- File open was successful.
FILE_ORIGIN_CURRENT, -- File object was already open.
FILE_ORIGIN_END -- External file not found
);
-- The predefined operations for this type are as follows:
-- function "=" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function "/=" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function "<" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function "<=" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function ">" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function ">=" (anonymous, anonymous: FILE_ORIGIN_KIND) return BOOLEAN;
-- function MINIMUM (L, R: FILE_ORIGIN_KIND) return FILE_ORIGIN_KIND;
-- function MAXIMUM (L, R: FILE_ORIGIN_KIND) return FILE_ORIGIN_KIND;
-- Implicit defined range record for FILE_ORIGIN_KIND'RANGE_RECORD:
-- type FILE_ORIGIN_KIND_RANGE_RECORD is record
-- Left : FILE_ORIGIN_KIND;
-- Right : FILE_ORIGIN_KIND;
-- Direction : DIRECTION;
-- end record;
FOREIGN attribute
FOREIGN
FOREIGN -- The 'FOREIGN attribute:
attribute FOREIGN: STRING;
Predefined TO_STRING operations
-- Predefined TO_STRING operations on scalar types
-- function TO_STRING (VALUE: BOOLEAN) return STRING;
-- function TO_STRING (VALUE: BIT) return STRING;
-- function TO_STRING (VALUE: CHARACTER) return STRING;
-- function TO_STRING (VALUE: SEVERITY_LEVEL) return STRING;
-- function TO_STRING (VALUE: universal_integer) return STRING;
-- function TO_STRING (VALUE: universal_real) return STRING;
-- function TO_STRING (VALUE: INTEGER) return STRING;
-- function TO_STRING (VALUE: REAL) return STRING;
-- function TO_STRING (VALUE: TIME) return STRING;
-- function TO_STRING (VALUE: STRING) return STRING;
-- function TO_STRING (VALUE: BOOLEAN_VECTOR) return STRING;
-- function TO_STRING (VALUE: INTEGER_VECTOR) return STRING;
-- function TO_STRING (VALUE: REAL_VECTOR) return STRING;
-- function TO_STRING (VALUE: TIME_VECTOR) return STRING;
-- function TO_STRING (VALUE: FILE_OPEN_KIND) return STRING;
-- function TO_STRING (VALUE: FILE_OPEN_STATUS) return STRING;
-- Predefined overloaded TO_STRING operations
-- function TO_STRING (VALUE: REAL; DIGITS: NATURAL) return STRING;
-- function TO_STRING (VALUE: REAL; FORMAT: STRING) return STRING;
-- function TO_STRING (VALUE: TIME; UNIT: TIME) return STRING;
end package STANDARD;

