• 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. How to export/write-out a layout/schematic/symbol view as...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 3769
  • 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

How to export/write-out a layout/schematic/symbol view as SKILL?

Sheppie
Sheppie over 3 years ago

Hi,

In the past, I've used a build-in procedure to write-out (or export) a view as SKILL file. You could see this output file as a sort-of replay file. I'd like to do the same again, but I don't remember the exact procedure nor can i find this in the documentation. Does anyone know what I'm looking for?

Thanks in advance.

With kind regards,

Sjoerd

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Sjoerd,

    You're probably thinking of dbWriteSkill. You should use this with caution though, because it's not guaranteed to be complete. From the documentation:

    Functions dbWriteSkill and dbWriteSkillWithLib do not replicate all database attributes of all objects, and should not be viewed as a way to completely recreate a given design. In previous releases, these functions served purposes related to migration of basic objects from older releases to newer versions, but are not intended to fully support newer and expanded capabilities and methods used by the latest versions, and latest features in the OA database. For example, a partial list of limitations include, layer coloring information, blockages, and physical-only attributes.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Hi Sjoerd,

    You're probably thinking of dbWriteSkill. You should use this with caution though, because it's not guaranteed to be complete. From the documentation:

    Functions dbWriteSkill and dbWriteSkillWithLib do not replicate all database attributes of all objects, and should not be viewed as a way to completely recreate a given design. In previous releases, these functions served purposes related to migration of basic objects from older releases to newer versions, but are not intended to fully support newer and expanded capabilities and methods used by the latest versions, and latest features in the OA database. For example, a partial list of limitations include, layer coloring information, blockages, and physical-only attributes.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Sheppie
    Sheppie over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    My apologies for this late reply. The dbWriteSkill is exactly what I was looking for. And I do understand the risks with this procedure, and I don't use (or plan to use) this procedure to replicate a design. The reason for using it is simple: I have written a symbol pcell, in which I add labels to print netnames to pins (the cdsTerm(G) thing). However, no matter what I did, I couldn't get it to work: netnames were not printed in the schematic. Therefor I wanted to look at how something like this would have been done in a symbol that has those cdsTerm things, and which work. So by looking at code that generates a symbol that includes printing netnames, I thought I would be able to get it to work. Unfortunately, I can't get it to work. So i have to dig a little deeper to get this to work.

    In the screenshot you'll see a schematic of a transistor from the PDK (bottom) and my device (top). As you can see, the PDK version has the netnames printed (the whitish letters), whereas my own version doesn't.

    This is how it's done in the dbWriteSkill version of the PDK device:

    dbD_0x54b08ba7 = dbCreateLabel(dbD_0x54b0c59a list(237 248)
                                   3.062500e-01:-8.750000e-02 "cdsTerm(\"G\")"
                                   "lowerLeft" "R0" "stick" 5.000000e-02)
    dbD_0x54b08ba7~>isDrafted = t
    dbD_0x54b08ba7~>isOverbar = nil
    dbD_0x54b08ba7~>isVisible = t
    dbD_0x54b08ba7~>labelType = "ILLabel"

    This is how I do it:

    labelId = dbCreateLabel( cvId list( "annotate" "drawing8" ) xCoord:yCoord "cdsTerm(\"G\")" "upperRight" "R0" "stick" 0.05 )
    labelId~>isDrafted = t
    labelId~>isOverbar = nil
    labelId~>isVisible = t
    labelId~>labelType = "ILLabel"

    If I can't get it to work, I'll file a ticket at support.

    Thanks for your support.

    With kind regards,

    Sjoerd

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Sheppie

    Hi Sjoerd,

    It might just be that you've not got the CDF label display settings set to annotate the net names by default. This might be easiest to just have a shared screening session - perhaps you could log this as a case on support.cadence.com and put me on cc (I think you have my email address, and I'm happy for you to do that in this case). If you don't have my address, file the case and then post the number here and I'll pick it up.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sheppie
    Sheppie over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    You're awesome! I had set the CDF label display to show voltages... Changed this to netName and it works. So many places to check...

    Thanks again.

    With kind regards,

    Sjoerd

    • 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