Identifier
Formal Definition
Names that identify various VHDL
named entities.
Syntax:
identifier ::= basic_identifier | extended_identifier
basic_identifier ::= letter { [ underline } letter_or_digit }
letter_or_digit ::= letter | digit
letter ::= upper_case_letter | lower_case_letter
extended_indentifier ::= \graphic_character { graphic_character } \
Description
Identifiers are used both
as names for VHDL objects, procedures, functions, processes, design
entities, etc., and as reserved words. There are two classes of
identifiers: basic identifiers and extended identifiers.
The basic identifiers are
used for naming all named entities in VHDL. They can be of any
length, provided that the whole identifier is written in one line of
code. Reserved words cannot be used as basic identifiers (see reserved
words for complete list of reserved words). Underscores are
significant characters in an identifier and basic identifiers may
contain underscores, but it is not allowed to place an underscore as
a first or last character of an identifier. Moreover, two underscores
side by side are not allowed as well. Underscores are significant
characters in an identifier.
The extended identifiers
were included in VHDL '93 in order to make the code more compatible
with tools which make use of extended identifiers. The extended
identifiers are braced between two backslash characters. They may
contain any graphic character (including spaces and non-ASCII
characters), as well as reserved words. If a backslash is to be used
as one of the graphic characters of an extended literal, it must be
doubled. Upper- and lower-case letters are distinguished in extended literals.
Examples
Example 1
-- legal identifiers
Decoder_1 FFT Sig_N Not_Ack
\signal\ \C:\\Cads\
\Signal @#\
All above identifiers are legal in VHDL '93. Note that a single
backslash inside an extended name is denoted by two backslashes.
Example 2
-- illegal identifiers
_Decoder_1 2FFT
Sig_#N Not-Ack
No VHDL tool would accept any of the four identifiers above. The
errors are as follows: underscore at the beginning of the first
identifier, digit at the beginning of the second, special character
(#) inside the third and hyphen (special character as well) in the fourth.
Important Notes
-
A basic identifier must begin with a letter.
-
No spaces are allowed in basic identifiers.
-
Basic identifiers are not case sensitive, i.e. upper- and lower-case
letters are considered identical.
-
Basic identifiers consist of Latin letters (a..z), underscores ( _ )
and digits (0..9). It is not allowed to use any special characters
here, including non-Latin (language-specific) letters.
|