cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
230 Views
Registered: ‎09-03-2019

Export hardware creates wrong psu_init.tcl file

We're using Vivado 2018.3 with a Zynq Ultrascale+ design.

In a previous build of this design, I had enabled ECC in the customization GUI for the Zynq, then synthesized, implemented and generated the bitstream.  This file:

build/bd/name_bd/ip/name_bd_zynq_ultra_ps_e_0_0/psu_init.tcl shows that ECC is enabled.

When I export->hardware, then unzip the hdf file, the psu_init.tcl has ECC enabled.

That's all fine.

Then, I disabled ECC in the customization GUI for the Zynq, ran the process, then:

build/bd/name_bd/ip/name_bd_zynq_ultra_ps_e_0_0/psu_init.tcl shows that ECC is disabled.

When I export->hardware, then unzip the hdf file, the psu_init.tcl still has ECC enabled!

I haven't run a full set of tests for this to ascertain it's repeatability or lack thereof.

0 Kudos
5 Replies
Highlighted
Moderator
Moderator
144 Views
Registered: ‎09-12-2007

Did you re-generate the HDF file in Vivado? (write_sysdef -force)

Did you use the -force option when doing so

0 Kudos
Highlighted
Visitor
Visitor
117 Views
Registered: ‎09-03-2019

I export the hdf using the drop down menus:

File->Export->Export Hardware

I have a standard practice where I rename the file after I generate it, so the standard filename that it creates is always an unused filename when I do the export.

Subsequently, I did create the hdf file using write_sysdef.  And received the same result, ECC mode remains enabled.

0 Kudos
Highlighted
Visitor
Visitor
99 Views
Registered: ‎09-03-2019

I did another experiment with alarming results.

This design was originally done in a directory named name1.

I copied the design into a directory named name2.  The above results were observed when working in name2.  Name1 is still available in the same place in the directory structure.  And, in name1, ECC mode is enabled.

So, I renamed name1 to name3.  Just in case Vivado running in name2, was picking up a file from name1.  It was!  The tool now works correctly and sees that ECC is disabled.

So, I think there's a bug in Vivado where it looks for files in directory name1 when working in directory name2, if name2 is a complete copy of name1. 

In particular, when working in name2, with name1 directory renamed to name3, Vivado created directory name1, it's associated project directory, and subdirectories of the project directory name1.cache and name1.ip_user_files.  

0 Kudos
Highlighted
Moderator
Moderator
82 Views
Registered: ‎05-08-2012

Hi @jsanton 

Are you copying just the HDF, or the entire workspace? The workspace will have the .metadata directory that contains information about the original directory location. I would suggest using the Import functionality available with SDK.

---------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Visitor
Visitor
72 Views
Registered: ‎09-03-2019

This is a git repository.  In the repo, we include all the rtl source files, a write_bd_tcl output file, sim files, project.xpr files.  I simply cloned another copy of the repo into the same ]place in the directory tree.

~/repos/name1  cloned into

~/repos/name2

Perhaps there are other files that should be in the git repo?

0 Kudos