• 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. Hierarchically Layer generation

Stats

  • Locked Locked
  • Replies 25
  • Subscribers 146
  • Views 22727
  • 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

Hierarchically Layer generation

gparasiliti
gparasiliti over 14 years ago

Hi,

I need to generate a layer starting from other layers placed hierarchicaly in my layout, I used "layer generation" from layout menu but it works only in the cellview, I tried using skill commands but I don't know how I can get all layers from the instances placed in my cellview, off course my layout has many pcell placed.

Grazie,

Giuseppe

  • Cancel
  • Quek
    Quek over 14 years ago

    Hi Guiseppe

    You can use the skillscript in COS solution 11237840 by Lawrence. : )


    Best regards
    Quek

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 14 years ago

    Hi Giuseppe,

    Darn, Quek beat me to it!  Yes,  I wrote Solution 11237840 for exactly this reason, it looks like the built in Layer Generation but it works across hierarchy levels.

    Good luck, I hope that it does what you need!

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 14 years ago

    Haha...I like to give out this solution because it is really good. : )

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

    There's also the rteGeom* (e.g rteGeomOr) functions which are available in IC61 releases (after IC612, I think). These require Virtuoso Layout Suite GXL, but are a useful (and fast) way of doing full-hierarchy logical operations.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Zach
    Zach over 14 years ago

    I have around 2000 shapes throughout 50 cells that I'm trying to do logic on.  It's been going for 30 minutes now.  How long should be expected for this to run?  Should I go make a sandwich?  I'm on an UltraSparc IIIi at 1.6GHz.  Thanks.

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

    It might help if you:

    1. Stated the version of the software you're using
    2. Explained what functions you are using? There are several approaches you might be using
    3. More details of what "logic" you're doing.
    4. Actually used some recent hardware (UltraSparc IIIi is probably a good 7 years old, and not exactly state of the art in terms of speed)
    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Zach
    Zach over 14 years ago

    1. It seems obvious from the context of this thread that I am using IC5.1.41.  That is the only version that CCShierLayerOps.il will run on. 

    2. What functions I am using?  I downloaded and installed CCShierLayerOps.il from the link provided above.  I am trying to use  CCShierLayerOps.il.

    3. Does it really matter what kind of logic is being used?  It shouldn't, but just in case, I am doing: Active AND NOT Pplus == Nplus.

    4. I wasn't bragging about my UltraSparc IIIi.  I know there are faster processors.  I only mentioned it because I figured that whomever answered would have said 'it might help if you said what processor you are using'.

    5. The one thing that I forgot to say and that I thought for certain you would ask is the depth of hierarchy.  My DOH is 8.

    6. By the way, after 6 hours this got no where and I had to kill it.   I was hoping someone could have said 'yeah, that's going to take 20+ hours'.  Then I can plan accordingly.

    Regards, Zach

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Zach
    Zach over 14 years ago

    My previous question can be neglected.  I gave it 6 hours, turns out it needed 7.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 14 years ago

     Hi Zach,

    Just to address some of the points:

    1) This code can be used with IC61x (I just tried it, it worked as I expected), even though it was written and tested with the IC5141 release.

    2) CCShierLayerOps.il is not a function, it is the file that contains functions such as CCShiHierLayerOps(), CCShierLayerOps() and others.

    3) It might do, because, as Andrew pointed out, there might be an alternative approach that turns out to be more efficient.

    4) I've not seen much discussion about hardware used on this forum, but it is a relevant question - if the processor is a recent multi-core, versus, say, an older processor architecture.

    5) Design complexity might be more of a factor than hierarchy depth, but it is difficult to say, although I wrote the code, I did not test it under a large array of possible scenarios and designs.  Unlike Cadence R&D I do not have any regression tests or data at my disposal.

    6) Since the code is generic, but the operation of it is very design dependent, it is highly unlikely that anyone reading the forum would have an idea as to how long it might take to run this code on your design, on your hardware etc.

     

    I am glad that you were able to get the code to work as you needed.  As noted above, I am the author of that particular piece of SKILL code, so I have a vested interest in it; I wrote it to perform a task that was not available from the virtuoso menus. I hope that you and others continue to find it helpful.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 14 years ago

    Hi Zach

    It is great to hear that you have obtained the results. : )  Just a minor correction to make, the script also works in IC61x. I have just confirmed that it is working great on the latest version of IC614-510.

    Best regards
    Quek

    • 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