MC.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Created by: Sindhu, June 22, 1985 2:57:33 pm PDT
Last Edited by: Sindhu, July 10, 1985 7:56:59 pm PDT
DIRECTORY
CD, PW, PWPins, Rope;
MC: CEDAR DEFINITIONS =
BEGIN
nLines: INT;    -- number of lines in Map Cache (must be even)
nCamColumns: INT;
nRamColumns: INT;
nEntriesPerLine: INT;
VddRingWidth, GndRingWidth: INT;
Coordinate conversion routines
CellToIR: PUBLIC PROC [cellpos: CD.Position, obj: CD.ObPtr] RETURNS [irpos: CD.Position];
IRToCell: PUBLIC PROC [irpos: CD.Position, obj: CD.ObPtr] RETURNS [cellpos: CD.Position];
SelectPinProc: TYPE = PROC [pin: CD.ApplicationPtr] RETURNS [sel: BOOL];
SelectAll: SelectPinProc;
Utility Routines
IndexedName: PROC [name: Rope.ROPE, index: INT] RETURNS [Rope.ROPE];
TTYOut: PROC [r1, r2, r3, r4, r5, r6: Rope.ROPENIL];
Generation Primitives
CreateFillerCell: PROC [design: CD.Design, size: CD.Position] RETURNS [result: PW.ObPtr];
This procedure extends the top obj by distance using the layer of selected pins. The selection is performed by selectPinProc.
TopFillerCell: PROC [design: CD.Design, obj: PW.ObPtr, fillDist: INT, selectPinProc: SelectPinProc ← SelectAll] RETURNS [result: PW.ObPtr];
LeftFillerCell: PROC [design: CD.Design, obj: PW.ObPtr, fillDist: INT, selectPinProc: SelectPinProc ← SelectAll] RETURNS [result: PW.ObPtr];
RightFillerCell: PROC [design: CD.Design, obj: PW.ObPtr, fillDist: INT, selectPinProc: SelectPinProc ← SelectAll] RETURNS [result: PW.ObPtr];
MakeBusX: PROC [design: CD.Design, layer: CD.Layer, names: LIST OF Rope.ROPE, wireLength, wireThickness, wireSeparation: INT] RETURNS [result: PW.ObPtr];
MakeBusY: PROC [design: CD.Design, layer: CD.Layer, names: LIST OF Rope.ROPE, wireLength, wireThickness, wireSeparation: INT] RETURNS [result: PW.ObPtr];
This procedure connects pins on the top edge of obj to corresponding wires of bus. The correspondence used is name equality.
ConnectTopToBus: PROC [design: CD.Design, obj: PW.ObPtr, bus: PW.ObPtr] RETURNS[result: PW.ObPtr];
ConnectBotToBus: PROC [design: CD.Design, obj: PW.ObPtr, bus: PW.ObPtr] RETURNS[result: PW.ObPtr];
ConnectRightToBus: PROC [design: CD.Design, obj: PW.ObPtr, bus: PW.ObPtr] RETURNS[result: PW.ObPtr];
ConnectLeftToBus: PROC [design: CD.Design, obj: PW.ObPtr, bus: PW.ObPtr] RETURNS[result: PW.ObPtr];
END.