Taras,
constant B4 : unsigned := "010";
constant CONST : unsigned := B4 + "001"; --is NOT locally static
constant B4 : integer := 2;
constant CONST : integer := B4 + 1; -- is locally static
From the LRM:
7.4.1 Locally static primaries
An expression is said to be locally static if and only if every
operator in the expression denotes an implicitly deï¬ned operator
whose operands and result are scalar and if every primary in the
expression is a locally static primary, where a locally static
primary is deï¬ned to be one of the following: ...
Integers are scalar, arrays are not.
The VHDL-200X effort has proposals that modify this.
Two important changes:
1) Strike the requirement for the operand and result to be scalar. (FT22)
2) Include operators defined in std_logic_1164 and numeric_std along
with implicitly defined operators in consideration for being
locally static. (FT23)
The VHDL-200X working group is looking for corporate support
to fund the LRM editing effort. Funding will determine the
question as to when the features will be available.
If your company can help sponsor this effort, please contact
myself (VASG vice-chair) or Stephen Bailey (VASG chair).
Best Regards,
Jim Lewis
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training mailto:
[email protected]
SynthWorks Design Inc.
http://www.SynthWorks.com
1-503-590-4787
Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~