<> <> CDMEBES _ %CDMEBES.stripesPerClump _ 5; -- package default is 10 _ %CDProperties.PutTechnologyProp[onto: %CMos.cmos, prop: $CDMEBESNmPerLambda, val: NEW[CDMEBES.Nm _ 1000]]; _ &maxBloat _ 10000 -- nm -- <<10 um is an upper bound on the greatest distance the "influence" of a drawn object extends beyond itself>> _ %CDProperties.PutTechnologyProp[onto: %CMos.cmos, prop: $CDMEBESNmMaxBloat, val: NEW[CDMEBES.Nm _ &maxBloat]]; <> <<>> _ &s _ 55000; -- nm -- <> _ &toolingSpec _ Atom.PutPropOnList[NIL, $NWell, NEW[CDMEBES.ToolingSpecRec _ ["26", DK, 500, -500, &s+2000, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Diffusion, NEW[CDMEBES.ToolingSpecRec _ ["10", CL, 250, 750, &s+14000, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $PFieldDope, NEW[CDMEBES.ToolingSpecRec _ ["11", CL, 500, 0, 0, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Polysilicon, NEW[CDMEBES.ToolingSpecRec _ ["40", CL, 250, 250, 8000, &s+10000]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $NPlusImplant, NEW[CDMEBES.ToolingSpecRec _ ["24", CL, 500, 0, 12000, &s+2000]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $PPlusImplant, NEW[CDMEBES.ToolingSpecRec _ ["25", DK, 500, 0, &s+14000, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Contact, NEW[CDMEBES.ToolingSpecRec _ ["50", DK, 250, -250, &s+16000, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Metal1, NEW[CDMEBES.ToolingSpecRec _ ["60", CL, 250, 500, 14000, &s+6000]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Via, NEW[CDMEBES.ToolingSpecRec _ ["51", DK, 250, 0, &s+2000, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $Metal2, NEW[CDMEBES.ToolingSpecRec _ ["61", CL, 500, 500, 0, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $OxidePad, NEW[CDMEBES.ToolingSpecRec _ ["70", DK, 500, 0, &s, 0]]]; _ &toolingSpec _ Atom.PutPropOnList[&toolingSpec, $NitridePad, NEW[CDMEBES.ToolingSpecRec _ ["71", DK, 500, 0, &s-10000, 0]]]; _ %CDProperties.PutTechnologyProp[%CMos.cmos, $CDMEBESToolingSpec, &toolingSpec]; _ %CDProperties.PutTechnologyProp[%CMos.cmos, $CDMEBESActiveToScribeCenter, NEW[CDMEBES.Nm _ 10000-&maxBloat]]; <> <<>> <> <<>> _ &nWell _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $NWell, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwell, deltaDiameter: -3000 -- nm --]]]] _ &diffusion _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Diffusion, cover: LIST[$DeNotch, NEW[CDMEBES.Nm _ 2800 -- diameter of largest space between diffusions that disappears, nm -- ], LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ndif, deltaDiameter: 0 ]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pdif, deltaDiameter: 0]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pwellCont, deltaDiameter: 0]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwellCont, deltaDiameter: 0]]]]]]; _ &pFieldDope _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $PFieldDope, cover: LIST[$DeNotch, NEW[CDMEBES.Nm _ 1600 -- diameter of largest space between pField-doped regions that disappears, nm -- ], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwell, deltaDiameter: 1500 -- nm --]]]]]; _ &polysilicon _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Polysilicon, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pol, deltaDiameter: 0]]]]; _ &nPlusImplant _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $NPlusImplant, cover: LIST[$Enlarge, NEW[CDMEBES.Nm _ -2600 -- diameter of smallest n-doped region that disappears, nm -- ], LIST[$Enlarge, NEW[CDMEBES.Nm _ 2600+3000 -- nm, dia --], LIST[$ANDNOT, LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pdif, deltaDiameter: 0]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pwellCont, deltaDiameter: 0]]], LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ndif, deltaDiameter: 3000 -- nm --]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwellCont, deltaDiameter: 3000 -- nm --]]]]]]]]; << The numbers above derive from a conversation 17 June 85 with Wes Erck of VTI, who claimed that the "current" specification for layer 24 (n+ implant) is D24 = (-(CND @ 1.5) * CPD) @ 1.5, denotch threshold 2.6.>> _ &pPlusImplant _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $PPlusImplant, cover: LIST[$Enlarge, NEW[CDMEBES.Nm _ -1600 -- diameter of smallest non-p-doped region that disappears, nm -- ], LIST[$Enlarge, NEW[CDMEBES.Nm _ 1600+2000 -- nm, dia --], LIST[$ANDNOT, LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pdif, deltaDiameter: 0]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pwellCont, deltaDiameter: 0]]], LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ndif, deltaDiameter: 2000 -- nm --]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwellCont, deltaDiameter: 2000 -- nm --]]]]]]]]; _ &contact _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Contact, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.cut, deltaDiameter: 0]]]]; _ &metal1 _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Metal1, cover: LIST[$DeNotch, NEW[CDMEBES.Nm _ 1000 -- diameter of largest space between metal regions that disappears, nm -- ], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.met, deltaDiameter: 0]]]]]; _ &via _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Via, cover: LIST[$OR, LIST[$AND, LIST[$OR, NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ndif, deltaDiameter: 500 -- nm -- ]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pdif, deltaDiameter: 500 -- nm --]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.pwellCont, deltaDiameter: 500 -- nm --]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.nwellCont, deltaDiameter: 500 -- nm --]]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.cut2, deltaDiameter: 500 -- nm --]]], NEW[%CDMEBES.CDLayerRec _ [source: %CMos.cut2, deltaDiameter: 0]]]]]; << VTI actually uses the more complex rule that the via mask is unadjusted except where there is an opening whose area is no larger than 4 square microns atop diffusion. In that case the opening is enlarged by 0.25 microns per side.>> _ &metal2 _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $Metal2, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.met2, deltaDiameter: 0]]]]; _ &oxidePad _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $OxidePad, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ovg, deltaDiameter: -4000 -- nm --]]]]; _ &nitridePad _ NEW[%CDMEBES.DerivationMaskSpecRec _ [maskId: $NitridePad, cover: NEW[%CDMEBES.CDLayerRec _ [source: %CMos.ovg, deltaDiameter: -10000 -- nm --]]]]; _ %CDProperties.PutTechnologyProp[onto: %CMos.cmos, prop: $CDMEBESDerivationSpec, val: LIST[ &nWell, &diffusion, &pFieldDope, &polysilicon, &nPlusImplant, &pPlusImplant, &contact, &metal1, &via, &metal2, &oxidePad, &nitridePad ]]