Appendix D VHDL93 Updates
Early in 1993 the VHDL language standard was updated to reflect a
number of shortcomings with the VHDL 1076-1987 standard and to add
some new features to the language. This new standard is called VHDL
1076-1993. In this appendix the 1987 standard will be referred to as
VHDL87 and the 1993 standard as VHDL93.
The goal of this appendix is not to give the user a complete description
of every new or changed feature, but to give the reader an idea of the scope
of these changes and what effect they will have on future VHDL model-
ing efforts.
The goal of the update was to remain compatible with VHDL87 so that
VHDL87 models would work in a VHDL93 environment. This goal was
not entirely achieved as some of the new features were no longer compat-
ible. The main reason for the incompatibility was the use of new keywords
in VHDL93, that may have been used as identifiers in VHDL87, and a ma-
jor update of TEXTIO.
The rest of this appendix includes discussions of the VHDL87 features
that have either been added or changed. They are listed in alphabetical
order for easier access.
Alias
The aliasclause has been generalized for VHDL93. In VHDL87 an alias
was used to give an alternate name to an object (see Chapter 8,“Advanced
Topics”). In VHDL93 the aliasconstruct has been generalized to allow
aliasing not only types but functions and procedures as well.
A typical aliasin VHDL87 would look as follows:
ALIAS opcode : BIT_VECTOR( 3 DOWNTO 0) IS instruction(31
DOWNTO 28);
Notice the type of the opcode needed to be specified (BIT_VECTOR( 3
DOWNTO 0)). In VHDL93 the type is now optional. This same aliascan be
written in VHDL93 as follows:
ALIAS opcode IS instruction(27 DOWNTO 22);