1
\$\begingroup\$

I have to transfer my Vivado project to another PC for showing to my Professor (all in Vivado 2021.2).

Vivado loads our project normally and also imports all data, but if we run the synthesis this error occurs:

(® [Common 17-1294] Unable to create a directory [F:/Uni/Speicher_Uni_Programme/DigiSchaltTech/GitLinked/Uni_Digi_Schalt_Tech/Prak tikum/V2/DSPV2/DSPV2.srcs/utils_1/imports/synth_11].)

I know it occurs because the file paths changed, but I was not able to fix it. I also checked the project XPR file. I found one mention of the old file path, and changed it to the new one, but nothing changed.

The logs told me that Vivado is still trying to import stuff from the old file path.

I assume there is a sub-boot file or something similar where it does not change the file path as it should.

  1. How do I fix this problem in the future?
  2. Is there an easy way to transfer projects between PCs without changing multiple files?
\$\endgroup\$
2
  • \$\begingroup\$ You are using the (File--> Archive project option in Vivado) ? \$\endgroup\$ Nov 10, 2022 at 14:01
  • \$\begingroup\$ Maybe superuser.com will give you a better answer because here we are mostly electrical engineers while the answer to your question will be better if you would ask this to a computer engineer. \$\endgroup\$
    – Miss Mulan
    Nov 10, 2022 at 14:41

2 Answers 2

4
\$\begingroup\$

Today we tried a lot and found some ways to fix it.

First of all it seems like it occurs because Vivado tries to delete or overwrite old synthesis Data, which it could not be located because the paths changed on the other PC.

Method 1: (delete some folders)

  1. Close Vivado

  2. Go to the Vivado Project Path >> open the Project.runs Folder enter image description here

  3. Delete all synth and impl Folders enter image description here

  4. Restart your Project and run all the synthesis again

Now Vivado should be able to create a new synthesis (and new Folders) because it does not find old synthesis linked paths.

Method 2: (creat a new synthesis)

  1. Create a new synthesis enter image description here

  2. make the new synthesis active (right-click on the new synthesis) enter image description here

  3. delete the old synthesis, if not possible, delete the folder of the old synthesis like shown in Method 1.

Method 3: (The easiest but only possible on the Pc where you created the original Vivado Project)

  1. create an archive of the project (File >> Project >> Archive)
  2. Deselect Include run results (this should not include your synthesis data in the Archive) enter image description here
  3. de-Zip the archive on the new PC and run the Project file. (Now it should work but you have to re do your synthesis, implementation and Generat Bitsstream)

If none of this works, try to also reset the Output Products and regenerate the Output Products before trying all steps of one Method again.

I hope this will help others with the same problem because it took us some time to figure it out and we also couldn't find some solutions online.

Sadly you have to redo the synthesis, implementions and Bitsream generation again in all three Methods. But now it should work without the Error.

\$\endgroup\$
1
\$\begingroup\$

Sounds like your source files are scattered.

I put all shared source files between project in a directory, then I create all project folders in the same directory. The source files unique to a project go in the project directory. Then when moving I just copy the entire directory holding the shared sources plus the project directories of interest within.

enter image description here The ieee directory and all those .vhd files can be used among multiple projects.

The SVPWM and One-Shot Switch are the project directories and inside are files unique to those projects.

enter image description here The selected files are unique to the projects. I did not let Vivado create them on its own and bury them in the sub directories so that I could easily locate them and rereate the project and import everything if the project file became corrupted (which has happened before). For example the IP block for the hardware PLL was created by Vivado and buried in SERPS.srcs somewhere as are test bench files.

If you are already doing this then your project file is corrupted and you need to make a new project, place all your important source and setup files in a directory so everything is in one place with your new project, and reimport them into the project.


It might seem strange that this works since the shared files are not in a subdirectory of the project file but the opposite, being one directory higher. I think Vivado projects store both the absolute path of files and also the relative path in both directions, going both up and down directories relativve to the project file.

You get an error like this if you delete a shared source file, where the first path is location of the current project but not the location the project was created in. The second path is the original location. I have had other software behave like this too. enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ Ok I will try my best Tomorrow I‘m new to Vivado and we should follow a special path of creating our files in the University, hopefully, this will be ok too. I will also try what @Sphero Pefhany told me to. If it will be that easy I would be surprised… \$\endgroup\$ Nov 10, 2022 at 16:54
  • \$\begingroup\$ @The_Moviemonster Try and keep a fixed directory structure for all relevant files around your project file/directory. Then move it all together. You might need to recreate and reimport everything. \$\endgroup\$
    – DKNguyen
    Nov 10, 2022 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.