Hello,
Situation:
I have created a PCell that generates a (transformer) layout based on the parameters.
All custom procedures are included (as lambda functions) inside the PCell body.
Currently, technology related information (which layers to use, etc.) is embedded in the body, the parameter default values (layer/metalstack options) as well as the cdf default values.
I would like to extract that information and move it into a dedicated file or at least a single place in the file. Thereby, it should be much easier porting the PCell to a different technology.
Furthermore, I would like to use some of the included functions/code in a different PCell. Currently, I just duplicate the code, but that is very annoying for code maintenance.
Issue:
If I move the information or these functions outside the PCell definition into separate procedures, it only works as long as they are loaded. Loading them in the CIW does not work for streaming out (for DRC etc.).
Do you have any idea how I could:
a) Copy/Attach already defined code to the PCell.
How this is meant:
I define a procedure/lambda function and somehow pass it to pcDefinePCell so it can be used in the body without loading the procedure again.
OR if this does not work
b) Specify a script that is always loaded when the PCell is evaluated
There is .cdsinit, but as far as I know that is only for the graphical tools.
There is libInit.il included in the PDK, but I don't think me (or the technology manager) can/should modify it.
Thank you very much for any input.
Using Virtuoso ICADV12.2