• 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 can I check symbol's ports and symbol's name in a schematic...

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 144
  • Views 7095
  • 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 can I check symbol's ports and symbol's name in a schematic ?

ichiro
ichiro over 3 years ago

Hi all,

I'd like to check and write some symbol's port name and the symbol's name in a schematic to a file by skill.

Do you have sample code? 

Best regards,

Ichiro

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Ichiro,

    Your requirement is rather vague - it's unclear what exactly you're asking. Can you perhaps show a picture of a schematic and what you'd be expecting in the output file?

    Regards,

    Andrew

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

    Sorry,

    I'd like to find symbol's port names in a schematic by skill.

    Next, I'd like to create lines with the name.

    Best regards,

    Ichiro

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ebecheto
    ebecheto over 3 years ago in reply to ichiro

    if you hit "space bar", while having selected the instance, it will end up to connect the cell like that !

    No need skill for this feature, already made. (although a skill script is behind that obviously)

    May be you need to 'check and save' before hitting "break bar", i am not sure about that.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Kevin Buck
    Kevin Buck over 3 years ago in reply to ichiro

    You can use a foreach loop to iterate through the terminals on a symbol and use centerBox to get the appropriate coordinates.

    foreach(term oldSymView~>terminals

    ;Generate offset for pin locations and wiring
    xpin_ofs = x_ofs + nth(0 centerBox(nth(0 nth(0 term~>pins~>figs~>bBox))))
    ypin_ofs = y_ofs + nth(1 centerBox(nth(0 nth(0 term~>pins~>figs~>bBox))))

    Since you want to draw a wire you might need to do some additional checking to figure out the location of the pins on the symbol if they aren't in a fixed side of the symbol based on pin type. You could find the bounding box of the symbol (assuming one exists) and determine which part of the symbol each pin occurs based on the coordinates of the bounding box.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • ichiro
    ichiro over 3 years ago in reply to ebecheto

    Thanks for great information ! I was most impressed this year.

    How did you learn the "hitting space bar" ? I'd like to know skills already made like as "space bar".

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Kevin Buck
    Kevin Buck over 3 years ago in reply to ichiro

    From the CIW: Options->Bindkeys... will give you a list of shortcuts mapped to keystrokes.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • ichiro
    ichiro over 3 years ago in reply to Kevin Buck

    Thanks, Kevin-san,

    I'm trying skill you show...today I could only run simple script shown below from CIW because today is my first skill day. 

    (1) run the file from SKILLIDE (2) type and enter "test()" in CIW

    It's run well, but I don't why I couldn't run "test()" from SKILLIDE directly. (or from .sh file)

    ------------------

    procedure( test()

    cvId = dbOpenCellViewByType("test_1" "TEST_1" "schematic" "w")
    schHiTree(cvId)

    ); procedure

    ------------------

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Kevin Buck
    Kevin Buck over 3 years ago in reply to ichiro

    Unless you specify in your .cdsinit file the function will not be known to the tool by default. You need to load the function in the CIW first:


    load([string_path_to_file])

    The command pwd works in the CIW so you can see the current directory.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ichiro
    ichiro over 3 years ago in reply to Kevin Buck

    Oh! That's great!

    I could find "space key" skill and more. This can help me understanding each skill function. 

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ichiro
    ichiro over 3 years ago in reply to Kevin Buck

    Thanks, My understanding is that it's means the 1st step I used SKILLIDE should be change usage of "load" command in CIW..? or edit .initcde file.

    • 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