CoreBlock.mesa
Created by Don Curry, February 1, 1986 2:43:22 pm PST
Edited by Don Curry, October 9, 1986 8:48:56 pm PDT
Sides: TYPE = MACHINE DEPENDENT {none(0), bottom(1), right(2), top(4), left(8), all(15)};
SidesToWord: PROC[side: Sides] RETURNS[word: WORD];
SidesFmWord: PROC[word: WORD] RETURNS[side: Sides];
OtherSide: PROC[side: Sides] RETURNS[Sides];
AddSide: PROC[new, old: Sides] RETURNS[Sides];
DelSide: PROC[new, old: Sides] RETURNS[Sides];
OnSide: PROC[new, old: Sides] RETURNS[BOOL];
GetInstSideLocSize:
PROC[ob:
CD.Object, inst:
CD.Instance]
RETURNS [side: Sides, loc, size: INT];
DeletePseudoPublics: PROC [cell: Core.CellType];
MarkSides: PROC[cell: Core.CellType, cap: Sides ← none];
MergeSides: PROC[cell: Core.CellType];
GetCellSide: PROC[cell: Core.CellType] RETURNS[side: Sides];
PutCellSide: PROC[cell: Core.CellType, side: Sides];
GetWireSide: PROC[wire: Core.Wire] RETURNS[side: Sides];
PutWireSide: PROC[wire: Core.Wire, side: Sides];
AddWireSide: PROC[wire: Core.Wire, side: Sides] RETURNS[sameWire: Core.Wire];
DelWireSide: PROC[wire: Core.Wire, side: Sides] RETURNS[sameWire: Core.Wire];
MergeCell: PROC[cellType: Core.CellType];
AbutCellList:
PROC[
name: Core.ROPE,
first: Sides,
cellTypes:
LIST
OF Core.CellType]
RETURNS [cellType: Core.CellType];
END.