cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
11,760 Views
Registered: ‎01-06-2016

import_ip

hello all,

 

import_ip command imports only xci file to project, then create_ip_run should be called to generate files.

 

is it possible to import all previously generated files to project to skip creation task in future?

 

alex.

0 Kudos
6 Replies
Highlighted
Xilinx Employee
Xilinx Employee
11,743 Views
Registered: ‎07-21-2014

Re: import_ip

Hi,
Try using read_ip command

When using the read_ip command all output products associated with the IP core, including the design checkpoint file (DCP) will be read into the in-memory design.

However this does not actually import the ip files. the command is similar to add_files where files are added by reference

-Shreyas
----------------------------------------------------------------------------------------------
Try to search answer for your issue in forums or xilinx user guides before you post a new thread.

Kindly note- Please mark the Answer as "Accept as solution" if information provided solves your query.
Give Kudos (star provided in right) to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Visitor
Visitor
11,723 Views
Registered: ‎01-06-2016

Re: import_ip

don't see any difference in time.
import_ip and read_ip takes almost same when call create_ip

maybe there is difference in calling sequence?

our sequence:
1. create ip with ide.
2. copy folder X.srcs/sources_1/ip/ip_name to common folder
3. create project and from tcl call import_ip for each ip
than call sequence:
foreach ip_name $ip_name_list {
create_ip_run -force [get_files ${ip_name}.xci]
}
foreach ip_name $ip_name_list {
launch_runs ${ip_name}_synth_1
}
foreach ip_name $ip_name_list {
wait_on_run ${ip_name}_synth_1
}

changing import_ip to read_ip in sequence above does not increase time at all.
0 Kudos
Highlighted
Visitor
Visitor
11,711 Views
Registered: ‎01-06-2016

Re: import_ip

changing import_ip to read_ip in sequence above does not DECREASE time at all.

wow, 21th century now and here still no feature to edit message.
0 Kudos
Guide
Guide
11,696 Views
Registered: ‎01-23-2009

Re: import_ip

The import_ip command specifically makes a copy of the .xci file under the project directory. As such, as far as the project is concerned, any other files that existed in the source directory are not part of the project - the IP directory (which is now under <project>/<project>.srcs/sources_1/ip/) has only the .xci file. Because of this, the IP products must be rebuilt before synthesis or simulation can start.

 

However, if the original source directory has the .xci and all the target files, then you should be able to add that entire structure to your current project using the "add_files" command (not import_ip). Even though the add_files command only refers to the .xci file (add_files <ip>.xci), the XCI file points to the targets in the same directory, so essentially the entire IP directory structure becomes part of your project. Now the .xci and the generated targets remain in their source directory - together - so they won't need to be rebuit of the source directory was up to date.

 

This is probably effectively the same as using read_ip (read_ip is technically the non-project batch mode command) - but they should do the same thing. You already know that this isn't enough to supress the re-build.

 

I suspect the rest of the commands you are running (particularly the "create_ip_run -force [get_files ${ip_name}.xci]") may be forcing the tools to rebuild the IP even if it isn't out of date (I am not certain of this). So, just don't do that stuff. With the .xci part of the project, the dependency management stuff will figure out if the targets are out of date when they are needed (when you launch simulation or synthesis) - if they are, the IP runs will all be created automatically and run in parallel (using multiple CPU cores if available). If they are not out of date, they will be used as is.

 

You also have to realize that the decision as to whether output targets are up to date or not depends on the timestamp of the products - if the .xci file is newer than any products, then the products will be rebuilt. If you copy the IP directory, or you use revision control on it, you have to be careful that whatever you do to the directory preserves the original timestamps - otherwise you will end up messing up the dependency management system in Vivado - this can cause the IP targets to be rebuilt even if they didn't need to, or - even worse - allow the project to use stale IP products (if the IP products were out of date when they got copied/put in revision control).

 

Avrum

Tags (2)
Highlighted
Guide
Guide
11,691 Views
Registered: ‎01-23-2009

Re: import_ip

The ability to edit your posts comes with your rank - once you have enough activity in the forum, your rank will increase to the point that the "Edit Post"/"Edit Reply" option will appear in the message menu.

 

Avrum

0 Kudos
Highlighted
Moderator
Moderator
11,559 Views
Registered: ‎07-01-2015

Re: import_ip

Hi @pokrash,

 

You can make use of Tcl command import_files <path to .xci file>/<xci file name>.xci

It will add the results of the previous run too.

 

Thanks,
Arpan

Thanks,
Arpan
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos