DIRECTORY Rope, SC, SCPrivate; SCRowUtil: CEDAR DEFINITIONS = BEGIN sideName: ARRAY SC.SideOrNone OF Rope.ROPE; FindMaxRow: PROCEDURE [handle: SC.Handle] RETURNS [maxRowWidth: SC.Number, numMaxRows: SCPrivate.ZMaxRowSr]; AuditRowLengths: PROCEDURE[handle: SC.Handle]; ComputeRowHeight: PROCEDURE[handle: SC.Handle, row: SCPrivate.MaxRowSr]; ComputeSideHeight: PROCEDURE[handle: SC.Handle, side: SC.Side]; RowsForInsts: PROCEDURE[insts: SCPrivate.InstanceList] RETURNS [onSide: SCPrivate.SideSet, onRow: SCPrivate.RowSet]; EnumerateRows: PROC [handle: SC.Handle, eachRow: EachRowProc] RETURNS [quit: BOOL]; EachRowProc: TYPE = PROC [row: SCPrivate.MaxRowSr, lgRow: SCPrivate.LgRow] RETURNS [quit: BOOL _ FALSE]; EnumerateSides: PROC [handle: SC.Handle, eachSide: EachSideProc] RETURNS [quit: BOOL]; EachSideProc: TYPE = PROC [side: SC.Side, bpRow: SCPrivate.BpRow] RETURNS [quit: BOOL _ FALSE]; EnumerateAllInstsOnRow: PROC [handle: SC.Handle, row: SCPrivate.MaxRowSr, eachInstance: EachInstProc] RETURNS [quit: BOOL]; EnumerateInstsOnRow: PROC [handle: SC.Handle, row: SCPrivate.MaxRowSr, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc] RETURNS [quit: BOOL]; EnumerateInstsOnRowDecreasing: PROC [handle: SC.Handle, row: SCPrivate.MaxRowSr, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc] RETURNS [quit: BOOL]; EachInstProc: TYPE = PROC [pos: NAT, instance: SCPrivate.Instance] RETURNS [quit: BOOL _ FALSE]; EnumerateAllInstsOnSide: PROC [handle: SC.Handle, side: SC.Side, eachInstance: EachInstProc] RETURNS [quit: BOOL]; EnumerateInstsOnSide: PROC [handle: SC.Handle, side: SC.Side, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc] RETURNS [quit: BOOL]; EnumerateInstsOnSideDecreasing: PROC [handle: SC.Handle, side: SC.Side, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc] RETURNS [quit: BOOL]; END. *file ///StdCell/SCRowUtil.mesa row utility routines find the max row length audit the row lengths compute height of row height is max of component heights on row compute height of side height is max of component heights on side get widths of side or row find rows that these comps are on Κ¦˜Jšœ™J˜Jšœ™šΟk ˜ J˜Jšœ˜Jšœ ˜ J˜—šœ œ œ˜J˜Jš˜š œ œœ œœ˜+J˜—Jšœ™š Οn œ œ œ œœ*˜mJ˜—Jšœ™šžœ œ œ ˜.J˜—Jšœ@™@šžœ œ œœ ˜HJ˜—JšœB™Bšžœ œ œœ˜?J˜—Jšœ™Jšœ"™"šž œ œ˜6Jšœ6˜=J˜—codeš ž œœ œœœ˜TJ˜Kšž œœœœ"œœœ˜hK˜—š žœœ œ!œœ˜WJ˜Kšž œœœœœœœ˜_K˜—š žœœ œœ&œœ˜|K˜—Kš žœœ œœMœœ˜ K˜š žœœ œœMœœ˜ͺJ˜Kšž œœœœ œœœ˜`K˜—Kš žœœ œœ#œœ˜sK˜š žœœ œœJœœ˜—K˜—š žœœ œœJœœ˜‘K˜—Jšœ˜J˜——…—v F