The latest version, 4.1.14, has had work done on the extraction commands. In addition to 2 new extraction commands – extractDio() and extractBjt() – the extractMOS() command has been enhanced to support the use of pcells for the extracted MOS instances, such that the recognition region shapes can be passed to the pcell as a point list.
This has meant some extensive changes to the pcell code so that Python lists can be passed as arguments to pcells. Any pcell can now have an argument that is a python list; the current restriction is that this list is a list of points i.e. a variable length list of lists of length 2. This is probably not a big restriction as this is the most useful list format.
A new Python function, ui().loadPCell('libName', 'pcellName') has been added to make it easier to script automated pcell loading.
At some point the other extract… commands will be modified to handle pcells.
The extractMOS() command has also had some bugfixes related to handling of S/D area for multifingered transistors. If a S/D diffusion area is shared between 2 transistors, each transistor gets half the S/D area assigned to it.
The export CDL command has had various bugfixes and now supports pcell devices correctly. As ever, if you find a bug, let us know.