• 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. Routing using terminals coordinates (SKILL)

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 14873
  • 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

Routing using terminals coordinates (SKILL)

TaherKotb
TaherKotb over 12 years ago

Hello

I want to create path leCreatePath() to connect between terminals of instances in the layout, i used inst_id~>instTerm~>termPosition to get the drain, source, gate and bulk coordinates to draw a path from these coordinates but the output i get is (nil nil nil nil). Is there a better way to draw a path without using coordinates(using the database ids' of the terminals) ?

One more question, How can i get the db_id of terminals that are tied together in the schematic ?

Thanks

Taher

  • Cancel
  • TaherKotb
    TaherKotb over 12 years ago
    Can any one help me on this please ?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Taher,

    If this is so urgent that you need to chase it within a day, you really should be using customer support. This forum is manned by volunteers (including those folks such as me who work for Cadence) - who try to fit this in during their spare time (which is rather limited for me at the moment), and as such you shouldn't expect fast response.

    termPosition is not what you want. From the documentation:

    Returns the position to which this terminal is assigned. Assigning a position or indicating an order for terminals is typically used by netlisters to compare the actual pin position to the position specified in the netlist.

    In fact the terminals are not what you need. It's the pins - because the pins carry the physical information (e.g. geometry) of the pins, whereas the terminals hold the connectivity information.

    So, assuming your instance has instTerms - which it will if it was created in VLS XL - you can  find the figures. For example:

    inst_id~>instTerms~>name
    ("D" "G" "S")
    inst_id~>instTerms~>term~>pins~>figs
    (((db:0x18a87315 db:0x18a8731b))
        ((db:0x18a87323))
        ((db:0x18a87314 db:0x18a87316))
    )

    So as you can see, some of these may have more than one fig (in OA-based releases). For example:

    D_figs=car(car(inst_id~>instTerms)~>term~>pins)~>figs

    D_figs_bboxes=foreach(mapcar D_fig D_figs dbTransformBBox(D_fig~>bBox inst_id~>transform))

    (((19.73 6.41)
        (20.03 7.61)
        )
        ((19.79 6.41)
        (19.91 7.61)
        )
    )

    This gives me a list of the transformed bounding boxes (i.e. the location of the pins) in the coordinate space of the cellView. The pin figures are in the instantiated master, and hence we have to transform it into the current cellView using dbTransformBBox.

    Alternatively maybe you can use lxSelectedRoute to auto-route the selected nets?

    I didn't really understand your second question. You also didn't say which version you're using, or whether you're using Layout XL or not.

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • TaherKotb
    TaherKotb over 12 years ago
    Andrew, Thank you so much, you reply clarified a lot of things. Sorry for the inconvenience
    • 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