UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer kuki
Observer
684 Views
Registered: ‎05-24-2018

Same IP instantiated inside multiple Reconfig Modules

Jump to solution

Hi,

 

My setup:

Vivado 2018.2 (GUI)

Ultrascale+ Architecture

 

There is an issue with Partial Reconfiguration, which is pretty annoying, so would very much appreciate to hear expert opinion.

 

Simple situation:

 

Single Partition Definition:

    Two separate Reconfig Modules under the same single partition definition.

 

Each of Reconfig Modules contains different design.

Both designs instantiation the same IP (simple FIFO) generated through IP Catalog.

 

Problem:

When creating those two Reconfig Modules, tool requires to include the full module/file tree of the design, which is being encapsulated under each Reconifg Module, even when designs share (instantiate) the same submodules.

 

It's extra work, but totally ok.

 

The issue happens, when both designs instantiate the same generated IP.

If I try to include IP for both designs, the tool complains that the IP has already been included. As a result only one Reconfig Module at a time will have all design files/modules properly included. The other one(s) will be missing an IP module and as a result OOC Synthesis as well as top PnR will fail on the Reconfig Module, which is missing the IP.

 

The only workaround I have found to solve the issue is the following:

1) Include IP for the first Reconfig Module, run OOC Synth for the first Reconfig Module.

2) Move IP from the first Reconfig Module to Design Sources.

3) Move IP from Design Sources to the second Reconfig Module.

4) run OOC Synth for the second Reconfig Module.

5) Move IP to Design Sources again.

6) Move IP from Design Sources back to the first Reconfig Module

7) Run PnR for the first Reconfig Module

8) Move IP to Design Sources again.

9) Move IP from Design Sources back to the second Reconfig Module

10) Run PnR for the second Reconfig Module.

 

I really hope, this is not a tool (probably GUI) bug and there is a workaround to solve it.

 

Cheers,

Arsen.

 

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
647 Views
Registered: ‎11-17-2008

Re: Same IP instantiated inside multiple Reconfig Modules

Jump to solution

@kuki,

 

A current requirement of the PR solution within the project flow is that each IP within Reconfigurable Modules must be unique.  I won't get into the details of why that is, but know that it is on a list of requested enhancements for this solution.

 

Yes, this workaround is quite annoying, so let me give you a solution that is hopefully less annoying.  Instead of moving the single IP all over the place, make a copy.  This will uniquify the IP, so each instance can be placed in a specific RM.  This way you can "pull" all the way from OOC synthesis through implementation of all configurations.  You will need to maintain them independently, so if you edit one, it only affects that instance; you'd need to replicate that edit across all (or re-copy and distribute) to get that change propagated across all RMs that use that IP.

 

An example that shows this in action is found in UG947, lab 4.  Starting on page 81, you copy an existing IP then move it into the target RM.

 

thanks,

david.

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
648 Views
Registered: ‎11-17-2008

Re: Same IP instantiated inside multiple Reconfig Modules

Jump to solution

@kuki,

 

A current requirement of the PR solution within the project flow is that each IP within Reconfigurable Modules must be unique.  I won't get into the details of why that is, but know that it is on a list of requested enhancements for this solution.

 

Yes, this workaround is quite annoying, so let me give you a solution that is hopefully less annoying.  Instead of moving the single IP all over the place, make a copy.  This will uniquify the IP, so each instance can be placed in a specific RM.  This way you can "pull" all the way from OOC synthesis through implementation of all configurations.  You will need to maintain them independently, so if you edit one, it only affects that instance; you'd need to replicate that edit across all (or re-copy and distribute) to get that change propagated across all RMs that use that IP.

 

An example that shows this in action is found in UG947, lab 4.  Starting on page 81, you copy an existing IP then move it into the target RM.

 

thanks,

david.

0 Kudos
Observer kuki
Observer
635 Views
Registered: ‎05-24-2018

Re: Same IP instantiated inside multiple Reconfig Modules

Jump to solution

@davidd

 

Thanks a lot for your response and confirmation that this is at the moment tool limitation, at least I would stop fighting further :)

Thanks also for the suggested workaround.

However, to clarify things.

 

I have got 2 RMs

Each of them is instantiating the same sub-module.

The sub-module itself is instantiating the generated IP. If I understand correctly, making a copy of the IP is essentially creating another IP with a different name.

 

As you can see in my situation that will make things even messier, cause that will mean I have to create two different sub-modules.

I think I will just instantiate XPM module instead. Hope that works.

 

Will accept your answer as a solution, but please let me know if you have further comments here.

 

Cheers,

Arsen.

0 Kudos