• 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. schViewToView

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 143
  • Views 12446
  • 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

schViewToView

FormerMember
FormerMember over 12 years ago

Hi all,

  I want to write a skill file to update standard cell librarie all symbols  with VDD/VSS pins.

There exits all symbol view.

When I use the  "schViewToView()" function, I want to select the "Modify" function.

How could I do the job automatically?

Thanks for your great help!

 

Best regards,

E-Jen 

 

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    pinList=schSchemToPinList("mylib" "mycell" "schematic")
    pinList->prop->schCvCreationMethod="Modify"
    schPinListToView("mylib" "mycell" "symbol" pinList "schPinListToSymbolGen")

    Should do it.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • FormerMember
    FormerMember over 12 years ago

    It works. Thanks and Happy New Year!

     

    Best regards,

    Lien, E-Jen 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nosaj
    nosaj over 8 years ago

    Hi Andrew,

      The schPinListToView function works, however the pins added are not touching the rect of the symbol.  Is there a way to add pins to the symbol that touches the rect boundary?


    Thanks

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

    In order to do this, you'd need to change the TSG (Text to Symbol Generator) template. I did it by copying the <ICinstDir>/tools/dfII/samples/symbolGen/artist.tsg (pick whichever template you normally use on the Create->CellView from Cellview route) to a local file, myArtist.tsg. I then edited this file and changed the wireLength to 0.0 (in the symbolParams section). More details can be found in the Text to Symbol Generator appendix (Appendix C in the version I'm using) of the Virtuoso Schematic Editor L User Guide.

    Then:

    tsgTemplateMasters=cons(list("myArtist" strcat(getWorkingDir() "/myArtist.tsg")) tsgTemplateMasters)
    envSetVal("schematic" "tsgTemplateType" 'string "myArtist")

    The first adds the path to your modified template into the master list, and then the second specifies the template you want to use. This will be consumed by the schPinListToView function above, and  you'll end up with pins directly on the box of the symbol without any pin legs.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nosaj
    nosaj over 8 years ago

    Hi Andrew,

    I updated symbolParam wireLength to 0.0 but it doesn't change anything.  pins are still create below the rect shape in "device" "drawing". 

            symbolParam(
                origin = topLeftPin
                wireSpacing = 0.125000
                wireLength = 0.000000
                labelHeight = 0.062500
                vSideLength = 0.000000
                hSideLength = 0.000000
            )

    I'm trying to post process these pins and legs by rotating them and moving them to the left side of the rect shape.  However, schHiRotate(t) doesn't rotate them.

    I'd like to select all lable/rect/line below ycoord = xxx, rotate  to R90, move them to the left side of the device rect :

    rect=car(setof(x cv~>shapes x~>objType=="rect" && x~>net==nil && car(x~>lpp)=="device"))
    topLeftXY=list(caar(rect~>bBox) cadadr(rect~>bBox))

    shapeList = setof(x cv~>shapes cadar(x~>bBox)<cadadr(rect~>bBox))
    ;;roate all shapeList to R90
    ;;Move them to topLeftXY

    could you guide through the last two steps.  Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nosaj
    nosaj over 8 years ago
    should be shapeList = setof(x cv~>shapes cadar(x~>bBox)<cadar(rect~>bBox))
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nosaj
    nosaj over 8 years ago
    I figured out the last steps. Thanks.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    I think your question would have been easier to understand if you'd included a picture of what the problem was. Having re-read, you may have been talking about creating the symbol in modify mode rather than replacing the existing symbol? That's just a guess though.

    Andrew

    • 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