CMosBObjectsImpl.mesa (part of ChipNDale)
Copyright © 1983, 1985 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, May 3, 1983 11:22 am
Last edited by: Christian Jacobi, September 18, 1986 3:06:36 pm PDT
DIRECTORY
CMosB,
CMosBObjects,
CDAtomicObjects,
CD;
CMosBObjectsImpl: CEDAR PROGRAM
IMPORTS CDAtomicObjects, CMosB
EXPORTS CMosBObjects =
BEGIN
SDiff: PROC[l: CD.Layer] RETURNS [CD.Layer] =
BEGIN
SELECT l FROM
CMosB.wpdif, CMosB.wndif, CMosB.pdif, CMosB.ndif => RETURN [l];
ENDCASE => RETURN [CMosB.wpdif]
END;
XDiff: PROC[l: CD.Layer] RETURNS [CD.Layer] =
BEGIN
SELECT l FROM
CMosB.wpdif, CMosB.wndif, CMosB.pdif, CMosB.ndif, CMosB.nwellCont, CMosB.pwellCont => RETURN [l];
ENDCASE => RETURN [CMosB.wpdif]
END;
CreatePolyCon: PUBLIC PROC [] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2SimpleCon, [0, 0], CMosB.cmosB, CMosB.pol]];
END;
CreateDifCon: PUBLIC PROC [difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2SimpleCon, [0, 0], CMosB.cmosB, XDiff[difLayer]]];
END;
CreateDifShortCon: PUBLIC PROC [difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2DifShortCon, [0, 0], CMosB.cmosB, SDiff[difLayer]]];
END;
CreateVia: PUBLIC PROC [] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2Via, [0, 0], CMosB.cmosB]];
END;
CreateTransistor: PUBLIC PROC [size: CD.Position, difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2Trans, size, CMosB.cmosB, XDiff[difLayer]]];
END;
CreateAngleTransistor: PUBLIC PROC [size: CD.Position, difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2LTrans, size, CMosB.cmosB, XDiff[difLayer]]];
END;
CreateLargePolyCon: PUBLIC PROC [sz: CD.Position] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2LargeSimpleCon, sz, CMosB.cmosB, CMosB.pol]];
END;
CreateLargeDifCon: PUBLIC PROC [sz: CD.Position, difLayer: CD.Layer] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2LargeSimpleCon, sz, CMosB.cmosB, XDiff[difLayer]]];
END;
CreateLargeVia: PUBLIC PROC [sz: CD.Position] RETURNS [CD.Object] =
BEGIN
RETURN [CDAtomicObjects.CreateAtomicOb[$C2LargeVia, sz, CMosB.cmosB]];
END;
END.