VHDL Programming

(C. Jardin) #1

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);
Free download pdf