• 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. Is it possible to use rodFillBBoxWithRects with elementsX...

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 143
  • Views 17391
  • 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

Is it possible to use rodFillBBoxWithRects with elementsX or elementsY similar to rodCreateRect

harisps
harisps over 6 years ago

Hi All,

    I would like to fill BBox with contacts and need to create rows or columns of the same fillBBox. "rodFillBBoxWithRects " will do the filling of contacts in the specified fillBBox but there is no feature like elementsX,elementsY,spaceX,spaceY (spacing between them) etc. similar to rodCreateRect.

1) One way that I have tried to create fillBBox and use it as a mosaic with elementsX,elementsY,spaceX,spaceY.

2) rodCreateRect with ?subRectArray option, But it leads to more calculations for width, length and spacings

Is there any easy way to do the same?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    I'm a bit confused by your request. rodFillBBoxWithRects does have ?spaceX and ?spaceY, as well as ?width and ?length for the size of the contact (usually the contact size would be defined rather than the number of elements). If you are trying to fill a known region with contacts, you would normally know the width, length and spacings (because you need that to ensure you are DRC correct) but not the number of elements (which you'd have to compute). If you specify the number of elements (or rather could) then it wouldn't be filling the box, but just placing an array of rectangles.

    If you want to specify an array of rectangles with known number of elements, spacing and cut size, then you can do that with rodCreateRect specifying ?elementsX, ?elementsY, ?spaceX, ?spaceY, ?width and ?length. You can even specify ?fillBBox as well (in which case the ?elementsX and ?elementsY specify the maximum number of elements within the filled box). You don't have to do this as a ?subRectArray.

    So it's unclear to me what it is you can't do...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harisps
    harisps over 6 years ago in reply to Andrew Beckett

    Thanks Andrew,

        I can create an array of contacts in a specified BBox using rodFillBBoxWithRects . My requirement is to create rows and columns of the shape created using rodFillBBoxWithRects 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to harisps

    So you want to create some kind of array of the arrayed shapes from rodFillBBoxWithRects? If so, I'd probably create a cellView containing the shapes generated with rodFillBBoxWithRects and then place a mosaic of that. If that's not what you mean, maybe a picture would help - I'm still not sure I understand what you're asking.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harisps
    harisps over 6 years ago in reply to Andrew Beckett

    Yes, Exactly.

    I want to create array of array shapes. That is the reason why my question , "rodFillBBoxWithRects " with elemetsX & elementsY will do this job in single step. I also proceeded with two step procedure of  rodFillBBoxWithRects and mosaic of it. 

    My plan is to treat base array as pcell with these parameters ?layer ,?fillBBox ?width ?length ?spaceX ?spaceY etc . Once question on it, Can I pass "list" as a pcell input for '?fillBBox'?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to harisps

    OK, in that case you can't do it with a single step.

    There isn't really great support for list CDF parameters (for example) so you probably would be better off having four parameters for the lower left and upper right x and y coordinates. Or making a string parameter for the bBox and then converting it to a list within the pcell (e.g. using linereadstring).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harisps
    harisps over 6 years ago in reply to Andrew Beckett

    Thanks a lot Andrew for your firm responses

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harisps
    harisps over 6 years ago in reply to Andrew Beckett

    Hi Andrew,

         The logic to generate array of arrayed shapes is working perfectly. In order to achieve this, I have used a pcell code with rodFillBBoxWithRects and dbCreateParamSimpleMosaic to place it in an array. Now, I'm trying to enhance the same procedure by embedding mosaic functionality in the pcell code itself.  My basic question is, how to create pcells with mosaic ? I can't able to find much documentation on it in web. Can you please point me to any such examples or documentations? 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to harisps

    I'm not really sure what you're asking, because you appear to have answered the question within your question. To create pcells with mosaics, you use dbCreateParamSimpeMosaic in the code, and it sounds as if you've done that already. So I don't know what extra it is that you need to know?

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • harisps
    harisps over 6 years ago in reply to Andrew Beckett

    Ultimately my question is, whether I can make pcell with mosaics and what sort of definitions/logic need to present in the pcell code to enable mosaic  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to harisps

    That doesn't really help - you're just stating the same thing again. You just need to call the function dbCreateParamSimpleMosaic or dbCreateParamSimpleMosaicByMasterName from within the pcell code - but you already know that from your earlier statement.

    So what are you actually trying to do? This whole thread has been confusing all the way through, I'm afraid. I still don't feel any the wiser as to what you're trying to do or why you are struggling to do it...

    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