I have done a little bit of research on the groups but I don't seem to have found a clear answer to this.
I need to make a choice about a version control AND configuration management tool for semiconductor projects. These would be mixed-signal analog/digital projects, with file type ranging from documentation, to source code (verilog/vhdl) and huge text (netlists) and binary files (design databases)
I have used CVS, SVN, Clearcase and I have found very stressful limitations in all of those, both during the RTL development and verification, which is the part that most resembles programming, and during implementation, which is the phase that generates the huge, often binary, files.
There are alternatives that come to mind (I'm not writing this to publicize them) but I would like to know if there are other users in this group who are already using GIT in an electronic design environment.
My main questions involve:
- optimization of disk space. Git has the advantage of being distributed, but when all the users are actually on the same disk volume in a compute farm, this is not really a benefit, as it'll create a lot of file duplication. Keep in mind that a medium complexity asic can easily require more than 1TB of space to be archived properly.
- Configuration Management. Projects absolutely need to be split into a lot of sub-projects. No one on the team needs to (or should) have access to the entire database. However, ensuring all the various sub-designs, subchips and library packages stay in sync is a major headache.