05-07-2018 01:46 AM - edited 05-07-2018 07:12 AM
Hi,
On a user customized IP I've got a problem about propagation of changes of the bd.tcl. When I updated the init{} or propagate{} proc in my IP there were no change in my design using this IP. Yes I update the IP catalog and upgrade the IP. All other changes were committed (parameters, net, interface,...) but not the bd.tcl content .I removed it or put BIG syntaxe error and there was no complaints. validate_bd_design wasn't affected.
After some while I saw that content of bd.tcl was "included" in a namespace with the IP name and there was indeed no change inside. The content was the initial value of my bd.tcl.
Finally I discovered that I have to stop and restart Vivado to get the new bd.tcl content included in the namespace. Closing and reopen project without restarting Vivado have no effect.
Is there a "cleaner" way to propagate bd.tcl changes ? Is the job of upgrade tcl and in this case how ?
I'm in V2017.3
Thanks
05-16-2018 08:42 AM
I contacted a developer in the IP services group and he said that the bd.tcl files are intentionally not read back in again due to a decision they made dealing with efficiency optimization.
Therefore in his opinion, closing and re-opening Vivado was the correct solution.
05-16-2018 08:42 AM
I contacted a developer in the IP services group and he said that the bd.tcl files are intentionally not read back in again due to a decision they made dealing with efficiency optimization.
Therefore in his opinion, closing and re-opening Vivado was the correct solution.
05-17-2018 12:24 AM
05-18-2018 11:57 AM
I've made a request to add a note about this to the documentation.
03-23-2020 04:27 AM
For debugging purposes, it may be convenient to know that procedure hooks in bd.tcl are loaded in namespace with name of the IP.
E.g.
::be.local_user_axi_SomeThing_2.0::post_propagate
One can redefine this procedure without restarting Vivado.