I see lots of files, not all of which have obvious purpose.

  1. Where is a list of file types, especially those for simulation?
  2. Specifically, what are these files for?
  3. Which needs to be in source control, and which are outputs? Specifically which might I edit and which are created by the tools?

Specific files in question are:

  • .dir
  • .pb
  • .ini

I have asked Xilinx on their forums here and will put anything I hear back as an answer.


2 Answers 2


If I told you, I'd have to shoot you ...

For whatever reason, that kind of information is a closely-held secret among the developers of the Vivado GUI environment, which saves all kinds of files for its own purposes — presumably to save time by avoiding the execution of process steps that don't need to be repeated. Unfortunately, it is so bad at keeping track of the dependencies that it frequently uses outdated files, causing all kinds of issues that are very hard to track down. This is especially the case if you use any of Xilinx's own IP.

I have no idea why the whole thing is so poorly documented; it seems to me that it would be in Xilinx's own best interest to make their tools easier to understand and use.

I strongly recommend, if you want to keep your sanity, that you adopt the non-GUI development process — a.k.a. "Non-Project Batch Flow" — in which everything is kept in memory except for the files that you explicitly choose to write out and put under source control.

Start by reading UG892, and follow the links from there to the additional supporting documentation.


Like @Dave Tweed, everyone is responding that typical CM methods just don't work with Xilinx's handling of files. Xilinx pointed me to XAPP1165: Using Vivado Design Suite with Version Control Systems and UG893 on their flow in general.


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.