CMosCMContacts.mesa (part of ChipNDale)
Copyright © 1983, 1986 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi May 3, 1983 11:22 am
Last edited by: Christian Jacobi, October 17, 1986 1:37:36 pm PDT
DIRECTORY
CD USING [Number, Object, Layer, undefLayer];
CMosCMContacts: CEDAR DEFINITIONS =
BEGIN
ContactType: TYPE = {burr, mDif, difShort, butt, mPol, mm2};
--burr, mDif, butt contacts can be characterized by the layer of their diffusion
--(ndif, pdif, nwelCont, pwelCont)
--difShort contacts can also be characterized by the layer of their diffusion,
--but only (ndif, pdif) are allowed
ContactPtr: TYPE = REF ContactRec;
ContactRec: TYPE = RECORD [
typ: ContactType,
wExt: CD.Number ← 0,
lExt: CD.Number ← 0
];
CreatePolyCon: PROC [l: CD.Number] RETURNS [CD.Object];
CreateDifCon: PROC [l: CD.Number, difLev: CD.Layer←CD.undefLayer] RETURNS [CD.Object];
CreateDifShortCon: PROC [difLev: CD.Layer←CD.undefLayer] RETURNS [CD.Object];
CreateButCon: PROC [difLev: CD.Layer←CD.undefLayer] RETURNS [CD.Object];
CreateBurCon: PROC [w, l: CD.Number, wex: CD.Number𡤀, lex: CD.Number𡤀, difLev: CD.Layer←CD.undefLayer] RETURNS [CD.Object];
CreateMmCon: PROC [l: CD.Number, wex: CD.Number𡤀, lex: CD.Number𡤀] RETURNS [CD.Object];
--All create procedures may (or may not) create references to
--the same object. Therefore consider the contact objects as
--readonly. If a contact needs to be modified create a new one!
END.