CCDUtils.mesa
Copyright c 1985 by Xerox Corporation. All rights resersed.
Last Edited by: Curry, October 7, 1986 5:08:46 pm PDT
DIRECTORY CD, Core, IO, CoreGeometry, PWC, Rope;
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.NWMMLNIL];   -- 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: REFNIL];
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.