• 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. reduce left and right side of poly separately

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 142
  • Views 13589
  • 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

reduce left and right side of poly separately

prandi
prandi over 12 years ago

 Hi,

My aim is reduce the size of poly on both left and right sides separately.

Say I want to reduce the left side of poly by 5nm and right side of poly by 3 nm,Is there any way of doing it using skill?

I tried using dbLayerSize..But it reduces the poly on both the sides equally..So,Is there any command in skill where-in you have a choice of reducing left/right side seperately.(Here, poly includes poly of both rect and polygon shapes)

 

 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Please read the Forum Guidelines. You have on two occasions posted to existing threads, for things that are not directly related. Also, this question is very similar to one you have asked earlier.

    I will split this into a separate thread (since the subject is different from the thread you appended to, to make matters worse)

    The simple answer is no, but you could prevent the top and bottom being stretched by doing a dbLayerAnd with a rectangle which is a slightly stretched version of the bounding box. I had thought of putting together an example, but since I'm still having to guess what precisely you're doing (as each post seems to have contradicting requirements), I'm going to wait until you've clarified what you're trying to do (as I asked for in your other thread).

    Please bear in mind that everyone on these forums is a volunteer, and are doing so in their spare time, and so you need to ensure that you minimize any calls on their time by maximizing the amount of information you provide.

    Kind Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    One quick thought as to how you could do this assymmetric sizing:

    1. Foreach polygon, find the bBox (it's an attribute on the shape itself)
    2. Looking along the point list, you can identify points which are on the top or bottom edge (because the y-coordinates will match the yCoord(upperRight(bBox)) or yCoord(lowerLeft(bBox))).
    3. From this, you should be able to determine which points form the left or right edges, because they will start from the smaller xCoord on the top to the smaller xCoord on the bottom (and similar for the right side).
    4. Any points on the left side you could update the xCoord to subtract the shift you want, and similarly for the right.
    5. The resulting point list could then be updated on the polygon.

    Needs a bit of manipulation of the point list, but it shouldn't be too difficult if the polygons are reasonably consistent.

    So you don't even need to use the dbLayer.* functions in this case.

    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