SCUtil.mesa ///StdCell/SCUtil.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
by Bryan Preas August 29, 1985 2:48:22 pm PDT
last edited by Bryan Preas August 29, 1985 2:48:27 pm PDT
DIRECTORY
Basics,
List,
Rope,
RTBasic,
SC,
SCPrivate;
SCUtil: CEDAR DEFINITIONS =
BEGIN
GetNumberProp: PROC [properties: SC.PropList, key: ATOM, default: SC.Number] RETURNS [SC.Number];
Search for property key. If found return value else return default.
PutNumberProp: PROC [properties: SC.PropList, key: ATOM, number: SC.Number] RETURNS [SC.PropList];
Put key and number on properties.
XYToPQ: PROC [handle: SC.Handle, pos: SC.Pos] RETURNS [pqPos: RTBasic.PQPos];
convert a position from x-y to p-q space.
PQToXY: PROC [handle: SC.Handle, pqPos: RTBasic.PQPos] RETURNS [pos: SC.Pos];
convert a position from p-q to x-y space.
SimpleCompare: PROCEDURE [result1, result2: SC.Number]
RETURNS [result: Basics.Comparison];
FindPin: PROCEDURE [object: SCPrivate.Object, pinName: Rope.ROPE] RETURNS [pin: SCPrivate.ObjectPin ← NIL];
FindNet: PROCEDURE [handle: SC.Handle, netName: Rope.ROPE] RETURNS [net: SCPrivate.Net ← NIL];
FindObject: PROCEDURE [handle: SC.Handle, objectName: Rope.ROPE] RETURNS [object: SCPrivate.Object ← NIL];
FindInstance: PROCEDURE [handle: SC.Handle, instanceName: Rope.ROPE] RETURNS [instance: SCPrivate.Instance ← NIL];
FindBus: PROCEDURE [handle: SC.Handle, busName: Rope.ROPE] RETURNS [bus: SCPrivate.AcBus ← NIL];
IsPowerName: PROCEDURE [handle: SC.Handle, name: Rope.ROPE] RETURNS [found: BOOLEANFALSE];
IsPadType: PROCEDURE [object: SCPrivate.Object] RETURNS [isPad: BOOLEANFALSE] = INLINE {RETURN[object.typeClass = io]};
translate: PUBLIC ARRAY SC.Side OF ARRAY SCPrivate.OrientationOrNone OF SC.Side;
SideTranslate: PROCEDURE [side: SC.Side, orien: SCPrivate.OrientationOrNone] RETURNS [SC.Side] = INLINE {RETURN[translate[side][orien]]};
WriteResults: PROCEDURE [title: Rope.ROPE, handle: SC.Handle, startArea: SC.Number] RETURNS [area: SC.Number];
WriteStructure: PROCEDURE [handle: SC.Handle];
END.