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.
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.
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. ThanksMaria.
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.
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
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.