CCDUtils:
CEDAR
DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
CellType: TYPE = Core.CellType;
Side: TYPE = CoreGeometry.Side;
SidePinList:
PROC [cellType: CellType, side: Side]
-- alt version of PWC.SidePinList
RETURNS [list: LIST OF PWC.NWMML ← NIL]; -- sorted by min, max, name, wire, layer
ListNWMMLs: PROC[lst: LIST OF PWC.NWMML, log: IO.STREAM];
ListUniqueSignals: PROC[first: Side, cell0, cell1: CellType, log: REF ← NIL];
ObjName: PROC[obj: CD.Object] RETURNS[name: ROPE];
ObjSize: PROC[obj: CD.Object] RETURNS[size: CD.Position];
Layout: PROC[ct: CellType] RETURNS[obj: CD.Object];
CellInDesign: PROC[cell: CD.Object, design: CD.Design] RETURNS[BOOL];
BlankCell: PROC[size: CD.Position] RETURNS[cell: CellType];
BlankObj: PROC[size: CD.Position] RETURNS[cell: CD.Object];
DrawX: PROC[obj0, obj1, obj2, obj3, obj4: CD.Object ← NIL];
DrawY: PROC[obj0, obj1, obj2, obj3, obj4: CD.Object ← NIL];
ShowModule: PROC[name: ROPE, design: CD.Design ← NIL];
OrnateFrame: PROC[cell: CellType, design: CD.Design←NIL] RETURNS [obj: CD.Object];
ScaledText:
PROC[text:
ROPE, box:
CD.Position, layer:
CD.Layer, design: CD.Design←NIL]
RETURNS[cell: CD.Object];
AddRet: PROC[cell: CD.Object, size: CD.Position, loc: CD.Position, level: CD.Layer];
PutPin: PROC[cell: CD.Object, size, loc: CD.Position, level: CD.Layer, name: ROPE] ;
PinNameProc: TYPE = PROC[pin: CD.Instance, side: Side] RETURNS[name: ROPE];
RenamePins: PROC[
object: CD.Object,
pinNameProc: PinNameProc]
RETURNS [newObject: CD.Object];
Technology specific
cmos: READONLY CD.Technology;
lambda: INT;
topTail: INT;
leftTail: INT;
rightTail: INT;
botTail: INT;
pwrW: INT;
metW: INT;
metPitch: INT;
met2W: INT;
met2Pitch: INT;
polW: INT;
polPitch: INT;
polMuxPitch: INT;
difW: INT;
cnctSize: INT;
cmosNDif: CD.Layer;
cmosPDif: CD.Layer;
cmosWPDif: CD.Layer;
cmosWNDif: CD.Layer;
cmosPoly: CD.Layer;
cmosMet: CD.Layer;
cmosMet2: CD.Layer;
cmosNWCont: CD.Layer;
cmosPWCont: CD.Layer;
cmosNWell: CD.Layer;
TransistorObject: PROC[size: CD.Position, difLayer: CD.Layer] RETURNS[trans: CD.Object];
Contact: PROC[layer: CD.Layer] RETURNS[cntc: CD.Object];
END.