<> <> <> <> 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.