• 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. custom "ports" in layouts

Stats

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

custom "ports" in layouts

MarkAL
MarkAL over 8 years ago

I do a lot of custom layout in Skill generating fairly sophisticated curvilinear shapes. I would like to add "ports" to these P-Cells in a way that will extend to being able to create schematic symbols with the pin names matching the ports on the layout. The characteristics of a port are:

1) a port name that is a string
2) an (X,Y) coordinate pair that is the location of the port
3) another (X,Y) coordinate pair where the vector between the location coordinate pair and this pair encodes directionality
4) the physical width of the port (e.g. the width of the underlying shape)


I currently use the dbCreateHierProp() procedure to make a "ports" property for P-Cell layouts that have a list of ports with the above information encoded in it. I then have custom procedures that create shapes and text that display where the ports are and their names. However, this text and shapes are not really linked to the "ports" property after they are created. So, hiding, showing, and updating the port text and shapes is not as clean as I would like it to be. Also, as I mentioned, I would like to use these ports as a basis for creating pins in a schematic and eventually running LVS. So, to summarize, the functionality I am trying to build is: 

1) have "ports" attached to layouts
2) some of the ports will correspond to pins in schematics
3) be able to easily toggle on/off the port information in layout view

Questions: 

1) is dbCreateHierProp() the right way to go about this? Or am I reinventing the wheel and am missing some functionality that is already built-in? 
2) what is the recommended way to create a custom layout symbol and text that displays the port information? Ideally, it would have a shape representing where the port is and its directionality as well as text that has the port name, directionality, and width
3) what is a good way to toggle on and off the shapes and info from question #2? 
4) what is a good way to derive pins that will correspond to schematic pins from the port information? 

I have decent experience writing custom Skill for layouts, but I haven't written functionality to toggle shapes/information in layout view. And, I haven't written any functionality to relate layout views with schematic views. So, being pointed in the right direction would be greatly appreciated. Thanks in advance!

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

    The simple answer is "maybe" ;->. It's really hard to answer without seeing an example and some code to see what you've done. There's a lot of things that aren't clear just from your description that would be much clearer with an example and seeing the code - so if you can't post that here, then the best bet is to contact customer support.

    Regards,

    Andrew.

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

    The simple answer is "maybe" ;->. It's really hard to answer without seeing an example and some code to see what you've done. There's a lot of things that aren't clear just from your description that would be much clearer with an example and seeing the code - so if you can't post that here, then the best bet is to contact customer support.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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