Sch.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Louis Monier February 13, 1986 3:44:51 pm PST
Barth, April 17, 1986 11:15:16 am PST
DIRECTORY Core, Ports, Rosemary, Sisyph;
Sch: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE = Core.ROPE;
CellType: TYPE = Core.CellType;
Wire: TYPE = Core.Wire;
Context: TYPE = Sisyph.Context;
XorY: TYPE = {X, Y, RX, RY};
Sch:
PROC [cx: Context, name:
ROPE];
Icon:
PROC [cx: Context, name:
ROPE]
RETURNS [ct: CellType];
Orient:
PROC [cx: Context, atom:
ATOM]
RETURNS [ct: CellType];
$FlipX, $FlipY, $Rot90, $Rot180, $Rot270
CSeq:
PROC [cx: Context, count:
NAT, dir: XorY]
RETURNS [ct: CellType];
WSeq:
PROC [name:
ROPE ←
NIL, size:
NAT]
RETURNS [wire: Wire];
WRange:
PROC [name:
ROPE, start:
NAT, size:
NAT]
RETURNS [wire: Wire];
WIndex:
PROC [name:
ROPE, index:
NAT]
RETURNS [wire: Wire];
InitPort:
PROC [cx: Context, initType: Ports.PortType ← b, initDrive: Ports.Drive ← none];
TSize:
PROC [cx: Context, size: Rosemary.TransistorSize];
SetWire:
PROC [cx: Context, level: Ports.Level ← L, size: Rosemary.WireSize ← charge];
END.