cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
2,346 Views
Registered: ‎11-21-2017

IP upgrade

Jump to solution

Hi,

I would like to understand the IP upgrade flow in a Vivado project-mode design flow.

Our design flow utilizes the Xilinx Vivado managed IP flow, ie each key sub-module is created and packaged as an IP.

The project top-level (say TOP)  block design references these packaged IP in the package area.

Let us say there are 3 submodule IP - IP1, IP2, IP3.

As the design progresses, each submodule IP will have different versions of this IP, and we have each version stored under the IP package area.Let us say,

IP1 is at v1.10,

IP2 is at v1.13,

IP3 is at v1.05

 

Since the IP design evolves, it may be required for my TOP level to refer to a prior version of the IP, say v1.12 of IP2.

The Vivado tool-flow does NOT allow this. saying that I am out-of-date, and recommends to upgrade..

 

I would think, this is a very basic requirement in any project design, to be able to roll-back version - maybe for a stable debug, maybe to not consider a certain newly added feature etc..

Could somebody please help clarify - how to achieve the above rqmt ?

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
3,332 Views
Registered: ‎09-15-2016

@saju

 

>>The suggestion you have is to have a separate top-level BD (block design) that points to a different IP release which uses the earlier version for IP2.

Basically, for each combination of IP1, IP2, IP3 versions required, the user will have to maintain a separate top-level BD.

Will this work reliably. If so, we will use this approach.

 

Yes, that is what i meant and i recommned.

 

>>However, isnt this a limitation ? Is there any plan in Vivado to be able to build with any version of the IP packaged..(as long as it is with a particular version of the tool).. As a user, I think this is a good feature to have.

 

In case of Xilinx IP, with each Vivado release there is minor or major version changes in the IPs as well. So it is always recommended to upgrade the IP with  new tool version. With older tool version you can still use the old IP version and there is no need of version upgrade.

In case of Custom IPs it all depends on the development of the IPs, any change in the IP will definitely reflect in the project where the IPs has been added. This is very obvious and hence you will be asked for upgrade.

So in your scenario it will be a  better practice to have separate IP for the top level project and separate IP with modification which you can use further.

 

I hope this helps.

 

Regards

Rohit

----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

 

Regards
Rohit
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
5 Replies
Highlighted
Moderator
Moderator
2,334 Views
Registered: ‎09-15-2016

Hi saju@smartiops.com

 

>>Since the IP design evolves, it may be required for my TOP level to refer to a prior version of the IP, say v1.12 of IP2.

The Vivado tool-flow does NOT allow this. saying that I am out-of-date, and recommends to upgrade..

 

If my understanding to your thread is correct then this is happening because your User repository for your Custom IP is specified in the top level project. So if you make any changes to the IP as you say, it will reflect in the top level project hence the tool will consider the old version as out of date and ask for the upgrade.

In your case i think the best way of doing changes to IP2 will be to create a separate project for the modified IP2 and package it. For the top level project (as you say ) specify the old IP2 version in the user repository. That way tool will not ask for upgrade and your top level can refer the prior IP version.

Hope this helps. Please let me know if anything is not clear to you.

 

Regards

Rohit

----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

 

 

Regards
Rohit
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

Highlighted
Moderator
Moderator
2,279 Views
Registered: ‎09-15-2016

saju@smartiops.com

 

Did the suggestions help?

 

Regards

Rohit

----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

 

Regards
Rohit
----------------------------------------------------------------------------------------------
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
Highlighted
Observer
Observer
2,263 Views
Registered: ‎07-30-2016

Hi thakurr,

The suggestion you have is to have a separate top-level BD (block design) that points to a different IP release which uses the earlier version for IP2.

Basically, for each combination of IP1, IP2, IP3 versions required, the user will have to maintain a separate top-level BD.

Will this work reliably. If so, we will use this approach.

 

However, isnt this a limitation ? Is there any plan in Vivado to be able to build with any version of the IP packaged..(as long as it is with a particular version of the tool).. As a user, I think this is a good feature to have.

It is not good to always have the top-level be forced to pick the 'latest' IP packaged version, 

 

Regards,

- Saju

0 Kudos
Highlighted
Moderator
Moderator
3,333 Views
Registered: ‎09-15-2016

@saju

 

>>The suggestion you have is to have a separate top-level BD (block design) that points to a different IP release which uses the earlier version for IP2.

Basically, for each combination of IP1, IP2, IP3 versions required, the user will have to maintain a separate top-level BD.

Will this work reliably. If so, we will use this approach.

 

Yes, that is what i meant and i recommned.

 

>>However, isnt this a limitation ? Is there any plan in Vivado to be able to build with any version of the IP packaged..(as long as it is with a particular version of the tool).. As a user, I think this is a good feature to have.

 

In case of Xilinx IP, with each Vivado release there is minor or major version changes in the IPs as well. So it is always recommended to upgrade the IP with  new tool version. With older tool version you can still use the old IP version and there is no need of version upgrade.

In case of Custom IPs it all depends on the development of the IPs, any change in the IP will definitely reflect in the project where the IPs has been added. This is very obvious and hence you will be asked for upgrade.

So in your scenario it will be a  better practice to have separate IP for the top level project and separate IP with modification which you can use further.

 

I hope this helps.

 

Regards

Rohit

----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

 

Regards
Rohit
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Highlighted
Observer
Observer
2,200 Views
Registered: ‎07-30-2016

Thanks.

I still feel that it is a limitation, since any development flow should allow the top-level BD to pick a specific version of IP.

(Of course, as long as the ports match)

0 Kudos