Git for Asic designs

0 votes

110 views

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.

1 Answer

0 votes

As I think If cost doesn't matter than use Clearcase. In my organization we are using clear case. Its reliable, reboots and most import thing is manageable. IBM have good support team if any challenge needs to face.
For big and geometrical distributed project its awesome. Multisite concept of clearcase is amazing to handle this.

I was wondering if there are any install flags for git to be installed silently and to be able to pre-choose the install options to make it completely silent? Using the standard /S flag for the .exe just seems to launch it as normal.

For a project I use git with a dev branch. If it get's stable, it is merged to master. Now I have to maintain different versions of the software. (for example v1.0 and v2.0)

What is the best way to handle a hotfix for the old version v1.0? I know, I can create a hotfix branch. But what to do after that? Should I maintain this hotfix branch forever or is it better to merge the hotfix somehow into the master branch?

Currently I have to integrate a hotfix for v1.0. It's about a feature, which was removed in v2.0. So I think it's not a good idea to merge it back to master. But is it really a good idea to maintain a long running branch for every version?