• 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 Design
  3. Request - Skill script for block level floor planning (Constant...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 1317
  • 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

Request - Skill script for block level floor planning (Constant area stretch)

Carona
Carona over 7 years ago

I have browsed the forums for a number of years for ideas and references when creating some useful bind keys.

Recently I thought about a nice feature to have, would be to place down a rectangle or polygon as an area estimate in any layer and then be able to stretch it from a given side and maintain the area.

So basically you could reshape the figure, but always maintain a constant area.  Perhaps 4 bindkeys that stretch +/- in each direction by a given amount, (+/-10u) for example.

It would be great to have the area attached to the shape.  I think the hardest part would be the constant area stretch part.  I was hoping for some help on getting started with going down this route or if there is something that has already been done that is similar, that would be great also.

Thanks

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

    You can display the area dynamically using Options->Dynamic Display. You can turn on "Measurement Display" and then the area will show up as you stretch the shape (assuming you have it enabled in the bottom part of the form).

    Having something that maintains the area is a bit more challenging. With a rectangle it would be straightforward enough - although it would still be ambiguous as to which side you wanted to move in order to preserve the area. For a polygon, it's harder - how would it know which part of the polygon you wanted to auto-adjust to keep the area? So I don't think there's anything built-in to do this.

    Regards,

    Andrew.

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

    You can display the area dynamically using Options->Dynamic Display. You can turn on "Measurement Display" and then the area will show up as you stretch the shape (assuming you have it enabled in the bottom part of the form).

    Having something that maintains the area is a bit more challenging. With a rectangle it would be straightforward enough - although it would still be ambiguous as to which side you wanted to move in order to preserve the area. For a polygon, it's harder - how would it know which part of the polygon you wanted to auto-adjust to keep the area? So I don't think there's anything built-in to do this.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Carona
    Carona over 7 years ago in reply to Andrew Beckett

    Thank you for the quick response, I didn't think about using the dynamic display for showing the Area info, that is useful.

    I am not sure about the edge selection part as you mentioned, I think I will start off with a basic rectangle for now and see if that works out well enough.

    If you have any further insights on how to get started with the code, it would be much appreciated.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Alex Soyer
    Alex Soyer over 7 years ago in reply to Carona

    Carona,

    The soft blocks has this functionality of constant area stretch.

    You can create a new cellview with only a prBoundary,  you set the CellType of the cellview to blockBlackBox, you save it.

    Then you instantiate this new cellView into the top design. In order to edit the soft block prBoundary, in the Palette in the Objects tab, you need to turn on softBlock prBoundary.

    After that you can start the stretch click on F3 and activate the constant are stretch which works for rectangle and polygon, you can only choose the left/right/top or bottom edge as floating.

    The constant area is not available for reshape and chop.

    Enjoy

    Alex

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to Alex Soyer

    Ah, thanks Alex. Shows what happens when I don't read the title of the request and focussed too much on the text where it was talking about stretching polygons and rectangles. I missed the "floorplanning" aspect!

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Carona
    Carona over 7 years ago in reply to Alex Soyer

    I appreciate all the help, I noticed that command in the drop down menu, but never knew how to use it. Thanks again.

    • 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