• 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 to draw a closed ring with rodCreatePath

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 14163
  • 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 to draw a closed ring with rodCreatePath

patschouly
patschouly over 5 years ago

Hi,

I'm trying to build a guardring pcell using rodCreatePath(). However, when the start and end points are the same (a closed ring) the path disappears. The CIW informs me that the "master path [can ] not [be] created because it would be self-intersecting". I'm at loss here. When I'm creating a path in the layout editor (with the end type set to "extend"), I can do exactly this. This fails however with rodCreatePath (but only when the start and end point are on the corner of the ring).

What can I do to solve this?

Here's the code:

rodCreatePath(
    ?layer list("active" "drawing")
    ?width width
    ?endType "extend"
    ?pts list(
        0:0
        length:0
        length:height
        0:height
        0:0
    )
)

  • Cancel
Parents
  • mbracht
    mbracht over 5 years ago

    Hi,

    I don't think you can do that in the layout editor. If you start to draw your path a 0:0 and then place your last point again at 0:0 then that last point will actually become (0:0+width). Try it out,- create such a path in VLE and then look at it's point in the property editor. So this is not a rodCreatePath(..) issue, it's simply something a path doesn't allow.

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • mbracht
    mbracht over 5 years ago

    Hi,

    I don't think you can do that in the layout editor. If you start to draw your path a 0:0 and then place your last point again at 0:0 then that last point will actually become (0:0+width). Try it out,- create such a path in VLE and then look at it's point in the property editor. So this is not a rodCreatePath(..) issue, it's simply something a path doesn't allow.

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to mbracht

    Max is right - the path would be re-entrant (self-overlapping). You can draw it using this:

    rodCreatePath(
        ?cvId cv
        ?layer list("active" "drawing")
        ?width width
        ?endType "extend"
        ?pts list(
            0:0
            length:0
            length:height
            0:height
            0:width
    ))

    Note the final coordinate is slightly different to allow for the extensions and to avoid the overlap.

    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