( ESNUG 285 Item 3 ) ----------------------------------------------- [4/3/98]
From: comparin@poci.amis.com ( Erik Comparini )
Subject: Design Compiler Has Problems With Same Named VHDL Packages
Hi John,
What I am reporting here may not be new to a lot of users, but it is
certainly an annoyance. This problem has been reported to Synopsys by me
long ago, but so far nothing has been done. Here's the scoop:
VHDL has this cool thing called packages, where you can stuff a lot of
things that you use over and over again, among other things. The language
standard does support 2 or more different packages with the same name, as
long as they reside in different libraries.
Design Compiler is notorious for supporting the "synthesizable" sub-set of
VHDL, but it does weird things with constructs that it supposedly supports.
An example of that are packages. If you have 2 or more packages with the
same name, and you analyze them into different libraries, each one of these
libraries with different logical names, mapped to different physical
locations in your disk, when you analyze your design, DC will consider that
an error! Here is the message that it spits out when I do "analyze -f vhdl
finaln.vhd" from within DC:
Error: Could not find object component INV2. This error can occur if a
package (COMPONENTS) that exists in memory also exists in another
library referred to in a Library statement. This error can also
occur if the package uses synthesis_off/synthesis_on directives
around the object.
In my particular case, both packages are called COMPONENTS, so the first
part of the error message is what really applies here. Each one of my 2
packages contain component declarations of gates used in the design (one has
core gates, the other has memories), and that's why they're named that way.
The error message above is also returned when you vhdlan w/ -spc_elab.
This is not a disaster, but it sure does not help. All other tools that
support VHDL that I have come across so far don't have heartburn with
homonymous packages in different libraries, INCLUDING VSS!! In other words,
when you use vhdlan without any of the SPC switches, the analyzer likes it
and does what you'd expect.
Bottom line is that if you want to work around this problem in DC, you
have to use different package names, no matter where they live. This
is an unnecessary limitation, as far as I can tell. Will Synopsys wake
up to this one?
- Erik Comparini
AMI
|
|