PWCoreRoute.mesa
Copyright © 1985 by Xerox Corporation. All rights reversed.
Bertrand Serlet, October 13, 1986 5:42:30 pm PDT
Louis Monier June 14, 1986 5:13:00 pm PDT
Last Edited by: Louis Monier February 16, 1987 0:44:24 am PST
DIRECTORY
Core,
PWCore USING [LayoutProc];
PWCoreRoute provides the types and functions to interface routers into PWCore world.
PWCoreRoute: CEDAR DEFINITIONS = BEGIN
Basics
CellType: TYPE = Core.CellType;
Wire: TYPE = Core.Wire;
Wires: TYPE = Core.Wires;
ROPE: TYPE = Core.ROPE;
Properties: TYPE = Core.Properties;
technologyKey: ATOM;
Channel routing
-- The width of a wire is specified as the property $w on the wire; default value is the default for this material
ChannelData: TYPE = REF ChannelDataRec;
ChannelDataRec: TYPE = RECORD [
inX: BOOL,         -- Channel in X is used with an AbutX
extend: BOOLFALSE,      -- provokes automatic stretch to match the height (resp. width)
extendTopOrRight: BOOLTRUE,   -- when extension takes place, precise side of the extension
bottomOrLeftWires, topOrRightWires: Wires ← NIL,   -- Indicate the order in which those wires appear at the bottom and top. Might be structured, but then only atomic wires are taken into account. All atomic wires must be part of the internal of the cell.
trunkLayer: ROPE, -- from side to side, vertical for a channel in X, "poly", "metal" or "metal2"
branchLayer: ROPE,-- from ct to ct, horizontal for a channel in X
totalWidth: INT ← 0  -- width of channel plus objects, in lambdas; 0 means minimum size
];
Corresponding layoutAtom registered in PWCore $Channel
Channel: PWCore.LayoutProc;
Assumes that parameters (of type ChannelData) are given under the property $ChannelData. Supposes that the cellType is a recordCell with 2 instances, that are considered to be left and right if the channel is in X, bottom or top otherwise.
END.