• 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 SKILL
  3. Symbol Creation for the entire library

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 144
  • Views 17443
  • 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

Symbol Creation for the entire library

kenambo
kenambo over 10 years ago

Hi all

I want to create symbols for all the schematics in a library. i know how to create a symbol for a cellview.

I dont know how to get schematics oneby one from a library and converts schematics into symbol.

Please give me some suggestions or ideas.

Thanks

  • Cancel
  • theopaone
    theopaone over 10 years ago

    There is information on this in the Schematic Editor L User Guide. Explore the sections on Automatically Creating CellViews, Text-To-Schematic Generator, and Symbol and Simulation Library Generator.

    There may already be code written by others out there.

    Ted

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kenambo
    kenambo over 10 years ago

    I just found some commands from which i wrote code for generating symbols for a whole library.

    procedure(libSymCreation(libname)
    libId=ddGetObj(libname)
    foreach(cell libId->cells
        foreach(view cell->views
             case(view->name
                    ("schematic"
                  if(dbOpenCellViewByType(libId->name cell->name "symbol")
      then
    printf("symbol already exists \n")
    else
                        pinList=schSchemToPinList(libId->name cell->name "schematic")
                        schPinListToSymbol(libId->name cell->name "symbol" pinList)
                     ))
              (t
               )
    )
    )
    )
    )

    Where libname is the library where the cells are placed.

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 10 years ago

    Good job, Great initiative.


    You may want to close your open cellViews to keep within the system limits for number of open files.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 10 years ago

    Rather than use dbOpenCellViewByType, you can use ddGetObj.

    if( ddGetObj( libId~>name cell~>name "symbol") then

    This checks for the existence of the symbol view directory without opening it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Ted,

    Opening a cellView doesn't keep the file handle open, so it wouldn't run out of file descriptors. However, it does mean that you are keeping them all in memory - so it's always a good idea to close anything you open to allow it to purge anything no longer needed.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 10 years ago
    You are right again, Andrew, once the cellView data is read into VM, the OA file is no longer open.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kenambo
    kenambo over 10 years ago

    Thanks guys..

    i will update my code as per your suggestions...

    • 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