PWCoreRoute.mesa
Copyright © 1985 by Xerox Corporation. All rights reversed.
Bertrand Serlet, June 6, 1986 2:41:08 pm PDT
Louis Monier June 14, 1986 5:13:00 pm PDT
DIRECTORY
Core,
PWCore USING [LayoutProc],
PWRoute USING [WireWidthProc];
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;
ROPE: TYPE = Core.ROPE;
Properties: TYPE = Core.Properties;
technologyKey: ATOM;
Channel routing
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: LIST OF Wire ← 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
wireWidthProc: PWRoute.WireWidthProc ← NIL-- allows specifying the size of nets
];
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.
GndAndVdd25Met2MinWidth: PWRoute.WireWidthProc;
END.