• 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. Problem with rodCreatePath function

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 144
  • Views 5720
  • 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

Problem with rodCreatePath function

GabrielVarela
GabrielVarela over 2 years ago

Hi!

I'm working on a custom PCELL that uses rodCreatePath to draw some connections but I've encountered myself with a weird behavior. When using the offset parameter of it, sometimes it doesn't draw the path as expected. 

This is the test case I've prepared to show my problem:

First I define the following list of points:

 path= list(0:0 0:50 -10:60)

And then with different "Offset" values I call the rodCreatePath like this:

rodCreatePath(
?layer list("M1" "drawing")
?width 15.0
?pts path
?offset Offset
?justification "center"
?endType "flush"
?cvId geGetEditCellView()
)

When using an offset of 50 (the same length of the vertical path in the original path) it doesn't work as I've expected.

Any help will be appreciated, thanks.

Gabriel

  • Cancel
  • mbracht
    mbracht over 2 years ago

    Hi Gabriel,

    First of all your screenshot above doesn't reflect a path with the points (0:0 0:50 -10:60). If I create this rod Path with no offset at all with your point list I get this:

     rodCreatePath(
         ?layer list("M1" "drawing")
         ?width 15.0
         ?pts path
         ?offset 0.0
         ?justification "center"
         ?endType "flush"
         ?cvId geGetEditCellView()
       )

    Subsequently increasing the offset (and reducing the width to 5.0 for better visibility's sake) I get this

    (foreach offset (list 10.0 20.0 30.0 40.0 50.0) 
       rodCreatePath(
         ?layer list("M1" "drawing")
         ?width 5.0
         ?pts path
         ?offset offset
         ?justification "center"
         ?endType "flush"
         ?cvId geGetEditCellView()
       )
    )

    And this is exactly what I would expect...

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • GabrielVarela
    GabrielVarela over 2 years ago in reply to mbracht

    You are right, I made an error while typing, the correct list of points is list(0:0 0:50 10:60).

    I´ve repeated the test using your function call (with the list that I mentioned above) and I get this:

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 2 years ago in reply to GabrielVarela

    hmmmh...I see the same behavior now and I cannot explain it. In fact it does work for 49.9 and also for 50.1. Maybe it's some rounding effect. I recommend to open a customer support case.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • GabrielVarela
    GabrielVarela over 2 years ago in reply to mbracht

    I'll do, thanks for your time!

    • 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