Does anyone know how to determine the environment a procedure was called from? There are many ways to call Skill code:Originally posted in cdnusers.org by dmay
icfb, pipo, si, dbAccess, cdsCopyShell, etc.
Is there a way to know whether the Skill is running in icfb, pipo or cdsCopyShell? We have a very elaborate set of pcells and our technology library has a libInit file that takes several seconds to load. This is not a big deal in the Cadence environment since it happpens only once at the start of the session. However, if I call the ccpRename command to rename a lot of cells, I noticed that it spawns a sub-process for each rename and each sub-process calls the libInit.il. To do 100 renames will add 5 seconds of overhead per call. However, in this situation, the libInit.il code isn't even needed. Ideally, I would like the libInit.il code to selectively evaluate certain parts of the code depending on the calling environment. In the case of ccp sub-processes, I would do nothing. In the case of si, I would do a few schematic/netlist related things. In the case of pipo I would do all of the layout pcell things. In icfb, all of the libInit.il would be evaluated.