cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
roryriffic
Visitor
Visitor
834 Views
Registered: ‎12-05-2018

How to update XCI file when custom IP is instantiated

I have this in my Vivado project:

  • top.vhd
    • Xilinx IP.xci

I choose Tools->Create and Package IP->Package from project... I fill in the forms and package my custom IP.

Now I give my IP to the downstream user who puts it in their repo.  They try to add it to their project. The GUI wizard (that I created) pops up.  In the GUI they set a field that directly corresponds to the configuration of the Xilinx IP.xci file.  They click OK to create my IP.  At this point, the Xilinx IP.xci should be re-created with the setting from the GUI. How do I do this?

3 Replies
abouassi
Moderator
Moderator
707 Views
Registered: ‎03-25-2019

Hi @roryriffic,

After packaging your IP, in the new project you should add the IP directory as "IP Repository". Then you could add your new customer IP block as for the other IPs.

ip.png

Best regards,
Abdallah
-------------------------------------------------------------------------------
Please don't forget to reply, kudo and accept as a solution
0 Kudos
roryriffic
Visitor
Visitor
669 Views
Registered: ‎12-05-2018

No @abouassi, that is not what I am asking.

I'm trying to figure out how to customize the sub-XCI files within the IP after the IP has been added to the repository.

Think about it -- Let's pretend the sub-XCI is the XDMA IP core, like this:

  • top.vhd
    • XDMA.xci

The XDMA has different ports depending on if you are targeting a Kintex Ultrascale vs. Virtex Ultrascale+.  So, if I build my custom IP based off the Kintex Ultrascale and then I try to instantiate my custom IP in a Virtex Ultrascale+ project, it will not synthesize due to the port mismatch.  I can of course change generics for my custom IP package, but I cannot change the XCI file. It is static.  How do I change the XCI file?

 

I would expect this to work best if there was a "pre-elaboration" or *something similar* TCL hook, but there is not one that I can find.

 

0 Kudos
darshanp10
Visitor
Visitor
268 Views
Registered: ‎04-12-2020

Hi @roryriffic

I found this to be useful : https://www.xilinx.com/support/answers/60975.html

Were you able to figure this out ? If so, could you please share your solution ?

Thanks

0 Kudos