cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
2,252 Views
Registered: ‎10-28-2013

failure to "use" packages - sometimes (ISE Webpack 14.6)

Jump to solution
I have a project that synthesizes fine for the Virtex-5 XC5VLX50T-2. It includes a settings.vhd package with definitions of constants and types that are used by all of the modules, with a "use settings.all;" at the top of each. The settings file has the source settings with the global compile checkbox set (can't remember the exact name).

If I change the project in any of a number of ways, it does compile the settings.vhd file first, indicating that the package and package body have been processed - but then when compiling the first module that "use"s the settings file, it says "<settings> not defined" and fails because the definitions from settings.vhd are not used.

This problem occurs
1. If I just change the speed grade from -2 to -3
2. If I just change the target chip to a Kintex-7 or Artix-7 that are explicitly allowed for the Webpack (e.g. XC7K160T)
3. Even after I cleanup the project files, or create a new project with the same sources.
4. If I write a testbench and try to use ISim.
5. Even if I move the settings.vhd file to a declared library folder

If I change back to the original Virtex-5 target, or a different permitted virtex-5 target with the default speed, the project works fine again.

Seems like a bug that at the very least involves an incorrect error message.
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Historian
Historian
2,773 Views
Registered: ‎02-25-2008

Re: failure to "use" packages - sometimes (ISE Webpack 14.6)

Jump to solution

@gyellen1120 wrote:
I have a project that synthesizes fine for the Virtex-5 XC5VLX50T-2. It includes a settings.vhd package with definitions of constants and types that are used by all of the modules, with a "use settings.all;" at the top of each. The settings file has the source settings with the global compile checkbox set (can't remember the exact name).

If I change the project in any of a number of ways, it does compile the settings.vhd file first, indicating that the package and package body have been processed - but then when compiling the first module that "use"s the settings file, it says "<settings> not defined" and fails because the definitions from settings.vhd are not used. 

Your problem is that your use clause doesn't indicate into which library you've analyzed your package.

 

By default, assuming you do nothing special, every source file, including the file which has your package, is analyzed into the work library.

 

So the correct use clause is:

 

use work.settings.all;

 

That oughta do it.

----------------------------Yes, I do this for a living.

View solution in original post

2 Replies
Highlighted
Xilinx Employee
Xilinx Employee
2,248 Views
Registered: ‎07-11-2011

Re: failure to "use" packages - sometimes (ISE Webpack 14.6)

Jump to solution

Hi,

 

Can you share the test case, does it contain any IPs?

And is this specifically with webpack license?

 

 

Regards,

Vanitha.

---------------------------------------------------------------------------------------------
Please do google search before posting, you may find relavant information.
Mark the post - "Accept as solution" and give kudos if information provided is helpful and reply oriented
0 Kudos
Highlighted
Historian
Historian
2,774 Views
Registered: ‎02-25-2008

Re: failure to "use" packages - sometimes (ISE Webpack 14.6)

Jump to solution

@gyellen1120 wrote:
I have a project that synthesizes fine for the Virtex-5 XC5VLX50T-2. It includes a settings.vhd package with definitions of constants and types that are used by all of the modules, with a "use settings.all;" at the top of each. The settings file has the source settings with the global compile checkbox set (can't remember the exact name).

If I change the project in any of a number of ways, it does compile the settings.vhd file first, indicating that the package and package body have been processed - but then when compiling the first module that "use"s the settings file, it says "<settings> not defined" and fails because the definitions from settings.vhd are not used. 

Your problem is that your use clause doesn't indicate into which library you've analyzed your package.

 

By default, assuming you do nothing special, every source file, including the file which has your package, is analyzed into the work library.

 

So the correct use clause is:

 

use work.settings.all;

 

That oughta do it.

----------------------------Yes, I do this for a living.

View solution in original post