CDxCMOSEBES.cm
last modified by McCreight, July 9, 1985 5:44:00 pm PDT
CDCmos
run CornerStitchingImpl
run EBESMaskImpl
← %EBESMaskImpl.stripesPerClump ← 3 -- package default is 10
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESNmPerLambda, val: NEW[INT ← 1000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESNmPerEBESPixel, val: NEW[INT ← 500]]
.. the die size
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESXNmPerDie, val: NEW[INT ← 8130000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESYNmPerDie, val: NEW[INT ← 9145000]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESActiveToScribeCenter, val: NEW[INT ← 105000 -- active area 25 um inside metal 2 scribe ring --]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESNmMaxBloat, val: NEW[INT ← 10000]]
.. CMOS masks:
thin oxide or diffusion = 10
← &thinOxScribe ← NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 0, lineWidth: 110000 -- nm --]]
← &thinOx ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "10", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.ndif, deltaDiameter: 1000 -- nm --]], NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.pdif, deltaDiameter: 1000 -- nm --]], NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.pwelCont, deltaDiameter: 1000 -- nm --]], NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.nwelCont, deltaDiameter: 1000 -- nm --]], &thinOxScribe]]]
nwell = 21
← &nWell ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "21", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.nwel, deltaDiameter: -8000 -- nm --]], &thinOxScribe]]]
pwell = 22
← &pWell ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "22", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.nwel, deltaDiameter: -2000 -- nm --]], &thinOxScribe]]]
nimp = 23
← &impScribe ← NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 0, lineWidth: 106000 -- nm --]]
← &ndifs ← LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.ndif]], NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.nwelCont]]]
← &pdifs ← LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.pdif]], NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.pwelCont]]]
← &nImp ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "23", cover: LIST[$OR, LIST[$RestrictNImplant, NEW[INT ← 1500 -- maxRadialExtension, nm -- ], &ndifs, &pdifs], &impScribe]]]
pimp = 24
← &pImp ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "24", cover: LIST[$OR, LIST[$RestrictNImplant, NEW[INT ← 1500 -- maxRadialExtension, nm -- ], &pdifs, &ndifs], &impScribe]]]
buried = 27
← &buried ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "27", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.bur, deltaDiameter: 0 -- nm --]], &impScribe]]]
poly = 30
← &poly ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "30", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.pol, deltaDiameter: 0 -- nm --]], NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 54000, lineWidth: 18000 -- nm --]]]]]
cut = 40
← &cut ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "40", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.cut, deltaDiameter: 0 -- nm --]], &impScribe]]]
metal = 50
← &metal ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "50", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.met, deltaDiameter: 0 -- nm --]], NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 59000, lineWidth: 20000 -- nm --]]]]]
glass = 60
← &glass ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "60", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.ovg, deltaDiameter: 0 -- nm --]], NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 0, lineWidth: 80000 -- nm --]]]]]
cut2 = 70
← &cut2 ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "70", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.cut2, deltaDiameter: 0 -- nm --]], NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 0, lineWidth: 80000 -- nm --]]]]]
metal2 = 80
← &metal2 ← NEW[%EBESMaskImpl.MaskSpecRec ← [name: "80", cover: LIST[$OR, NEW[%EBESMaskImpl.CDLayerRec ← [source: %CMos.met2, deltaDiameter: 0 -- nm --]], NEW[%EBESMaskImpl.ScribeRec ← [dieEdgeToLineCenter: 75000, lineWidth: 10000 -- nm --]]]]]
← %CDProperties.PutPropOnTechnology[onto: %CMos.cmos, prop: $CDxEBESMaskSetSpec, val: LIST[&thinOx, &nWell, &pWell, &nImp, &pImp, -- &buried, -- &poly, &cut, &metal, &glass, &cut2, &metal2]]
.. the name of the die (until I figure out how to get it into the design)
← %CDProperties.PutPropOnAtom[$EBESMask, $CDxEBESMaskSetName, "MPC55AT"]