Let me try to be more explicit:
We have created a layout migration flow which does the following:
1. Migrates cdb2oa layouts
2. Scans all the via instances and extracts their parameters i.e.: rows, cols, enclosures, space etc.
3. Based on a via mapping table which maps the old viaDefs to the new ones, the script recreates the vias with dbCreateVia and assigns to them the extracted in step 2 properties. It is then erasing the old via instances.
4. It re-compiles hierarchically the pcells.
We have pcells which can instantiate or not several vias of the the available ones in the technology's viaDefs, based on a metal stack pcell variable.
The issue is that these pcells are created in a different technology in which the vias where named differently. i.e the name of via 1 was "via1" in the previous technology while in the new one it is "V1". By replacing all "via1" by "V1" in step 3 renders our pcells non functional. We must recreate them from scratch.
We were wondering if we could change the pcell definitions before recompiling them to account for the new via naming.
We would like to avoid dumping in a text file the pcell definitions, parse them and reload them. We would prefer the rename the vias directly in the pcell db. Are there functions doing this?