...snip.
> vcom -2002 -explicit -work practice full_adder.vhd
> #Model Technology Modelsim SE vcom 6.3 Compiler 2007.05 May 4 2007
> # -- Loading package standard
> # -- Loading package std_logic_1164
> # -- Loading package numeric_std
> # -- Compiling entity full_adder
> # -- Compiling architecture truth_table of full_adder
> # ** Warning: full_adder.vhd(15): (vcom-1186) Array type selected
> signal assignment expression must be of a locally static subtype.
>
>
> Why warning??? What does this locally static subtype mean??
Modelsim's verror command sometimes provides additional information:
$ verror 1186
vcom Message # 1186:
When the expression is of an array type, the length of the array must
be known at compile time. The simulator is less restrictive than the
LRM requires as long as the array length of the expression can be
determined in the compiler.
IEEE Std 1076-1993, 8.8 Case statement:
If the expression is of a one-dimensional character array type, then
the expression must be one of the following:
-- The name of an object whose subtype is locally static
-- An indexed name whose prefix is one of the members of this list
and whose indexing expressions are locally static expressions
-- A slice name whose prefix is one of the members of this list and
whose discrete range is a locally static discrete range
-- A function call whose return type mark denotes a locally static
subtype
-- A qualified expression or type conversion whose type mark
denotes a locally static subtype
It is an error if the element subtype of the one-dimensional character
array type is not a locally static subtype.
Hans
www.ht-lab.com
>
> Regards,
> JK
>