DIRECTORY SC, SCPrivate; SCWidthUtil: CEDAR DEFINITIONS = BEGIN maxWireSegs: NAT = 2000; MaxWireSegsSr: TYPE = NAT[1 .. maxWireSegs]; ZMaxWireSegsSr: TYPE = NAT[0 .. maxWireSegs]; WireSegs: TYPE = REF WireSegsRec; WireSegsRec: TYPE = RECORD [ nWireSegsOnCh: ZMaxWireSegsSr _ 0, segs: ARRAY MaxWireSegsSr OF WireSeg _ ALL[NIL]]; WireSeg: TYPE = REF WireSegRec; WireSegRec: TYPE = RECORD [ pos: SC.Number, endType: SC.Side]; GetChanWidth: PROCEDURE[handle: SC.Handle, rowChan: SCPrivate.RowChan, fom: SCPrivate.FomType, doWidth: BOOLEAN] RETURNS [chanWidth, wireLength: INT]; GetSideWidth: PROCEDURE[handle: SC.Handle, lRSide: SCPrivate.LRSide, fom: SCPrivate.FomType] RETURNS [chanWidth, wireLength: INT]; AllChanWidths: PROCEDURE[handle: SC.Handle, fom: SCPrivate.FomType]; END. .file ///StdCell23/SCWidthUtil.mesa placement utility routines -- GetChanWidth - get width of channel specified -- GetSideWidth - get width of channel on side -- AllChanWidths - find widths of all channels get width of channel specified get width of channel on side find widths of all channels Êœ˜Jšœ"™"J˜Jšœ™JšœÏn œ!™0Jšœ œ™.Jšœ œ™.J™šÏk ˜ Jšœ˜Jšœ ˜ J˜—šœ žœž œ˜ J˜Jšž˜J˜Jšœ žœ˜Jšœžœžœ˜,Jšœžœžœ˜-Jšœ žœžœ ˜!šœ žœžœ˜Jšœ"˜"Jš œžœžœ žœžœ˜1—Jšœ žœžœ ˜šœ žœžœ˜Jšœžœ˜Jšœ žœ˜J˜—Jšœ™š œž œ žœFžœ˜pJšžœžœ˜%J˜—Jšœ™Jš œž œ žœ;žœžœ˜‚J˜Jšœ™Jš œž œ žœ!˜DJ˜Jšžœ˜J˜——…—à