Saturday, July 05, 2008     Register | Login | Search | Contact Us
     
Home
Forums
Subject: loading pcell callbacks
Posting to forums is available to community members only.
Login or Register
Rate this topic:
   
Author Messages
mims
Posts: 6
Online: User is Offline
6/04/2007 11:41 PM  
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
adbeckett
Posts: 242
Online: User is Offline
6/05/2007 12:28 AM  
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.
mims
Posts: 6
Online: User is Offline
6/05/2007 1:12 AM  
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.
adbeckett
Posts: 242
Online: User is Offline
6/05/2007 1:27 AM  
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.
prahladh
Posts: 11
Online: User is Offline
5/15/2008 1:46 AM  
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
adbeckett
Posts: 242
Online: User is Offline
5/15/2008 7:04 AM  
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.
Posting to forums is available to community members only.
Login or Register

Forums > Custom IC > Shared code - SKILL > loading pcell callbacks


ActiveForums 3.6
     
Copyright 2006 Cadence Design Systems, Inc.