07-09-2014 04:32 PM
Is it possible to have all the rtl files in a separate directory structure and package the IP with relative path to all the files instead of absolute paths. I need to package multiple small designs into IPs which would eventually form multiple IPs (with relative paths to files) in IP repository that will be used across various designs. Can it be done ?
07-09-2014 07:26 PM
07-09-2014 09:10 PM - edited 07-09-2014 09:19 PM
The tool does use "relative" paths when you package a directory and if the RTL files are with in directory you are packaging.
Try packaging a directory with RTL and check the XML file created. You will find relative paths to RTL files here (paths will be relative to the directory you selected for packaging).
If the RTL files are outside the directory you are packaging then absolute location of files will be used and also you will encounter messages like below.
[IP_Flow 19-731] File Group 'xilinx_verilogsynthesis (Verilog Synthesis)': "C:/Users/vemulad/Desktop/my_run/gated_clock.v" file path is not relative to the IP root directory.
07-10-2014 05:04 PM
Hi Vijay, Deepika,
Thanks for the reply.
Vijay, I understand that modifying the .xci / .xml files is an option. I am trying to syntesize individual projects out of context and package that project as from under "tools menu -> create and package IP". Once the component .xml is generated I can modify it to use relative path and repackage the ip and regnerate the .zip file. this zip file maintains the relative path mapping. But I was hoping that the tool would do the reative addressing itself as it does for Xilinx internal sources. if I look at any component.xml under the IP/xilinx directory under tool installation it has the path from any file from hdl/......v. It is not looking at absolute paths, I was hoping users can also do something like that by maybe setting a parameter which can specify the base path from where everything needs to be relative.
Deepika, When I package a directory, that directory as the ip_root_directory and puts the component.xml and xgui directory in that directory. If I select the archive location in a different place the archive includes the rtl. Hence it uses relative directory as it is the same directory.
I am trying to keep the source where they are and not package it in the archive. The sources should be referred by the path in the component.xml and should not be copied, thereby not creating duplicates of the RTL.