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.