Home > Community > Forums > Custom IC SKILL > loading pcell callbacks

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: *

 loading pcell callbacks 

Last post Mon, Jun 4 2007 11:41 PM by archive. 5 replies.
Started by archive 04 Jun 2007 11:41 PM. Topic has 5 replies and 2310 views
Page 1 of 1 (6 items)
Sort Posts:
  • Mon, Jun 4 2007 11:41 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    loading pcell callbacks Reply

    Hi all,

    Is there a way to load pcell callbacks for outer-Cadence environments (i.e Virtuoso Custom Router, Assura LVS, etc.), other than including a libInit.il file in the library where the pcells reside?

    I was expecting that compiling the code into a context will do the work, but it doesn't seem to.

    Thanks


    Originally posted in cdnusers.org by mims
    • Post Points: 0
  • Tue, Jun 5 2007 12:28 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: loading pcell callbacks Reply

    I assume by "pcell callbacks" you mean "functions used within pcells" (there's no such thing as a pcell callback).

    Any user-defined functions referenced by a pcell _should_ be loaded within the library's libInit.il ; that's the right way to do it. Of course, you may choose to compile the code into a context file and then load that from the library's libInit.il if you prefer.

    This approach has the advantage of working with all interfaces. Any other approach would require something different for each tool - and some don't really have a SKILL startup file. So the libInit.il is the universal way of doing this.

    Why don't you want to do this within the libInit.il? That's what it's for, after all!

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Post Points: 0
  • Tue, Jun 5 2007 1:12 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: loading pcell callbacks Reply

    I was just thinking what happens if the libInit.il gets lost somehow... Because the code is loaded in Cadence and the cdf callbacks (thanks about that) are defined in Cadence, but the only way to see that the file is missing if it is is that the other tools get broken.

    Thanks
    Maria.


    Originally posted in cdnusers.org by mims
    • Post Points: 0
  • Tue, Jun 5 2007 1:27 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: loading pcell callbacks Reply

    Well, don't load the code and cdf callbacks in the .cdsinit; load them in the libInit.il. There is no point loading them from the .cdsinit if they're loaded from the libInit.il - they'll just get loaded twice.

    That way if the libInit.il goes missing (not sure why that would happen), it will break everywhere... (DFII included).

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Post Points: 0
  • Thu, May 15 2008 1:46 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: loading pcell callbacks Reply

    Is libInit.il for loading procedures only or can we do anything else with it.
    I want to load some other display.drf using drLoadDrf command. but this doesnt seem to work.
    I simply placed drLoadDrf(file) in libInit.il


    Originally posted in cdnusers.org by prahladh
    • Post Points: 0
  • Thu, May 15 2008 7:04 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,950
    RE: loading pcell callbacks Reply

    You should be able to do this. You need to be careful not to use functions which are not "pcell safe" because otherwise you can have problems with stream out or Assura (for example) which don't have access to the full set of DFII functions.

    But doing:

    when(isCallable('drLoadDrf)
    drLoadDrf(file)
    )

    should work - you need to ensure that the file path is correct of course. Also, the libInit.il only gets loaded once per session remember, so if it has already been loaded, it won't get loaded again...

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Post Points: 0
Page 1 of 1 (6 items)
Sort Posts:
Started by archive at 04 Jun 2007 11:41 PM. Topic has 5 replies.