• 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. Command to return the Layer type in SKILL

Stats

  • Locked Locked
  • Replies 21
  • Subscribers 151
  • Views 28064
  • 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

Command to return the Layer type in SKILL

MANJ
MANJ over 14 years ago

 Hi all,

 I was trying to get LayerType on getting the layer selected manually. I wanted the features of the selected Layer like "Drawing" and "type" etc ..thanks in advance

  • Cancel
  • Danilo P
    Danilo P over 14 years ago

    Hi Manj,

    If I got properly your question, you should use the command: leGetEntryLayer()

    Additionally, if you would like to extract additional information stored in your techlib about that layer, you could do something like that:

    layer = leGetEntryLayer()

    tfId = techGetTechFile(ddGetObj("my_techlib"))   techGetLayerFunction( tfId layer)   techGetSpacingRule(tfId "minSpacing" layer )

    Of course the latest command can be replaced by different "techGetxxxxxxxxxx" skill commands.

    Hope it helps.

    Danilo

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

    Hi Danilo,

    I appreciate ur reply but what i exactly wanted is a Function which returns Layer Name and Layer Purpose when the metal is selected  manually. thanks in advance. 

     

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

    Selected where? In the LSW? In the Layout?

    If in the LSW, the function that Danilo gave makes sense.

    If in the layout, probably geGetSelSet()~>layerName and geGetSelSet()~>purpose will each give you a of the layer names for all the selected items. If only interested in the first, you could use car(geGetSelSet())~>layerName (or ~>purpose).

    Regards,

    Andrew.

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

     hey andrew,

    Thanks this serves my purpose and are there any command/functions which returns all the metal layers when a bBox is selected in the layout with the respective hierarchial cell names. 

     regards,

    MANJ

     

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

    Hi MANJ,

    I'm afraid your question doesn't make a lot of sense.  You say "a bBox is selected" - what does that mean? What do you mean by "hierarchial cell names". Please explain clearly what you actually want, otherwise we just have to guess or offer lots of different possible answers.

    My guess is that you're after something like dbGetOverlaps(), but hard to be sure.

    Regards,

    Andrew.

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

    hi Andrew,

    this code below selects the bbox 

    procedure( trBBoxArea( bBox )
        ll     = lowerLeft( bBox )
        ur     = upperRight( bBox )
        y0     = yCoord( ll )
        y1     = yCoord( ur )
        x0     = xCoord( ll )
        x1     = xCoord( ur )
        ) 

     and is set to a bindkey and when this is done i want the layers(metals and other layers) inside the this bbox to be returned using a SKILL function. 

     

    regards,

    MANJ 

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

    Hi MANJ,

    That does does not select a bbox. It takes a bounding box list, does a little manipulation and returns the x-coordinate of the upper right coordinate of the bounding box. There's no selection involved, and nothing to indicate where the bBox comes from. It also doesn't do what the function name suggests (which comes from our SKILL Language Programming class) and return the area.

    So I still don't understand what you're trying to do. I could guess, but I'm a bit short of time to have to keep guessing...

    Regards,

    Andrew.

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

     hey Andrew,

      Ok I want the layers inside a bbox to be returned using a SKILL function, Is this possible?. 

     

    thanks and regards,

    MANJ    

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

     hey andrew ,

     I was looking for a SKILL function which can return the

    1) list of metal layers inside a bbox

    2) all the coordinates of a polygon  

    3) any code which can convert a polygon to path(if the polygon has the same with through out)

      (** I know there is a function which can convert path to a polygon dbConvertPathToPolygon)  

     

    thanks and regards,

    MANJ 

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

     Hi Manj,

    The answer for 1) is most likely to use dbGetOverlaps() or dbGetTrueOverlaps() as Andrew mentioned earlier in this thread. The output of this would then need to be filtered to remove the shapes on layers that are not metal layers (you could use the setof function for this).

    The answer for 2) can be obtained directly from the polygon shape itself, for example, let's assume that there is one polygon shape selected in the layout:

    
    polyShape = car(geGetSelectedSet())

    polyPoints = polyShape~>points

    I do not have any code to answer 3), but the Turbo Toolbox functions within Virtuoso have a Polygon to Path option.

    I hope that this answers your questions.

    Regards,

    Lawrence.

    • 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