03-15-2020 07:12 PM - edited 03-16-2020 06:09 PM
I have this in my Vivado project:
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?
03-17-2020 04:31 PM
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.
03-20-2020 07:54 AM - edited 03-20-2020 07:55 AM
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:
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.