CMosBObjectsImpl.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, October 16, 1985 12:16:03 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.