( ESNUG 242 Item 3 ) ---------------------------------------------- [7/11/96]
From: charles@efficient.com (Charles Shelor)
Subject: Got Burned With Design Compiler 3.4a VHDL Package Names Restriction
John,
We have a moderately large project that will eventually have 7 or 8 people
designing and testing. We have a hierarchical file structure and library
organization to assist organization, configuration control, and project
understanding. Thus we have a VHDL package of common definitions for the
entire project, plus VHDL packages of local definitions for each of the major
VHDL components if appropriate. I am attempting to compile the local VHDL
definitions package for my block. I have successfully compiled the common
VHDL definitions block into its library called 'chip_com'. I can compile the
local VHDL definitions package into its library, 'fc' using "vhdlan".
However, when I try to "analyze" using dc_shell, I get the following error:
Error: Type SLV not found on line 107 (VHDL-2157)
where SLV is a subtype of std_logic_vector that is defined in the common
definitions package. OK, I'll not create a subtype of a subtype since that
might be too complicated for DC. I editted the local definitions file and
globally replaced 'SLV' with 'std_logic_vector'. When I ran dc_shell again,
I received a memory segmentation violation!
analyze -format vhdl -library fc vhdl/definitions.vhd
Loading db file '/usr/synopsys/libraries/syn/standard.sldb'
Loading db file '/usr/synopsys/libraries/syn/gtech.db'
Reading in the Synopsys vhdl primitives.
/home/charles/molokai/chip/fc/design/vhdl/definitions.vhd:
Segmentation Fault
Questions: Why can't I use the subtype SLV defined in 'chip_com.definitions'
to define another subtype in 'fc.definitions' within DC when it works for
VSS? When SLV is replaced in 'fc.definitions' with the ieee type
std_logic_vector, why does DC cause a memory segmentation violation?
ANSWERS: Changing the name of the 'fc.definitions' package to 'fc.defs' fixes
both problems! Easy enough WORK-AROUND (note: this is still a BUG in DC) but
it now requires the project staff to coordinate to ensure that we do not name
any packages the same as anyone else!!! Not difficult but certainly annoying
to have to come up with 9 or 10 different names that mean definitions,
textio, utilities, ... Not to mention the time that I've spent trying to
figure out what was wrong!
- Charles F. Shelor
Efficient Networks, Inc.
|
|