CoreMapFunction.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Monier, September 18, 1985 2:05:22 pm PDT
Louis Monier September 18, 1985 5:12:12 pm PDT
Theory
This interface describes the structuring mechanism which takes a collection of cell instances of different types and binds them together. Very graphical, nobody can figure out what to do with the netlist in general.
Practice
XYFn: TYPE = PROC[x, y: INT, args: MapFnCellType] RETURNS [index: NAT]; -- index in the list of possible cells
mapFnCellClass: CellClass;
MapFnCellType: TYPE = REF MapFnCellTypeRec;
MapFnCellTypeRec:
TYPE =
RECORD [
lx, ux, ly, uy: INT ← 0,
xyFn: XYFn,
cells: SEQUENCE length: NAT OF CellType
];
Create:
PROC [name:
ROPE ←
NIL, publicWire: Wire, args: MapFnCellType]
RETURNS [cellType: CellType];
Print: PROC [cell: MapFnCellType, out: STREAM];