CMosObjectsImpl.mesa (part of ChipNDale)
Copyright © 1983, 1985 by Xerox Corporation. All rights reserved.
by Christian Jacobi, May 3, 1983 11:22 am
last edited by Christian Jacobi, July 2, 1985 5:28:32 pm PDT
DIRECTORY
CMos,
CMosObjects,
CDAtomicObjects,
CD;
CMosObjectsImpl: CEDAR PROGRAM
IMPORTS CDAtomicObjects, CMos
EXPORTS CMosObjects =
BEGIN
SDiff: PROC[l: CD.Layer] RETURNS [CD.Layer] =
BEGIN
SELECT l FROM
CMos.wpdif, CMos.wndif, CMos.pdif, CMos.ndif => RETURN [l];
ENDCASE => RETURN [CMos.wpdif]
END;
XDiff: PROC[l: CD.Layer] RETURNS [CD.Layer] =
BEGIN
SELECT l FROM
CMos.wpdif, CMos.wndif, CMos.pdif, CMos.ndif, CMos.nwellCont, CMos.pwellCont => RETURN [l];
ENDCASE => RETURN [CMos.wpdif]
END;
CreatePolyCon: PUBLIC PROC [] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CSimpleCon, [0, 0], CMos.cmos, CMos.pol]];
END;
CreateDifCon: PUBLIC PROC [difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CSimpleCon, [0, 0], CMos.cmos, XDiff[difLayer]]];
END;
CreateDifShortCon: PUBLIC PROC [difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CDifShortCon, [0, 0], CMos.cmos, SDiff[difLayer]]];
END;
CreateButCon: PUBLIC PROC [difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CButtingCont, [0, 0], CMos.cmos, SDiff[difLayer]]];
END;
CreateMmCon: PUBLIC PROC [] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CVia, [0, 0], CMos.cmos]];
END;
CreateTransistor: PUBLIC PROC [size: CD.Position, difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CTrans, size, CMos.cmos, XDiff[difLayer]]];
END;
CreateAngleTransistor: PUBLIC PROC [size: CD.Position, difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$CLTrans, size, CMos.cmos, XDiff[difLayer]]];
END;
END.