Nodeness.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Bruce Wagar August 15, 1987 1:10:57 pm PDT
Interface for the wire connectivity programs.
DIRECTORY
Bagness, Core, CoreGeometry, Rope;
Nodeness: CEDAR DEFINITIONS
= PUBLIC BEGIN
CellType: TYPE = Core.CellType;
Wire: TYPE = Core.Wire;
Wires: TYPE = Core.Wires;
Decoration: TYPE = CoreGeometry.Decoration;
TouchProc: TYPE = CoreGeometry.TouchProc;
Transformation: TYPE = CoreGeometry.Transformation;
ROPE: TYPE = Rope.ROPE;
Bag: TYPE = Bagness.Bag;
Bags: TYPE = Bagness.Bags;
BagList: TYPE = Bagness.BagList;
Bagness Procs
The bagness information is stored on a CellType public wire under the property $Bagness, but only when it is nontrivial (i.e., the wire is disconnected).
For each such wire, it contains a list of bags of the pins that comprise that wire.
Nodeness Procs
The nodeness information is stored on a CellType under the property $Nodeness.
It is unique for each (Decoration, TouchProc) pair, and consists of a list of the disconnected public wires of the cell.
NodenessProc: TYPE = PROC [decoration: Decoration, touch: TouchProc, cell: CellType] RETURNS [nodeness: Wires ← NIL];
InternalDisconnection: SIGNAL [decoration: Decoration, touch: TouchProc, cell: CellType, wire: Wire];
GetNodeness: NodenessProc;
Returns the nodeness of cell, caching the information if necessary.
END.