• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Using Subversion for Revision Control with Cadence

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 126
  • Views 20729
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using Subversion for Revision Control with Cadence

archive
archive over 17 years ago

Hi,
I have been using Subversion to track revisions from icfb. For the most part it works fairly well, however using the various file manipulation capabilities of the Library Manager such as copy and rename results in a big mess. Rather than ignoring the .svn folders, it copies them to a different place. Then when I try to commit the new design with the copied library, Subversion gives errors relating to the improper copy. I hope it's clear what the issue is.

Has anyone encountered this problem before? Is there some SKILL code that could be used to call the subversion copy command instead of the usual shell command?


Originally posted in cdnusers.org by brose@scanimetrics.com
  • Cancel
  • archive
    archive over 17 years ago

    Hi there,

    From the problem description I gather, that you are talking about the Cadence libraries, rather then the versions of icfb itself.
    I was always wondering, if somebody is using svn and Cadence libraries together.
    How did you integrate SVN into the Cadence environment?
    How do you make Cadence recognize SVN as a DM system?

    Cheers,

    Britta


    Originally posted in cdnusers.org by Britta
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Yes I am using svn to manage the Cadence libraries. At least I am trying to.

    How did you integrate SVN into the Cadence environment?
    How do you make Cadence recognize SVN as a DM system?

    I have been unable to do either. Thanks for clearing up my original question.

    The process at the moment involves doing the design work in Cadence and then committing the changes via a bash prompt (svn commit, svn update, etc). Cadence is not "aware" of svn. If there is some way to make Cadence recognize svn, I would like to hear it.
    Thanks,
    Brian


    Originally posted in cdnusers.org by brose@scanimetrics.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Fully integrating a DM system with Cadence (actually with the Cadence GDM system) is a great deal of work. Companies such as our own (ENOVIA MatrixOne, previously Synchronicity) and others that have done this have spent many years getting this to work perfectly. It involves writing a library of functions that is linked into the Cadence system, plus various other scripts. Even then, your problem with the .svn folders would not necessarily be resolved: for a similar issue with our own ".SYNC" folders we persuaded Cadence to specifically exclude them from their copies (I thought they had excluded all ".*" folders, but maybe not.)

    I'm not personally aware that anyone has written a full integration of Subversion into the GDM system, though it is possible.


    Originally posted in cdnusers.org by ian.dobinson@matrixone.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    I have been digging around the Library folders and noticed that the cdsinfo.tag file plays an important role in whether or not Cadence recognizes a specific folder as a Library folder. The simple summary is that if a cdsinfo.tag file exists with the line CDSLIBRARY, Cadence will take notice of it as a Library. This worked fine with my ".test" folder ( which by the way was copied by Cadence once I included the cdsinfo.tag). The strange bit is that the .svn folder does not have a cdsinfo.tag file, it has cdsinfo.tag.svn-base in .svn/text-base/. Suggestions?

    Thanks,
    Brian


    Originally posted in cdnusers.org by brose@scanimetrics.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    The cdsinfo.tag identifies the library directory itself as a library - the file should and must only be present at the library level, not at any level below it. (Strictly, the file is not actually required, since the cds.lib really identifies where the libraries are to the DFII system!)

    I don't know svn, but I presume the file in the .svn folder is the vault for the main cdsinfo.tag, or some other form of metadata managed by svn.

    The rules of the Cadence 5X Library structure are, basically:
    - Any object in a library with no "." in the name is assumed to be a folder and assumed to be a cell of the library.
    - Any object in a library with a "." in the name is assumed to be a file.
    This can, of course, cause some issues if you are not careful!

    The other thing the cdsinfo.tag file contains is a line that tells the system which DM system is managing that library. For example, for a library managed by the DesignSync system, the file would contain:
    DMTYPE sync
    But this is only of use if your DM system fully supports the GDM system.


    Originally posted in cdnusers.org by ian.dobinson@matrixone.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hello,

    We have also been using subversion to manage our designs from the command line, or at least a small group have been attempting this feat for a few tapeouts now. We even investigated starting to wrap the Cadence GDM system around subversion. Ian Dobinson is quite correct that the task of implementing GDM is highly non-trivial. However, we have recently started working with a promising solution from Method-ICs, VersIC. It may be just the solution you are seeking. It has certainly done a good job of answering the questions we had about subversion-Cadence integration. Check them out at:

    http://www.methodics-eda.com/products.html

    Jason


    Originally posted in cdnusers.org by abele
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Jason,
    I had also come to that conclusion. MethodICs offers a demo that I thought was quite good. We have been busy with other projects and not had time to try the practical demo MethodICs offers.

    After we have had some time to work with it I will let you know if it's worthwhile.

    Brian


    Originally posted in cdnusers.org by brose@scanimetrics.com
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • PoojanWagh
    PoojanWagh over 16 years ago

    I think I've gotten most of the problems solved (at least to my satisfaction). I would have preferred MethodICs' VersIC, but that wasn't an option when I started.

    Here's the scripts that got me there:

    http://www.circuitdesign.info/blog/2008/08/getting-subversion-and-cadence-to-play-nice-2/

    And here's a picture-by-picture demo/tutorial:

    http://www.circuitdesign.info/2008/09/pictorial-introduction-to-using-cadence-subversion/

    Once again, if you have money, VersIC is the way to go. Very impressive. If not, the above links will solve most of the problems to the point that you can do daily work (even collaborate).

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • acook
    acook over 9 years ago

    Apologies for reviving an old post, but if you are looking for a free source control tool to use with Cadence, I would recommend Git.

    Unlike SVN, Git doesn't get mad when Cadence move/deletes, renames files.

    I've written SKILL (also open source) to help better integrate the basic Git commands into Cadence.

    https://github.com/cdsgit/cdsgit

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information