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
DIRECTORY Core;
CoreMapFunction: CEDAR DEFINITIONS = BEGIN OPEN Core;
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: ROPENIL, publicWire: Wire, args: MapFnCellType] RETURNS [cellType: CellType];
Print: PROC [cell: MapFnCellType, out: STREAM];
END.