Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > VHDL'93 instances sometimes mysteriously fail...

Reply
Thread Tools

VHDL'93 instances sometimes mysteriously fail...

 
 
richard.draelos@gmail.com
Guest
Posts: n/a
 
      10-09-2008


I have encountered the following mysterious error with ispLever,
Synplify, ModelSim and Quartus II.
It does not appear in any Aldec tools (or Xilinx tool as far as I
remember).

Assume I have some component

---
entity comp1 is
port (
....
);
end entity;
---

And I want to instanciate it with the newer VHDL syntax:

---
architecture behav of comp2 is
....

comp1inst: entity work.comp1
port map (
...
);
end behav;
---

this would sometimes, for some component and tool COMBINATIONS
consistently generates the following error:

---
-- Analyzing VHDL file comp1.vhd
-- Analyzing VHDL file comp2.vhd
comp2.vhd(147): ERROR: illegal selected name prefix
comp2.vhd(345): ERROR: unit behav ignored due to previous errors
---

(this particular error dump was produced by ispLever 7.1 project
navigator)


Now, if I use the old-school instaciation, everything will work just
fine:

---
architecture behav of comp2 is
component comp1 is
port (
....
);
end component;

....
begin

comp1inst: comp1
port map (
...
);

end behav;
---

I assume the most obvious answer would be that I have not included
comp1.vhd or it was read after comp2.vhd. But as you can see in the
error message earlier, this was not the case. Futhermore, the code
works with some tools and not with others. Evern worse, the tools may
accept my VHDL'93 style instances in other locations but reject these
ones for some reason I cant figure out


Can anyone please explain to me why this is happening? Am I
overlooking something terribly basic here?
 
Reply With Quote
 
 
 
 
Tricky
Guest
Posts: n/a
 
      10-09-2008
I can think of two problems.
1. The library comp1 is in is not work. in that case it would be
entity mylibrary.comp1

But Im sure you already thought of that

and 2. In modelsim at least, you can set the syntax compile mode on a
file by file basis. If you have a modelsim project right click on the
affected file, go to compile options and make sure the language syntax
is set to 93 or 2002. For some compilers (Quartus for 1) it may be
done on a global basis.
 
Reply With Quote
 
 
 
 
KJ
Guest
Posts: n/a
 
      10-09-2008
On Oct 9, 3:22*am, richard.drae...@gmail.com wrote:
> I have encountered the following mysterious error with ispLever,
> Synplify, ModelSim and Quartus II.
> It does not appear in any Aldec tools (or Xilinx tool as far as I
> remember).
>


>
> I assume the most obvious answer would be that I have not included
> comp1.vhd or it was read after comp2.vhd. But as you can see in the
> error message earlier, this was not the case. Futhermore, the code
> works with some tools and not with others. Evern worse, the tools may
> accept my VHDL'93 style instances in other locations but reject these
> ones for some reason I cant figure out
>
> Can anyone please explain to me why this is happening? Am I
> overlooking something terribly basic here?


I'm not sure what is causing your problem, but I can say I've used
direct entity instantiation without any problems for several years
with Synplify, ModelSim and Quartus II.

I haven't used ispLever much, but I've noticed it complain about
things when it first opens the project and scans the design files that
it is then happy with when you actually do a build.

1. Perhaps post the error messages you get with Synplify, ModelSim and
Quartus II.
2. Double check the file compile order for S, M and Q and that each
file is compiling into 'work' library.

KJ
 
Reply With Quote
 
richard.draelos@gmail.com
Guest
Posts: n/a
 
      10-09-2008
I am not acitvly changing the work library, so if this happens it must
be a bug in the tool.

Furthermore, this only happens in some files. That is, I can otherwise
use my components in other files using the VHDL'93 style without any
problems.


> I can think of two problems.
> 1. The library comp1 is in is not work. in that case it would be
> entity mylibrary.comp1
>
> But Im sure you already thought of that
>
> and 2. In modelsim at least, you can set the syntax compile mode on a
> file by file basis. If you have a modelsim project right click on the
> affected file, go to compile options and make sure the language syntax
> is set to 93 or 2002. For some compilers (Quartus for 1) it may be
> done on a global basis.

 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      10-09-2008
wrote:

> -- Analyzing VHDL file comp1.vhd
> -- Analyzing VHDL file comp2.vhd
> comp2.vhd(147): ERROR: illegal selected name prefix
> comp2.vhd(345): ERROR: unit behav ignored due to previous errors


For some reason, that tool is in -87 mode.
This mode is sometimes needed to compile old code.
Check the command line options and defaults or get an update.

-- Mike Treseler
 
Reply With Quote
 
Eli Bendersky
Guest
Posts: n/a
 
      10-14-2008
On Oct 9, 9:22*am, richard.drae...@gmail.com wrote:
> I have encountered the following mysterious error with ispLever,
> Synplify, ModelSim and Quartus II.
> It does not appear in any Aldec tools (or Xilinx tool as far as I
> remember).
>
> Assume I have some component
>
> ---
> entity comp1 is
> port (
> * * * * ....
> );
> end entity;
> ---
>
> And I want to instanciate it with the newer VHDL syntax:
>
> ---
> architecture behav of comp2 is
> ...
>
> * * * * comp1inst: entity work.comp1
> * * * * port map (
> * * * * * * * * ...
> * * * * );
> end behav;
> ---
>


Should you not also specify the architecture for work.comp1 you want
to instantiate, like this (Assuming that the architecture is named
behav):

comp1inst: entity work.comp1(behav)
port map (
....
);

This is what I always do.

Eli
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
OT: I find... sometimes it's easy to be myself... sometimes... I find it's better to be somebody else. The Obelisk [7.13.86.42] MCSE 10 06-04-2006 05:40 AM
Firefox locks up on first URL sometimes; Sometimes closes itself Jim Firefox 0 06-28-2005 01:42 PM
? Content Entered in Forms Sometimes Duplicated and Sometimes Not ? Nehmo Sergheyev HTML 1 05-09-2004 07:07 PM
::std sometimes needed, sometimes not Marcin Vorbrodt C++ 24 09-17-2003 03:01 PM
Re: Sometimes ASP.NET does find the dll, sometimes doesn't John Saunders ASP .Net 0 08-28-2003 01:40 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57