TNT.mesa
Copyright Ó 1985, 1987 by Xerox Corporation. All rights reserved.
Giordano Bruno Beretta, October 17, 1985 4:37:14 pm PDT
gbb March 28, 1987 6:19:22 pm PST
The neighbourhood table
TNT: TYPE = REF TNTRep; -- The Neighbourhood Table.
TNTRep: TYPE;
InitTNT:
PROC
RETURNS [t:
TNT];
To be called for each design rule check.
BlowTNT:
PROC [t:
TNT];
To be called after each design rule check.
RememberTNT:
PROC [t:
TNT, o1, o2:
CD.Object, t1, t2:
CD.Transformation, a1, a2: Core.Wire];
Puts the two objects in the neighbourhood table.
InTNT:
PROC [t:
TNT, o1, o2:
CD.Object, t1, t2:
CD.Transformation, a1, a2: Core.Wire]
RETURNS [
BOOL];
Asserts that a combination of two cells was already checked.
UpdateTNT:
PUBLIC
PROC [t:
TNT, o1, o2:
CD.Object, t1, t2:
CD.Transformation, a1, a2: Core.Wire]
RETURNS [wasThere:
BOOL];
Asserts that a combination of two cells was already checked. The new combination is remembered.
SweepTNT:
PROC [t:
TNT]
If the neighbourhood table is almost full and sufficient time has elapsed, the entries never accessed are removed from the table. To be called periodically by the main Core traversal mechanism.