<> <> <> <> DIRECTORY CD USING [Position, Object, Layer, undefLayer]; CMosBObjects: CEDAR DEFINITIONS = BEGIN undef: CD.Layer = CD.undefLayer; <<--minimal size contacts>> CreatePolyCon: PROC [] RETURNS [CD.Object]; CreateDifCon: PROC [difLayer: CD.Layer_undef] RETURNS [CD.Object]; CreateVia: PROC [] RETURNS [CD.Object]; CreateDifShortCon: PROC [difLayer: CD.Layer_undef] RETURNS [CD.Object]; <<--large contacts>> CreateLargePolyCon: PROC [sz: CD.Position] RETURNS [CD.Object]; CreateLargeDifCon: PROC [sz: CD.Position, difLayer: CD.Layer_undef] RETURNS [CD.Object]; CreateLargeVia: PROC [sz: CD.Position] RETURNS [CD.Object]; <<--transistors>> CreateTransistor: PROC [size: CD.Position, difLayer: CD.Layer_undef] RETURNS [CD.Object]; CreateAngleTransistor: PROC [size: CD.Position, difLayer: CD.Layer_undef] RETURNS [CD.Object]; <<--Creates angle transistor of minimal width>> <<>> <<--All create procedures may (or may not) create references to>> <<--the same object. Therefore consider the contact objects as >> <<--readonly. If an object needs to be modified create a new one!>> END.