11-13-2020 11:47 AM
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.
11-18-2020 07:30 AM - edited 11-18-2020 10:09 AM
I export the hdf using the drop down menus:
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.
11-18-2020 01:09 PM - edited 11-18-2020 01:17 PM
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.
11-18-2020 03:51 PM
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.
11-18-2020 04:21 PM - edited 11-18-2020 04:21 PM
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
Perhaps there are other files that should be in the git repo?