• 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. How can I combine Multipart Path from several .il files...

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 125
  • Views 11152
  • 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

How can I combine Multipart Path from several .il files?

delgsy
delgsy over 3 years ago

There is this big guard ring that consists of 5 types of smaller guard ring.
I have made 5 .il files and they work individually.
I prefer not to apply them one by one every time I need to create the big guard ring.

One thing that I tried is to put the below script into one .il file and execute the file.
It just loads the individual files, but it does not work as expected, obviously.
load("guard_ring_1.il")
load("guard_ring_2.il")
load("guard_ring_3.il")
load("guard_ring_4.il")
load("guard_ring_5.il")

Is there a way to do this?

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

    I'm not sure why it's obvious that this wouldn't work but perhaps that's because my ESP capability is in for repair and so I have no idea what your code is actually doing! I don't think anyone will be able to answer this without having some clue as to what's in your guard_ring_N.il files.

    Andrew

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

    I'm not sure why it's obvious that this wouldn't work but perhaps that's because my ESP capability is in for repair and so I have no idea what your code is actually doing! I don't think anyone will be able to answer this without having some clue as to what's in your guard_ring_N.il files.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • delgsy
    delgsy over 3 years ago in reply to Andrew Beckett

    One of the smaller guard ring is like this, the other ones are modification of it using different layer(s) and sizes. I created all of them from Multipart Path.

    Here is one of the examples. This consists of only 1 layer.

    prog((tech techLibName techFileName)
    techLibName = "tech_name"
    techFileName = "tech.db"
    tech = techOpenTechFile(techLibName techFileName "r")
    if(tech==nil then
    return(nil)
    )
    ;The template name is : my_template

    leDefineMPPTemplate(
    ?techId tech
    ?name "GR_JT_2u_separation"
    ?layer list("JT" "drawing")
    ?width 2.000000
    ?choppable t
    ?endType "truncate"
    ?beginExt 0.000000
    ?endExt 0.000000
    ?justification "center"
    ?offset 0.000000
    ) ; end of leDefineMPPTemplate procedure
    ) ; end of prog in ASCII file


    This is the big guard ring that I mentioned earlier.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to delgsy

    OK, so those just define the templates. What's the problem with loading several files - surely it will just define all the templates?

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • delgsy
    delgsy over 3 years ago in reply to Andrew Beckett

    Yes, that only loads all the 6 templates.
    Excuse me for not being more clear.
    With these templates I need to create smaller guard ring multiple times in order to create the big guard ring.
    I upload the big guard ring in previous reply.

    What I am trying to do is creating the big guard ring in smallest number of steps.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to delgsy

    You either need to come up with a more complex template that includes all these rings, to write some SKILL code that creates the multi-part path as you wish, or create a fluid guard ring PCell (easiest with PCell Designer) that has all the flexibility you need. You're not going to achieve that just by loading several templates.

    Andrew 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • delgsy
    delgsy over 3 years ago in reply to Andrew Beckett

    Hi Andrew,
    What is the the name of licence for Pcell Designer?
    I just want to make sure if I have it.
    From here, I got some info about Pcell Designer. I checked on CIW-->Tools and did not find Pcell Designer.
    I checked also in CIW-->Options-->Licence, there is no names resembling Pcell Designer.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to delgsy

    It's unlikely you have a license without having installed it - it's a separate (very small) installation (the PCD25 release on downloads.cadence.com ) which is then loaded via your .cdsinit. The license doesn't show up in the license UI, but if you look in your license file it would show the feature "Pcell_Designer". 

    You should contact your account manager/team at Cadence as we normally would have a specific discussion about how best to use the PCell Designer technology.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • delgsy
    delgsy over 3 years ago in reply to Andrew Beckett

    Hi Andrew,

    Is there SKILL code/command to automate the MPP Guard Ring creation? I cannot find it in the SKILL reference doc.
    It actually works well but I need to select instance and shift+G multiple times.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to delgsy

    I don't have anything to do the wrapping part (although that's potentially not that difficult if you can compute the bBox of the objects or maybe the bBox of a particular layer within the instances to compute the bounding box (maybe with some over-sizing to allow margins) and then use Can I create a Multi Part Path in SKILL based on a technology file template? to create the MPP based on a template using SKILL.

    Andrew

    • Cancel
    • Vote Up +1 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