Home > Community > Forums > Custom IC SKILL > problem with figs~>lpps~>layerName

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 problem with figs~>lpps~>layerName 

Last post Mon, May 4 2009 5:39 AM by ToMWUT. 21 replies.
Started by ToMWUT 20 Apr 2009 03:40 PM. Topic has 21 replies and 5850 views
Page 1 of 2 (22 items) 1 2 Next >
Sort Posts:
  • Mon, Apr 20 2009 3:40 PM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    problem with figs~>lpps~>layerName Reply
    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?
    • Post Points: 20
  • Mon, Apr 20 2009 3:57 PM

    • skillUser
    • Top 10 Contributor
    • Joined on Fri, Sep 19 2008
    • Austin, TX
    • Posts 2,604
    • Points 16,180
    Re: problem with figs~>lpps~>layerName Reply

     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.

     

    • Post Points: 20
  • Tue, Apr 21 2009 12:13 AM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply
    Thank you Lawrence for your reply.

    I agree to you first suggestion to use foreach loop rather than for loop. But I still got nil's when I use code:

    print(cv~>nets~>figs~>lpp)

    Is there any tutorial which could be helpful for me, where I could find information about the object data base, so I could read more about figs~>lpp object?

    Any more ideas? Thanks :)
    • Post Points: 20
  • Tue, Apr 21 2009 3:04 AM

    Re: problem with figs~>lpps~>layerName Reply

    Not sure if you really need to go via the nets or not. As for tutorial, I'm not sure there is one - although this is covered quite well in the standard Cadence SKILL Programming course - see the "Support & Training" link at the top of this web site...

    You can also read the "Design Framework II SKILL Functions" manual - this covers the database in some detail.

    I've changed your code a bit, to show some slightly different information - using foreach() as Lawrence suggested (you shouldn't use nth() to access lists in a loop, as lists are sequentially accessed, rather than random access, so it can be slow with long lists). You may find this code useful:

    cv=geGetWindowCellView()
    printf("\nALL LPPS (Layer purpose pair) \n")
    
    ; Here I want to check what LPPS I have in my design
    ;
    foreach(lpp cv~>lpps
        printf( "LPP name: %s purpose %s \n", lpp~>layerName lpp~>purpose)
    );foreach
    
    printf("\n Figures belongs to LPPS \n")
    ;print(cv~>nets~>figs~>lpps~>layerName)
    pprint(cv~>shapes~>lpp)
    newline()
    
    foreach(lpp cv~>lpps
        printf( "LPP name: %s purpose %s \n", lpp~>layerName lpp~>purpose)
        printf( "Shapes on this lpp are: \n")
    ;; could look at whatever you want.
        pprint(lpp~>shapes~>objType)
        newline()
    )
    

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Apr 21 2009 3:51 AM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

    Thank you Andrew for your replay,

     

    In fact I will check if this code will give me any results:

    pprint(lpp~>shapes~>objType)

     

    But the problem is that I already have a SKILL application whitch uses and I have to use this objects

    cv~>nets~>figs~>lpp

     

    The quiestion still remains the same: why while listing all LPPS from CellView, there is no problem, but when I use: cv~>nets~>figs~>lpp the result is nils?

     

    Thanks,

    ToM

    • Post Points: 20
  • Tue, Apr 21 2009 5:26 AM

    Re: problem with figs~>lpps~>layerName Reply

    My guess is that you don't have any connectivity in your layout database - if it's just shapes, then there may not be any connectivity, or there may be connectivity, but no routing on those nets - so no figures on the nets. Very hard to tell without knowing what your data looks like.

    Easiest to break down using cv~>nets then cv~>nets~>figs (just type it in the CIW to see what you get).

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Apr 21 2009 10:04 AM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

    Thanks once again Andrew,

    You where right about two things: first of all you're right that you don't have any data about my design, so I've decided to put a screen shot with it, so you can have a look.

    http://home.elka.pw.edu.pl/~tscislo/layout.jpg

    This is a very simple design which was extracted from layout using Assura extraction tool. This is a NAND cell.

    The second thing about which you were right was that I have a problem with routing, because when I execute:

    cv~>nets~>figs I get nils

    But the problem after the extraction process is that you can actually see the nets on the layout, so I have no idea why the Cadence data base has no information about the figures...

    Thanks,

    ToM.

     
    • Post Points: 5
  • Thu, Apr 23 2009 10:21 AM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

     So, no ideas huh guys?

     ToM

    • Post Points: 20
  • Thu, Apr 23 2009 10:27 AM

    • dmay
    • Top 25 Contributor
    • Joined on Thu, Jul 17 2008
    • Allen, TX
    • Posts 396
    • Points 7,460
    Re: problem with figs~>lpps~>layerName Reply

    I'm not sure what you mean by "seeing nets on the layout". Cadence has net objects and figure objects (paths, rectangles, etc) but if the net information is not attached to the figs, then cv~>nets~>figs can return nil. Select a shape in your layout and see if it has "connectivity" by querying it. If there is no connectivity on the shape, then the shape doesn't have net information.

     Derek

    • Post Points: 20
  • Thu, Apr 23 2009 11:15 AM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

    Thank you for your reply Derek,


    I've checked what you've suggested and it seams that you were right, when put sth like this in CIW:

    cv~>shapes~>net the result was also nils. But I have shapes in my design, because when i put:

    cv~>shapes~>isShape I get true as a result...


    However I still don't have any idea why, when the connectivity on the layout seams to be ok, Cadence Data Base... has such strange data about my design...


    I remind you that, SKILL reports that I have actually nets in design using

    cv~>nets


    Thanks,

    ToM

    • Post Points: 20
  • Thu, Apr 23 2009 12:08 PM

    Re: problem with figs~>lpps~>layerName Reply

    ToM.

    Apologies for not replying sooner - I've been travelling visiting customers and there are only a finite number of hours in the day ;-(

    Anyway, if this view was created by Assura extraction, it's possible that there was no saveInterconnect() in the rules and perhaps just copyGraphics() statements. Or it may be because you've done RC extraction, and so there are no actual shapes left (all the shapes have become resistors - I've not checked to see what it looks like as I'm in an airport right now).

    Anyway, it's not really clear what you're actually trying to check, so perhaps if we knew that we could make other suggestions (although I think I already did that earlier?).

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Apr 23 2009 3:34 PM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply
    Once again thank you Andrew,

    I think that we are getting closer to the solution of my problem. Because in fact I did the extraction: “R only” with Assura. I also thought that this may cause problems, but after reading the Assura manual I was unable to do the extraction without R… Is it possible?  Maybe only C extraction would help?

    Could it really be the reason why I have problems mentioned in earlier posts?

    Thanks,

    ToM
    • Post Points: 20
  • Fri, Apr 24 2009 3:20 AM

    Re: problem with figs~>lpps~>layerName Reply

    I've checked in various cases I have, and if R, RC, or C only extractions are done, I always have figs on the nets.

    But as I said, it might be how the extract rules are written in  your case. It's hard to tell without seeing the data. Can you log this via your normal customer support channel into Cadence, as it would probably need more detailed analysis than can be done in a public forum such as this.

    I'm still not entirely sure what you're actually trying to check on the extracted view? (You didn't say that in your previous post)

    Regards,

    Andrew.

    • Post Points: 20
  • Fri, Apr 24 2009 2:25 PM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

    Andrew,

    Thank you once again for your suggestions.

    I don't know really what do you mean by: “normal customer support channel into Cadence”... Because I'm not owner of a Cadence software I only use it at my University. Could you put here a link, please?

    The second thing is about the extraction rules in Assura. The problem is that I don't know what data I could put here to make the things a little more clearer. Of course I assume that by extraction rules you meant something which is set in here:

    http://home.elka.pw.edu.pl/~tscislo/rcx.jpg

    So I've found this directory in my file system but it has lots of files and I don't really know where to look.

    You also asked me what I'm trying to check on my extracted view. As I said earlier – I have an application in SKILL which uses extracted views and object cv~>nets~>figs to do some calculations, but in this case the application does not work because there are no figs on nets...

    Thanks,

    ToM

    • Post Points: 5
  • Sun, Apr 26 2009 12:51 PM

    • ToMWUT
    • Top 150 Contributor
    • Joined on Mon, Apr 20 2009
    • Warsaw, Poland
    • Posts 48
    • Points 810
    Re: problem with figs~>lpps~>layerName Reply

    Any suggestions guys :)

     

    ToM

    • Post Points: 20
Page 1 of 2 (22 items) 1 2 Next >
Sort Posts:
Started by ToMWUT at 20 Apr 2009 03:40 PM. Topic has 21 replies.