How would you make a VCS for an EDA tool?

By: Adrian (, March 28, 2021 11:29 am
Room: Moderated Discussions
Adrian ( on March 28, 2021 11:19 am wrote:
> 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.

I want to add that I have also used the same method, of storing in the version control system script files that would generate the proprietary EDA files, for AutoCAD drawings, which were stored as LISP scripts.

However, that was done more than 20 years ago, so I have no idea whether this is still possible with newer versions of AutoCAD or of similar tools.

< Previous 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? 🍊