• 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. problem with figs~>lpps~>layerName

Stats

  • Locked Locked
  • Replies 21
  • Subscribers 143
  • Views 9032
  • 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

problem with figs~>lpps~>layerName

ToMWUT
ToMWUT over 16 years ago
Hello,

I have such a problem with my SKILL code and design:

My code looks like this

cv=geGetWindowCellView(window(3))

printf("\nALL LPPS (Layer purpose pair) \n")

; Here I want to check what LPPS I have in my design

;

for( i 0 length(cv~>lpps~>layerName)-1

printf( "LPP name: %s purpose %s \n", nth(i

cv~>lpps~>layerName), nth(i cv~>lpps~>purpose))

);for

printf("\n Figures belongs to LPPS \n")

print(cv~>nets~>figs~>lpps~>layerName)cv=geGetWindowCellView(window(3))

printf("\nALL LPPS (Layer purpose pair) \n")

for( i 0 length(cv~>lpps~>layerName)-1

printf( "LPP name: %s purpose %s \n", nth(i

cv~>lpps~>layerName), nth(i cv~>lpps~>purpose))

);for

; Here I'd like to check if all figs belongs to appropriate LPPS (2)

;

printf("\n Figures belongs to LPPS \n")

print(cv~>nets~>figs~>lpps~>layerName)

The problem is that in (2) I get an empty list (nil)

The result of the above code looks like this:

ALL LPPS (Layer purpose pair)

LPP name: pin purpose drawing

LPP name: device purpose drawing

LPP name: PO1 purpose drawing

LPP name: ME1 purpose drawing

Figures belongs to LPPS

(nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil)

Why is it so? Does anyone have any ideas?
  • Cancel
Parents
  • skillUser
    skillUser over 16 years ago

     Hi,

     First, I strongly recommend that you use foreach instead of the for loops you show, it will be much easier to read and write and will be more efficient too.  For example:

     
    foreach( lpp cv~>lpps
     printf("Name: %s, Purpose: %s\n" lpp~>layerName lpp~>purpose)
    ); foreach

     As to why you get lots of 'nil' in you last section, it is because a figure will not have "lpps", that is a cellview attribute, rather a figure will have "lpp" which is a list of layer and purpose, and not an LPP object (which is what lpps is).

    Hope it helps!

    Lawrence.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • skillUser
    skillUser over 16 years ago

     Hi,

     First, I strongly recommend that you use foreach instead of the for loops you show, it will be much easier to read and write and will be more efficient too.  For example:

     
    foreach( lpp cv~>lpps
     printf("Name: %s, Purpose: %s\n" lpp~>layerName lpp~>purpose)
    ); foreach

     As to why you get lots of 'nil' in you last section, it is because a figure will not have "lpps", that is a cellview attribute, rather a figure will have "lpp" which is a list of layer and purpose, and not an LPP object (which is what lpps is).

    Hope it helps!

    Lawrence.

     

    • 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