VHDL 2008 syntax error

L

logic_guy

I have been learning about VHDL 2008 and wanted to try a simple example
of the 2008 enhancements. I created the following test file:
entity generic_mux2 is
generic (type data_type);
port (sel : in bit; a, b : in data_type;
z : out data_type );
end entity generic_mux2;

architecture rtl of generic_mux2 is
begin
z <= a when sel = '0' else b;
end architecture rtl;


I installed ModelSim SE 10.0a. It claims to support a significant
subset of the 2008 enhancements. When I try to compile the above file
it get:
vcom -2008 generic_mux2.vhdl
# Model Technology ModelSim SE vcom 10.0a Compiler 2011.02 Feb 20 2011
# -- Loading package STANDARD
# -- Compiling entity generic_mux2
# ** Error: generic_mux2.vhdl(2): near "type": expecting IDENTIFIER
# C:/modeltech_10.0a/win32/vcom failed.

Does ModelSim SE 10.0 not support generic types? Hard to imagine...
This is the first thing mentioned in Peter Ashenden's "VHDL-2008: Just
the New Stuff". (and I copied the above example right out of the book)

Charles Bailey
 
M

Mike Treseler

I have been learning about VHDL 2008 and wanted to try a simple example
of the 2008 enhancements. I created the following test file:
entity generic_mux2 is
generic (type data_type);
port (sel : in bit; a, b : in data_type;
z : out data_type );
end entity generic_mux2;

architecture rtl of generic_mux2 is
begin
z<= a when sel = '0' else b;
end architecture rtl; ....
# ** Error: generic_mux2.vhdl(2): near "type": expecting IDENTIFIER
# C:/modeltech_10.0a/win32/vcom failed.
)

-- Did you have
library ieee;
use ieee.std_logic_1164.all;
-- at the top?

Would a generic entity need an instance and generic map?

incr_inst : entity work.generic_mux2
generic map ( data_type => std_ulogic)
port map ( ... );

Good luck.

-- Mike Treseler
 
L

logic_guy

Alan Fitch said:
The VHDL 2008 support is documented under Help > Technotes > vhdl2008

Both the vhdl2008 and vhdl2008migration technotes are completely mum
about the topic of generic types. They don't say they support it and
they don't say it's not supported. Apparently, the answer is "no".
(The business of generic types does appear to be a fairly big leap for
the language.)

Charles Bailey
 
L

logic_guy

Mike Treseler said:
-- Did you have
library ieee;
use ieee.std_logic_1164.all;
-- at the top?

Would a generic entity need an instance and generic map?

incr_inst : entity work.generic_mux2
generic map ( data_type => std_ulogic)
port map ( ... );

Good luck.

-- Mike Treseler

Adding
library ieee;
use ieee.std_logic_1164.all;
to the top doesn't help. Same error message.

Charles Bailey
 
H

hssig

Hi,

I have tried your example with ModelsimPE 10.0b and I got the same
error message.

Cheers,
hssig
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top