DIRECTORY SC, SCPrivate; SCPlaceUtil: CEDAR DEFINITIONS = BEGIN PutLgRow: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, row: SCPrivate.MaxRowSr, orien: SCPrivate.OrientationOrNone _ 0]; PutLgPos: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, row: SCPrivate.MaxRowSr, pos: SCPrivate.MaxPosSr, orien: SCPrivate.OrientationOrNone _ 0]; ExchPosRow: PROCEDURE[handle: SC.Handle, index1, index2: SCPrivate.MaxPosSr, row: SCPrivate.MaxRowSr]; RemvLgComp: PROCEDURE [handle: SC.Handle, instance: SCPrivate.Instance]; PutBpSide: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, side: SC.SideOrNone, orien: SCPrivate.OrientationOrNone _ 0]; PutBpPos: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance, side: SC.Side, pos: SCPrivate.MaxPosSr, orien: SCPrivate.OrientationOrNone _ 0]; ExchPosSide: PROCEDURE [handle: SC.Handle, index1,index2: SCPrivate.MaxPosSr, side: SC.Side]; RemvBpComp: PROCEDURE[handle: SC.Handle, instance: SCPrivate.Instance]; WriteCurPlace: PUBLIC PROCEDURE [handle: SC.Handle]; ClrCurPlac: PROCEDURE[handle: SC.Handle, initPrePlace: BOOLEAN]; CheckPlace: PUBLIC PROCEDURE[handle: SC.Handle]; END. Èfile ///StdCell/SCPlaceUtil.mesa placement utility routines -- PutLgRow - put component in row and position -- ExchPosRow - exchange components in positions index1 and index2 -- RemvLgComp - remove a logic instance from current placement -- PutBpSide - add a bp instance to a side -- PutBpPos - -- ExchPosSide - exchange components in positions index1 and index2 -- RemvBpComp - remove a bp instance from current placement -- WriteCurPlace - write the current placement -- ClrCurPlac - clear the current placement -- CheckPlace -- check the placement consistancy add a logic instance to a row exchange components in positions index1 and index2 remove a logic instance from current placement add a bp instance to a side exchange components in positions index1 and index2 remove a bp instance from current placement write the current placment on the terminal clear the current placement in preparation for reinitialization check the placement consistancy ÊݘJšœ ™ J˜Jšœ™JšœÏnœ$™/Jšœ œ5™BJšœ œ1™>Jšœ œ™*Jšœœ™Jšœ œ5™CJšœ œ.™;Jšœ œ™.Jšœ œ™+Jšœ œ#™0J™J˜šÏk ˜ Jšœ˜Jšœ ˜ J˜—šœ žœž œ˜ J˜Jšž˜J˜Jšœ™šœž œs˜†J˜—šœž œŒ˜ŸJ˜—Jšœ3™3š œž œQ˜fJ˜—Jšœ/™/š œž œ3˜HJ˜—Jšœ™š œž œo˜ƒJ˜—šœž œ‚˜•J˜—Jšœ3™3š œž œH˜^J˜—Jšœ,™,Jš œž œ2˜GJ˜Jšœ*™*Jš œžœž˜4J˜Jšœ@™@Jš œž œ+˜@J˜J™Jš œžœž œ˜1Jšžœ˜J˜——…—˜ =