StanfordCmosCif.cm
Copyright © 1985 by Xerox Corporation. All rights reserved.
by Jim Gasbarro March 12, 1985 12:38:00 pm PST
Last Edited by: Gasbarro, May 8, 1985 5:57:09 pm PDT
CDCmos
run ReadCifPackage
← %CDProperties.PutPropOnTechnology[onto: %CD.FetchTechnology[$cmos], prop: $CDxCIFName, val: NIL]
← %CDProperties.PutPropOnLayer[onto: %CMos.met2, prop: $CDxCIFName, val: "CM2"]
← %CDProperties.PutPropOnLayer[onto: %CMos.met, prop: $CDxCIFName, val: "CM1"]
← %CDProperties.PutPropOnLayer[onto: %CMos.pol, prop: $CDxCIFName, val: "CP"]
← %CDProperties.PutPropOnLayer[onto: %CMos.ndif, prop: $CDxCIFName, val: "CND"]
← %CDProperties.PutPropOnLayer[onto: %CMos.pdif, prop: $CDxCIFName, val: "CPD"]
← %CDProperties.PutPropOnLayer[onto: %CMos.pwelCont, prop: $CDxCIFName, val: "CPP"]
← %CDProperties.PutPropOnLayer[onto: %CMos.nwelCont, prop: $CDxCIFName, val: "CNP"]
← %CDProperties.PutPropOnLayer[onto: %CMos.snerd, prop: $CDxCIFName, val: "CA"]
← %CDProperties.PutPropOnLayer[onto: %CMos.cut2, prop: $CDxCIFName, val: "CV"]
← %CDProperties.PutPropOnLayer[onto: %CMos.cut, prop: $CDxCIFName, val: "CC"]
← %CDProperties.PutPropOnLayer[onto: %CMos.nwel, prop: $CDxCIFName, val: "CNW"]
← %CDProperties.PutPropOnLayer[onto: %CMos.pwel, prop: $CDxCIFName, val: "CPW"]
← %CDProperties.PutPropOnLayer[onto: %CMos.ovg, prop: $CDxCIFName, val: "CG"]
← %CDProperties.PutPropOnTechnology[onto: %CD.FetchTechnology[$cmos], prop: $CDxCIFName, val: "CMOS file for reading Stanford CIF"]
ReadCif compensation example:
← %CDProperties.PutPropOnLayer[onto: %CMos.nwel, prop: $CDxCIFName, val: NEW[%CIFIntPhase2.CIFDestRec ← [cifDest: "CNW", deltaRadius: -4000 -- nm --]]]
This line would bloat all n-well rectangles by 4 microns. The sign of deltaRadius corresponds to the tranformation applied when writing the Cif file. Thus, BrandyCIFter would use this property to shrink by 4u while ReadCif bloats by 4u. ReadCif only performs "simple-minded" shrinks, so it is possible that you will end up with disjoint rectangles that were originally connected. Sorry.