11-12-2014 09:28 PM
I've been using Vivado 14.3 for a few weeks now, under Ubuntu 14.04. It's been working pretty well. Starting today there has been a change in the design flow, I don't know why it's changed but it's got me stalled at the moment.
I am creating a number of IP blocks and then connecting them together into a large block hierarchical diagram that then has a testbench around it for verification. When I find I need to make a change to one of my IP blocks I open an editing project I saved for that specific block, make my changes, go through all the packaging steps until all the checkmarks are green, then press the "RePackage IP" button. It claims the design has been re-packaged.
Then back to my large project I first refresh all the IP repositories, run the IP status report, it picks up the new revisions, and I upgrade the changed modules. This seems like a lot of work especially if I only changed one like of Verilog, but it has been working for me for a few weeks.
Starting yesterday when I press "RePackage IP" it reports success, but my downstream project does not see any change to the library module. If I open the component.xml file for the module the revision number (<xilinx:coreRevision>) has not changed, in fact it doesn't look like the xml file has been changed at all.
Hmmm, if I touch e.g. a parameter default and re-package again, the new default is saved to component.xml~, not component.xml where I was looking for it. But still the revision has not changed, so even if I save that to component.xml and go back to my testbench now I get "incompatible IP" because the source is different but the revision is the same.
I have to think I've bumped some setting somewhere that caused this change in behavior, but I don't know what or where to look.
Any help appreciated!
12-01-2014 12:48 AM
I had the same problem. Very frustrating. Changes made to the source VHDL is not reflected in the IP Packager. Also the icon that is supposed to appear to perform this update does not appear. Also, there is no "Generate output products" because this is an RTL project. But I did get it work as follows:
Project Description and Conditions:
Hey Xilinx: What is the permanent fix to this issue???
Xicore Research Ltd.
02-19-2015 05:45 PM
I've also seen this exact same problem, if I recall at least as far back as 2012.3. Michael's work around worked for me. But why does this bug persist?
02-23-2015 11:07 PM
Which OS are you using? and what is the Vivado version?
Is it possible to share the test project for investigation?
05-26-2015 02:03 AM
I came across this post again because I ran into the same problem again.
1. I have a small RTL project with one simple file
2. I synthesize it to check for errors
3. I generate IP from Tools menu
4. I use this as an IP respository IP in another project OK
5. I update the IP core RTL but changes are not sensed by the IP packager.
So I applied my own fix as described in my 2011 post and it updates locally. But when I regenerate the IP core it is not updated in the main project. I refreshed the repositories there but still no potatoes.
To fix the problem I had to delete the IP core instance and then instantiate a new one. Then I saw the update.
Is there an easier way to do this?
05-27-2015 12:55 AM
On 2015.5 (windows 7 64 bit) I have a similar problem. If I enable the "create archive of IP" option, then the changes in the version, files, interfaces are saved in the component.xml file and the IP is generated correctly. But if I disable the option, then no modification is done to the xml file.
How to solve this problem? Is it a bug?
07-03-2015 08:33 AM
The problem of not updating the IP revision number correctly when re-packaging an IP seen to happen since Vivado 2015.1 (and still in 2015.2). In Vivado 2014.4 it was however working.
Comparing the Tcl commands output on the Tcl console between version 2014.4 and 2015.2 reveals that the ipx::* commands which are called when the "Re-package IP" button is hit have been changed.
ipx::update_ip_instances -delete_project true
While the ipx::update_ip_instances command does increment the IP revision number, the others used in 2015.2 do not.
An SR for this issue has been filed (#10315423).
Possible workaround: Run "ipx::update_ip_instances" in the Tcl console instead of hitting the "Re-package IP" button.
(I'm not sure if you need to run any of the 2015.2 ipx::* commands before, but I don't think so.)
Hope this helps.
07-06-2015 07:09 AM
Alternatively, you could also manually increment the core revision by 1 with the following command (before hitting the "Re-package IP" button):
set_property core_revision [expr [get_property core_revision [ipx::current_core]] + 1] [ipx::current_core]