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: 
Scholar ronnywebers
Scholar
7,785 Views
Registered: ‎10-10-2014

hdl wrapper of block design no longer updates automatically

when I create a block design, and afterwards right-click on it -> create hdl wrapper -> let Vivado manage updates, the wrapper is automatically updated when I add / remove external ports from the block diagram. So this works fine.

 

However, for a certain project, I used a 'project.tcl' file and 'bd.tcl' file, created with 'write_project_tcl' and 'write_bd_tcl', to recreate this project 'from scratch'.

 

Everything in this 'tcl created project' works fine, except that the top level wrapper is not updating automatically anymore, so I'm wondering if this is some property on the wrapper file that needs to be set using tcl in the project script? This is likely to be missing in the write_project_tcl, and looks like a bug.

 

vivado version : 2015.4

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
12 Replies
Moderator
Moderator
7,782 Views
Registered: ‎07-01-2015

Re: hdl wrapper of block design no longer updates automatically

Hi @ronnywebers,

 

Did you validate and save the design and you are still seeing the same issue?

Also try closing the blockdesign and reopening the same and see if the wrapper updates.

Thanks,
Arpan
----------------------------------------------------------------------------------------------
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
Scholar ronnywebers
Scholar
7,779 Views
Registered: ‎10-10-2014

Re: hdl wrapper of block design no longer updates automatically

hello @arpansur,

 

in the meantime I deleted the wrapper and generated it again, so I cannot test it immediately, but I'll retry this with a new project.

 

I did hit 'generate bitstream', so I asume it's running validate automatically?

 

I did try open / close the design, and save it, that didn't fix it.

 

I've seen this in 2 designs so far, both recreated from the generated project.tcl and bd.tcl scripts

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Moderator
Moderator
7,777 Views
Registered: ‎01-16-2013

Re: hdl wrapper of block design no longer updates automatically

@ronnywebers,

 

If possible also try checking it in Vivado 2016.2.

 

--Syed

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

Did you check our new quick reference timing closure guide (UG1292)?
---------------------------------------------------------------------------------------------
Moderator
Moderator
7,773 Views
Registered: ‎07-01-2015

Re: hdl wrapper of block design no longer updates automatically

Hi @ronnywebers,

 

Recently I saw a similar issue where the wrapper was not updated. Workaround was

  1. Close BD
  2. Reopen BD
  3. Validate BD
  4. Save design
  5. Generate output products.
Thanks,
Arpan
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------
Scholar ronnywebers
Scholar
7,768 Views
Registered: ‎10-10-2014

Re: hdl wrapper of block design no longer updates automatically

@arpansur thanks for the workaround, I'll try that one next time I run into the issue.

 

looks like a bug in 2015.4 then?

 

I couldn't find a property on the wrapper file that tells it is 'managed by Vivado' or not.

 

There's some property 'IS_GENERATED', and I checked in both a project that does update the wrapper, and the one that doesn't update the wrapper automatically, but they have no value in both projects

 

wrapper.jpg

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Moderator
Moderator
7,757 Views
Registered: ‎07-01-2015

Re: hdl wrapper of block design no longer updates automatically

Hi @ronnywebers,

 

I am not sure if this is the same scenario.

The issue was seen in customer design when he was trying to upgrade from 2015.4 to 2016.2. 

Thanks,
Arpan
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------
Scholar ronnywebers
Scholar
7,755 Views
Registered: ‎10-10-2014

Re: hdl wrapper of block design no longer updates automatically

ok I'll leave the topic open for now, and will update when I test this.
** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Scholar ronnywebers
Scholar
7,704 Views
Registered: ‎10-10-2014

Re: hdl wrapper of block design no longer updates automatically

hello @arpansur, I tried this so far :

 

validate and save the design

closing the blockdesign and reopening the same and see if the wrapper updates

 

that doesn't fix it

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Scholar ronnywebers
Scholar
7,703 Views
Registered: ‎10-10-2014

Re: hdl wrapper of block design no longer updates automatically

at present I cannot update to 2016.2, I'll be happy to try it later.
** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos
Observer carlomundsen
Observer
2,972 Views
Registered: ‎05-12-2017

Re: hdl wrapper of block design no longer updates automatically

Did anyone get to the bottom of this?

 

I am running 2016.2 and notice the exact same behavior. After a clean build from .tcl I need to recreate the top wrapper in order to get Vivado to start managing it on my behalf again. Not a big deal, but kinda annoying. 

 

Interested to hear if there is something missing from my build.tcl script.

0 Kudos
Contributor
Contributor
429 Views
Registered: ‎09-20-2018

Re: hdl wrapper of block design no longer updates automatically

I experienced the same problem in Vivado 2019.1. The block design had been generated from tcl file and the modifications did not update the wrapper. Right click on generate HDL Wrapper did not fix the problem.

I deleted the wrapper and generated a new one. Then it worked.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
401 Views
Registered: ‎01-30-2019

Re: hdl wrapper of block design no longer updates automatically

Hi All,

So I have reproduced the issue with Vivado 2019.1 and filed a CR so that Factory will address this to be fixed in future versions of vivado.

unfortunately, Vivado 2019.2 will be released very soon so this issue will not be fixed in this upcoming release. 

For now, the only thing we have are the workarounds

Case 1. if you have created the project tcl using the following command

write_project_tcl -target_proj_dir "./<dir_name>" -use_bd_files ./<tcl_file_name.tcl>

attach the following commands in the end of your tcl file 

remove_files $origin_dir/<your_project_name>/<your_project_name>.srcs/sources_1/imports/hdl/design_1_wrapper.v
file delete -force $origin_dir/<your_project_name>/<your_project_name>.srcs/sources_1/imports/hdl/design_1_wrapper.v
add_files -norecurse $origin_dir/<your_project_name>/<your_project_name>.srcs/sources_1//bd/design_1/hdl/design_1_wrapper.v

Cause of the issue in case 1:

When you create a project using write_proj_tcl and then try to update the top-level ports of the BD from IPI, then these changes are not automatically reflected in the BD wrapper. Even if you have select let vivado automatically manage this file

In the project created using TCL, the wrapper is added as imports in design and its copy is also present BD->design_1->hdl. as per step 4 observation whenever we make changes to BD top-level ports, wrapper present in the imports folder is not updated but the wrapper present in BD->design_1->hdl is updated.

This confirms that for flow with write_proj_tcl, vivado is using the wrong file as a wrapper to the BD,i.e. it should use wrapper present in BD/hdl folder instead of wrapper present in imports folder

Case 2. if you have created the project tcl using the following command 

write_project_tcl -target_proj_dir "./<dir_name>"  ./<tcl_file_name.tcl>

then the workaround is to create a new wrapper every time you recreate a project using write project TCL since there is no file created in the BD->design_1->hdl folder.

In this case, another suggestion is to try to migrate to use case 1