I
Ilya Kalistru
Guest
On Saturday, May 20, 2017 at 11:17:19 AM UTC+3, rickman wrote:
It does. You can tell the tool where to generate these files and I do it in a special directory. It is easy to delete them, and you don't have to add them to your source control system. As all your important stuff is in src dir and all your junk is in sim_* dirs it is easy to manage them.
That's what I have in my repository
Project_name
\sim_Test1NameDir
*sim_test2NameDir
*sim_test3NameDir
|\
| *sim_report.log
| *other_junk
*synth_Module1Dir
*synth_Module2Dir
|\
| *Results
| | \
| | *Reports
| | *bitfiles
| *Some_junk
*src
|\
| *DesignChunk1SrcDir
| *DesignChunk2SrcDir
*sim_test1.tcl
*sim_test2.tcl
*sim_test3.tcl
*synth_Module1.tcl
*synth_Module2.tcl
On 5/20/2017 3:11 AM, Ilya Kalistru wrote:
Yes. It is xilinx vivado.
Another important advantage of non-project mode is that it is fully compatible with source control systems. When you don't have projects, you don't have piles of junk files of unknown purpose that changes every time you open a project or run a simulation. In non-project mode you have only hdl sources and tcl scripts. Therefore all information is stored in source control system but when you commit changes you commit only changes you have done, not random changes of unknown project files.
In this situation work with IP cores a bit trickier, but not much. Considering that you don't change ip's very often, it's not a problem at all.
I see that very small number of hdl designers know and use this mode. Maybe I should write an article about it. Where it would be appropriate to publish it?
Doesn't the tool still generate all the intermediate files? The Lattice
tool (which uses Synplify for synthesis) creates a huge number of files
that only the tools look at. They aren't really project files, they are
various intermediate files. Living in the project main directory they
really get in the way.
--
Rick C
It does. You can tell the tool where to generate these files and I do it in a special directory. It is easy to delete them, and you don't have to add them to your source control system. As all your important stuff is in src dir and all your junk is in sim_* dirs it is easy to manage them.
That's what I have in my repository
Project_name
\sim_Test1NameDir
*sim_test2NameDir
*sim_test3NameDir
|\
| *sim_report.log
| *other_junk
*synth_Module1Dir
*synth_Module2Dir
|\
| *Results
| | \
| | *Reports
| | *bitfiles
| *Some_junk
*src
|\
| *DesignChunk1SrcDir
| *DesignChunk2SrcDir
*sim_test1.tcl
*sim_test2.tcl
*sim_test3.tcl
*synth_Module1.tcl
*synth_Module2.tcl