When using a pcore with a user library (package with constants) XPS fails while generating the synthesis project files.
If I use the same pcore with ISE it works correctly.
XPS uses the lib entry in the .pao-file to generate the .prj-file of the pcore.
In this prj-file (/synthesis) the lib with the package is not included.
This results in the errors below.
How can the xps-parser be directed to take the lib of the .pao-file.
All files are in the same directory /pcore/name/hdl/vhdl
The line defining the lib is below :
You need to create a directory hierarchy and copy the appropriate files into it, for example:
It now works because the package is in a valid path and can be shared by several pcores.
The example attached has a simple (dummy) pcore that uses another directory for another entity (dummy).
This other library is call mylib.
mylib contains 2 files, a vhdl file lib and the required pao file.
In the pcores that need this "mylib" modify:
1- the pao file order and add "lib mylib all" before the rest of your files.
2- the vhdl files -> library mylib; use mylib.all;
You can then use the lib.
my_inst: entity mylib.test port map( inp => Bus2IP_Data, outp => IP2Bus_Data );In the attached, the pcore cip1 uses mylib and that goes through the flow.
"ERROR:EDK:1405 - File not found in any repository" can also occur on a Windows machine if the project path is too long.
It is recommended to copy the project to c:\temp\ for example and retry with the shorter path.