How to Query Base Device in Wrapper


Customer has wrapper subckts that enclose actual primitive devices inside. Sometimes, the wrapper name is being used, and other times / other software version, the inner primitive device name is used. Let's assume a netlist block needed to be check. If there are several transistors such as NM, NM1, NM2 and so on regarding Case2), v3.62 may recognize them as MTEST, MTEST1, MTEST2 and so on. Therefore, she cannot check and apply their design rule for their real transistors (NM, NM1, NM2 and so on).


I think in this case it should be no problem... She can check every instance, like this:

{codecitation} cscan instances { set basicDevice [ cdb inst %i getAttr BaseDevice ] if { $basicDevice eq "NM2" } { puts "%i is NM2, must be checked for ___" } elseif { $basicDevice eq "NM1" } { puts "%i is NM1, check for ___ is optional" } } {/codecitation}