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: 
Highlighted
Explorer
Explorer
1,263 Views
Registered: ‎07-03-2014

[Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

Hi,

 

This behaviour wasn't in Vivado 2016.4 and previous. Each time I run a implementation in Vivado 2017.4, the corresponding folder "impl_1" is fully cleaned up, which means all files in the folder are deleted.

That has some drawbacks:

 1) This folder contains some files which will be bonded together with the bitstream to create the MCS; if they are deleted, I must regenerate them each time I want to create a release MCS file

 

 2) If I'm debugging with ILA, the .bit I'm currently using to download to FPGA is deleted when an implementation starts, so I can't debug while Vivado is implementing the project. This also happened in Vivado 2016.4 and previous, but renaming .bit and .ltx files solved the problem; now this is not a solution because everything inside the folder is deleted.

 

Is there any way to change this behaviour? Any checkbox or TCL command or something to avoid Vivado deleting files it didn't create?

 

Thanks in advance.

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
1,662 Views
Registered: ‎07-22-2008

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@alexmoya,

 

Sorry, I think I was focusing on the wrong part of your post.  If I'm getting it correct now, you are saying the run is out of date and you expect it to be reset.  However, you do not like that the entire run directory is deleted rather than the specific files that were generated by Vivado.

 

I'm trying to track down the specific change request or marketing request for this change.  I have not found it yet but I can tell you the following.

 - The runs directories were never intended to contain any files other than those generated by Vivado.  It would be best to make copies of files and save them outside the run directory if they need to be preserved when the run is reset.

- We've had related request about the reset run either not deleting enough or too much.  By far, more have been about not deleting all of the files that should have been deleted in the runs directory, either causing stale data or preventing the flow to work properly.

 

An alternate solution would be to just create a new run and make it the active run so that the content of the run you are testing is not deleted.

 

 

6 Replies
Xilinx Employee
Xilinx Employee
1,209 Views
Registered: ‎07-22-2008

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

The impl_1 runs directory is not intended to be deleted at the end of a run in Vivado 2017.4 or any other version.  It should only be deleted if the run is reset.

Are you running with a script or just selecting the to run the implementation process in the Vivado IDE?

Do you have the Vivado.log file?  Does it state anything about resetting the run or deleting the impl_1 directory?

0 Kudos
Explorer
Explorer
1,171 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@howardpwrote:

The impl_1 runs directory is not intended to be deleted at the end of a run in Vivado 2017.4 or any other version.  It should only be deleted if the run is reset.


Yes, that's what I meant: directory's content is deleted when the run starts, i.e., when the run is automatically reset before it starts.

 


@howardpwrote:

Are you running with a script or just selecting the to run the implementation process in the Vivado IDE?


No, I'm just launching the runs by clicking on "Generate Bitstream", which automatically starts with implementation run and deletes "impl_1" folder.

 

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,158 Views
Registered: ‎07-22-2008

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@alexmoya

Thanks for the clarification.  I thought you were saying the run got deleted at the end of a successful run.

Is the Implementation run being marked out of date after completing?

What you are describing could happen if the synthesis and implementation runs are out of date and the pop-up messages asking if you want to rerun them have been disabled (Don't show this message again box was checked).

Check Tools ->settings -> windows behavior -> Confirmations.  See if "Ask to rerun out of date Implementation is checked".

 

If this is what is happening, the question then becomes "Why is the run going out of date.   Vivado uses a very simple timestamp checking system like a Make file to determine if there have been changes in sourse files, properties, compile order, or anything else a run may depend on.  If any of these have changed since the completion of the run, the run is listed as Out-of-date.

One of the most common situations where this happens accidentally is with pre/post Tcl file tasks saving or changing a file that a run depends on.   Before I go any further, please let us know if the runs are indeed beign set as out-of-date.

 

 

0 Kudos
Explorer
Explorer
1,142 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@howardpwrote:

@alexmoya

Is the Implementation run being marked out of date after completing?

What you are describing could happen if the synthesis and implementation runs are out of date and the pop-up messages asking if you want to rerun them have been disabled (Don't show this message again box was checked).

Check Tools ->settings -> windows behavior -> Confirmations.  See if "Ask to rerun out of date Implementation is checked".


No, synth and impl runs are marked as "up-to-date" after completing. And no, popup messages are enabled, in fact, all confirmations are checked in my Vivado.

Runs got marked as "out-of-date" after editing any VHDL file as expected. Then, folder contents are deleted each time I start any run: "synth_1" folder when starting synthesis and "impl_1" folder when starting implementation.

0 Kudos
Xilinx Employee
Xilinx Employee
1,663 Views
Registered: ‎07-22-2008

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@alexmoya,

 

Sorry, I think I was focusing on the wrong part of your post.  If I'm getting it correct now, you are saying the run is out of date and you expect it to be reset.  However, you do not like that the entire run directory is deleted rather than the specific files that were generated by Vivado.

 

I'm trying to track down the specific change request or marketing request for this change.  I have not found it yet but I can tell you the following.

 - The runs directories were never intended to contain any files other than those generated by Vivado.  It would be best to make copies of files and save them outside the run directory if they need to be preserved when the run is reset.

- We've had related request about the reset run either not deleting enough or too much.  By far, more have been about not deleting all of the files that should have been deleted in the runs directory, either causing stale data or preventing the flow to work properly.

 

An alternate solution would be to just create a new run and make it the active run so that the content of the run you are testing is not deleted.

 

 

Explorer
Explorer
1,117 Views
Registered: ‎07-03-2014

Re: [Vivado 2017.4] Implementation runs delete all files in folder

Jump to solution

@howardpwrote:

 

Sorry, I think I was focusing on the wrong part of your post.  If I'm getting it correct now, you are saying the run is out of date and you expect it to be reset.  However, you do not like that the entire run directory is deleted rather than the specific files that were generated by Vivado.


Don't worry, maybe I didn't explained myself properly; I just wanted to know if there were a way to avoid Vivado deleting the directory's full contents.

 


@howardpwrote:

 - The runs directories were never intended to contain any files other than those generated by Vivado.  It would be best to make copies of files and save them outside the run directory if they need to be preserved when the run is reset.


Ok, that's what I'll do. Anyway, Vivado 2016.4 and previous versions and even all versions of ISE preserved directory's content when synthesizing or implementing. At least, generated memory files should be preserved, as many designers treat those files as "release files", as if they were the final product of their job.

MCS/PRM files are uploaded to my company's production system in order to manufacture the final product, so I usually have a copy of those files in my working folder in case I need to debug that version.

 

Thanks for your help.

0 Kudos