Enumeration Type Literals not recognized

For Example Given the declaration in MyPackage.vhd type t_Aligner_State is (IDLE, PTRN_SEARCH, SLIP_BUSY, PTRN_OK1, PTRN_OK2, LOCKED); the following code ... use work.MyPackage.t_Aligner_State; ... architecture SYN of DUMMY is ... signal Aligner_State : t_Aligner_State; ... begin ... Aligner_State <= IDLE; ... end architecture SYN; " produces the following error "Declaration of IDLE could not be found" There is no workaround that I know of.

enums

Hi Dirk,

You have spotted a bug. When you import an enum datatype, we do not make the enum literals visible. I've logged this as ticket:646
For now, as a workaround, you can import the entire package: use work.packageName.all; like this:

package p1 is
   type t_Aligner_State is (IDLE, PTRN_SEARCH, SLIP_BUSY, PTRN_OK1, PTRN_OK2, LOCKED);
end package p1;
 
entity dummy is
end entity dummy;
 
use work.p1.all; -- use ALL
architecture SYN of DUMMY is
   signal Aligner_State : t_Aligner_State;
begin
   Aligner_State <= IDLE; -- works fine now
end architecture SYN;

fixed

This issue is fixed in the upcoming release.

Post new comment

The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.