SXCMosBasicRules.mesa: Set of Spinifex design rules that may be of interest to the outside world
Copyright c 1985 by Xerox Corporation. All rights reserved.
Written by Beretta, May 20, 1985 1:48:51 pm PDT
Last edited by: gbb November 5, 1985 5:35:10 pm PST
Bowers, September 13, 1985 10:38:34 am PDT
DIRECTORY
CD USING [Number],
CMos USING [lambda]
;
SXCMosBasicRules: CEDAR DEFINITIONS
= BEGIN
ndif layer
ndifSpacing: CD.Number = 3 * CMos.lambda; -- n-Diffusion spacing
ndifUncSubtrContSpacing: CD.Number = 3 * CMos.lambda; -- n-Diffusion/unconnected p-substrate-contact spacing
ndifWidth: CD.Number = 2 * CMos.lambda; -- n-Diffusion width
ndifInnWell: CD.Number = 0 * CMos.lambda; -- n-Diffusion in n-Well
ndifpSubstrCont: CD.Number = 0 * CMos.lambda; -- n-Diffusion and p-substrate-contact
ndifChanBurContSpacing: CD.Number = 2 * CMos.lambda; -- channel/buried-contact spacing
ndifBurContChanSpacing: CD.Number = 2 * CMos.lambda; -- buried-contact/channel spacing
pdif layer
pdifSpacing: CD.Number = 3 * CMos.lambda; -- p-Diffusion spacing
pdifUncnWellSpacing: CD.Number = 3 * CMos.lambda; -- p-Diffusion/unconnected n-Well-contact spacing
pdifWidth: CD.Number = 2 * CMos.lambda; -- p-Diffusion width
pdifnWellCont: CD.Number = 0 * CMos.lambda; -- p-Diffusion and n-Well-contact
pol layer
polSpacing: CD.Number = 2 * CMos.lambda; -- Poly spacing
polWidth: CD.Number = 2 * CMos.lambda; -- Poly width
polUncDifSpacing: CD.Number = 1 * CMos.lambda; -- Poly/unconnected Diffusion spacing
polDiffUncPolySpacing: CD.Number = 1 * CMos.lambda; -- Diffusion/unconnected Poly spacing
polOverDiff: CD.Number = 0 * CMos.lambda; -- Poly over Diffusion
polBuriedExtension: CD.Number = 0 * CMos.lambda; -- Insufficient Buried extension over Diffusion
met layer
metSpacing: CD.Number = 3 * CMos.lambda; -- Metal spacing
metWidth: CD.Number = 3 * CMos.lambda; -- Metal width
metCutViaSpacing: CD.Number = 0 * CMos.lambda; -- Cut to Via spacing
metCutCutSpacing: CD.Number = 2 * CMos.lambda; -- Cut to Cut spacing
m2 layer
m2Spacing: CD.Number = 4 * CMos.lambda; -- Metal 2 spacing
m2Width: CD.Number = 4 * CMos.lambda; -- Metal 2 width
These numbers are half of the actual minimum distances we are checking for.
difSep: CD.Number = 3 * CMos.lambda / 2;
nDifToWell: CD.Number = 5 * CMos.lambda;
nDifLayerSep: CD.Number = MAX[difSep, nDifToWell - difSep];
difToPolExtSep: CD.Number = 0;
polSep: CD.Number = CMos.lambda;
metSep: CD.Number = 3 * CMos.lambda / 2;
m2Sep: CD.Number = 2 * CMos.lambda;
difToPolSep: CD.Number = difToPolExtSep + polSep; -- not halved!
contactWidth: CD.Number = 4 * CMos.lambda;
END.