• 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. Digital Implementation
  3. Filler cells placed outside EndCap

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 91
  • Views 17248
  • 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

Filler cells placed outside EndCap

stevemc
stevemc over 15 years ago

 My design has an area of placement blockage in one corner. In the core rows along this blockage, I get endcaps which are spaced away from the blockage, causing filler cells to eventually be placed at the end of the row, outside the endcap. Is this a problem with my addEndCap, addFiller, or possible addStripe?

 

  • Cancel
Parents
  • BobD
    BobD over 15 years ago

    Hi Steve,

    Nice to connect with you on the phone just now. For the benefit of others that might come across this issue, here's what we found:

    First, the placement blockage in the image above (along with a routing blockage that's not visible) is modeling a cutout within a rectilinear block.  We discussed modeling the block as a true rectilinear instead of with a placement and routing obstruction (which the tool supports via the GUI and with the setObjFPlanBoxList command).

    Second, we did some testing and noticed that addEndCap is placing the end cap instances a few microns away from the routing blockage to avoid a drc violation between the metal in the end cap cell and the routing blockage.  However, addFiller does *not* do this, even with "-doDRC true".  This was made particularly obvious because the large routing blockage triggered wider spacing due to width-dependant spacing rules in the tech lef.  This is why filler cells were able to sneak between the placement blockage and the end cap.  I'll look into the inconsistency and report back.

    Further, we noticed a slight difference in terms of how far from the routing blockage addStripe stopped and where addEndCap placed the instance.  I'll also look into this and report back.

    Issue related to wide swaths of routing obstructions are good examples why modeling a block as a true rectilnear.  Steve, if you could report back on how that works out for, that would be great.

    Another approach might be to edit the LEF to remove the larger spacing requirements for wider wires, but it seemed preferrable (to me) to go the rectilinear route because that would enable the horizontal stripes and the end cap cells to be abutted with the rectilinear edge.

    Thanks for raising this issue- it's a great example to learn from.  I'll be following up as I have more information on the points I mentioned.

    Let me know if you have any more related questions, and thanks for using the forums. I appreciate it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • BobD
    BobD over 15 years ago

    Hi Steve,

    Nice to connect with you on the phone just now. For the benefit of others that might come across this issue, here's what we found:

    First, the placement blockage in the image above (along with a routing blockage that's not visible) is modeling a cutout within a rectilinear block.  We discussed modeling the block as a true rectilinear instead of with a placement and routing obstruction (which the tool supports via the GUI and with the setObjFPlanBoxList command).

    Second, we did some testing and noticed that addEndCap is placing the end cap instances a few microns away from the routing blockage to avoid a drc violation between the metal in the end cap cell and the routing blockage.  However, addFiller does *not* do this, even with "-doDRC true".  This was made particularly obvious because the large routing blockage triggered wider spacing due to width-dependant spacing rules in the tech lef.  This is why filler cells were able to sneak between the placement blockage and the end cap.  I'll look into the inconsistency and report back.

    Further, we noticed a slight difference in terms of how far from the routing blockage addStripe stopped and where addEndCap placed the instance.  I'll also look into this and report back.

    Issue related to wide swaths of routing obstructions are good examples why modeling a block as a true rectilnear.  Steve, if you could report back on how that works out for, that would be great.

    Another approach might be to edit the LEF to remove the larger spacing requirements for wider wires, but it seemed preferrable (to me) to go the rectilinear route because that would enable the horizontal stripes and the end cap cells to be abutted with the rectilinear edge.

    Thanks for raising this issue- it's a great example to learn from.  I'll be following up as I have more information on the points I mentioned.

    Let me know if you have any more related questions, and thanks for using the forums. I appreciate it.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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