How would you make a VCS for an EDA tool?

By: Adrian (, March 28, 2021 11:19 am
Room: Moderated Discussions
Paul ( on March 28, 2021 8:14 am wrote:
> People,
> How would you think it is possible to make an EDA amendable to versioning using VCS
> systems, along with providing merge capability in a way not breaking one's mind?
> Collaborative editing in EDAs as it is now is non-existent, and attempts to use GIT for it
> is a recipe for a headache as none of current formats were built for human editability.

Versioning with the purpose of going back to a previous version is easy for some EDA tools, those with good scripting support.

At some previous employer I was using Cadence EDA tools. Those had a large number of annoying defects, but at least they had excellent scripting support.

It was possible to convert any schematic or layout into a script that would generate that schematic or layout, so it was possible to convert a project into a set of text files, which could be managed by git or any other version control system.

However the price of the Mentor (now Siemens EDA) and Cadence EDA tools was unbelievably high, so in the last decade I have been using mostly much cheaper EDA tools, e.g. from Altium, SIMetrix/SIMPLIS and others like these.

These cheaper tools have much worse documentation and also worse support for scripting. I do not know whether it is possible to convert their proprietary files into some text files without losing information.

On the other hand, merging edits on an EDA project seems a very difficult problem, because it would be hard to detect the conflicts, as those are not caused by proximity in the text file but by geometric or topological proximity.

The easy solution is the old way, of locking any file that is edited, forcing sequential changes.

Implementing a merge capability for schematic/layout/mechanical design files would be a serious research project. It is likely that any merge would have to be coupled with a complete checking of whatever design rules would be applicable, to detect distant but incompatible changes.

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
How would you make a VCS for an EDA tool?Paul2021/03/28 08:14 AM
  How would you make a VCS for an EDA tool?Michael S2021/03/28 10:21 AM
  How would you make a VCS for an EDA tool?Adrian2021/03/28 11:19 AM
    How would you make a VCS for an EDA tool?Adrian2021/03/28 11:29 AM
Reply to this Topic
Body: No Text
How do you spell tangerine? 🍊